@@ -26,17 +26,17 @@ type GenerateCmd struct {
26
26
func (cmd * GenerateCmd ) Run (globals * Globals ) error {
27
27
return runagent (globals , func (ctx context.Context , client llm.Agent ) error {
28
28
// Get the model
29
- agent , ok := client .(* agent.Agent )
29
+ a , ok := client .(* agent.Agent )
30
30
if ! ok {
31
31
return fmt .Errorf ("No agents found" )
32
32
}
33
- model , err := agent .GetModel (ctx , cmd .Model )
33
+ model , err := a .GetModel (ctx , cmd .Model )
34
34
if err != nil {
35
35
return err
36
36
}
37
37
38
38
// Create a session
39
- session , err := model .Context (agent .WithStream (! cmd .NoStream ))
39
+ session := model .Context (agent .WithStream (! cmd .NoStream ))
40
40
if err != nil {
41
41
return err
42
42
}
@@ -48,21 +48,23 @@ func (cmd *GenerateCmd) Run(globals *Globals) error {
48
48
return nil
49
49
} else if err != nil {
50
50
return err
51
- } else if err := session .AppendUserPrompt (strings .TrimSpace (input )); err != nil {
52
- return err
53
51
}
54
52
55
- // Ignore empty import
56
- if session .Text () == "" {
53
+ // Ignore empty input
54
+ input = strings .TrimSpace (input )
55
+ if input == "" {
57
56
continue
58
57
}
59
58
60
59
// Feed input into the model
61
- response , err := agent . Generate (ctx , model , session )
60
+ response , err := session . FromUser (ctx , input )
62
61
if err != nil {
63
62
return err
64
63
}
65
64
fmt .Println (response .Text ())
65
+
66
+ // Update session
67
+ session = response
66
68
}
67
69
})
68
70
}
0 commit comments