]> git.giacomolli.uk - onechat/blobdiff - compactor.go
Add local context to memory operation failures
[onechat] / compactor.go
index e1014288abb988a88a9a091e5e4261400438dc44..2b062882b18ae0e07dd363f3a8203d2302d28d64 100644 (file)
@@ -56,12 +56,12 @@ func newCompactor(client *ModelClient, instructions func() (string, error), mode
 func (c *Compactor) Summarize(ctx context.Context, task Task) (string, error) {
        text, err := compactorTask(task)
        if err != nil {
-               return "", err
+               return "", fmt.Errorf("prepare compaction task: %w", err)
        }
 
        instructions, err := c.instructions()
        if err != nil {
-               return "", err
+               return "", fmt.Errorf("read compaction instructions: %w", err)
        }
 
        source := task.Context + "\n" + text
@@ -110,7 +110,11 @@ func (c *Compactor) Summarize(ctx context.Context, task Task) (string, error) {
        }
 
        if len(lines) == 0 {
-               return "", err
+               if err != nil {
+                       return "", fmt.Errorf("summarize node: %w", err)
+               }
+
+               return "", nil
        }
 
        return compactorShortest(lines), nil
@@ -125,6 +129,7 @@ func compactorTask(task Task) (string, error) {
 <input>
 %s
 </input>`, task.Index, nodeBytes, compactorRuler, task.Input[0])
+
                if len(task.Images) > 0 {
                        text += "\nKeep each [image FILE] name and describe its kind, visible text, amounts, names, and context."
                }