From 8e8acb0d0f1aeafc789b244e3ede68f60d4143af Mon Sep 17 00:00:00 2001 From: Megumin Date: Thu, 20 Mar 2025 16:03:13 +0800 Subject: [PATCH] feat: replace deprecated interface --- compose/graph/tool_call_agent/tool_call_agent.go | 2 +- flow/agent/multiagent/host/journal/main.go | 4 ++-- flow/agent/react/react.go | 6 ++++-- .../pkg/tool/einotool/templates/http_agent/main.go | 11 +++++------ 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/compose/graph/tool_call_agent/tool_call_agent.go b/compose/graph/tool_call_agent/tool_call_agent.go index 32f03cc..ae18ba5 100644 --- a/compose/graph/tool_call_agent/tool_call_agent.go +++ b/compose/graph/tool_call_agent/tool_call_agent.go @@ -40,7 +40,7 @@ func main() { ctx := context.Background() - callbacks.InitCallbackHandlers([]callbacks.Handler{&loggerCallbacks{}}) + callbacks.AppendGlobalHandlers(&loggerCallbacks{}) // 1. create an instance of ChatTemplate as 1st Graph Node systemTpl := `你是一名房产经纪人,结合用户的薪酬和工作,使用 user_info API,为其提供相关的房产信息。邮箱是必须的` diff --git a/flow/agent/multiagent/host/journal/main.go b/flow/agent/multiagent/host/journal/main.go index 05fd79e..e22ae1b 100644 --- a/flow/agent/multiagent/host/journal/main.go +++ b/flow/agent/multiagent/host/journal/main.go @@ -98,8 +98,6 @@ func main() { panic(err) } - defer out.Close() - println("\nAnswer:") for { @@ -112,6 +110,8 @@ func main() { print(msg.Content) } + + out.Close() } } diff --git a/flow/agent/react/react.go b/flow/agent/react/react.go index d407b61..3673179 100644 --- a/flow/agent/react/react.go +++ b/flow/agent/react/react.go @@ -87,8 +87,6 @@ func main() { ToolsConfig: compose.ToolsNodeConfig{ Tools: []tool.BaseTool{restaurantTool, dishTool}, }, - - MessageModifier: react.NewPersonaModifier(persona), // StreamToolCallChecker: toolCallChecker, // uncomment it to replace the default tool call checker with custom one }) if err != nil { @@ -110,6 +108,10 @@ func main() { // fmt.Println(msg.String()) sr, err := ragent.Stream(ctx, []*schema.Message{ + { + Role: schema.System, + Content: persona, + }, { Role: schema.User, Content: "我在北京,给我推荐一些菜,需要有口味辣一点的菜,至少推荐有 2 家餐厅", diff --git a/quickstart/eino_assistant/pkg/tool/einotool/templates/http_agent/main.go b/quickstart/eino_assistant/pkg/tool/einotool/templates/http_agent/main.go index 840e920..7368c10 100644 --- a/quickstart/eino_assistant/pkg/tool/einotool/templates/http_agent/main.go +++ b/quickstart/eino_assistant/pkg/tool/einotool/templates/http_agent/main.go @@ -77,7 +77,7 @@ func main() { return } - sr, err := agent.Stream(ctx, msgs) + sr, err := agent.Stream(ctx, append([]*schema.Message{schema.SystemMessage(*prompt)}, msgs...)) if err != nil { c.JSON(consts.StatusInternalServerError, map[string]string{"error": err.Error()}) return @@ -135,7 +135,7 @@ func main() { func NewAgent(ctx context.Context) (*react.Agent, error) { // 初始化模型 - model, err := PrepareModel(ctx) + m, err := PrepareModel(ctx) if err != nil { return nil, err } @@ -148,11 +148,10 @@ func NewAgent(ctx context.Context) (*react.Agent, error) { // 初始化 agent agent, err := react.NewAgent(ctx, &react.AgentConfig{ - Model: model, + Model: m, ToolsConfig: compose.ToolsNodeConfig{ Tools: tools, }, - MessageModifier: react.NewPersonaModifier(*prompt), }) if err != nil { return nil, err @@ -174,11 +173,11 @@ func PrepareModel(ctx context.Context) (model.ChatModel, error) { } func PrepareTools(ctx context.Context) ([]tool.BaseTool, error) { - duckduckgo, err := duckduckgo.NewTool(ctx, &duckduckgo.Config{}) + ddg, err := duckduckgo.NewTool(ctx, &duckduckgo.Config{}) if err != nil { return nil, err } - return []tool.BaseTool{duckduckgo}, nil + return []tool.BaseTool{ddg}, nil } // simple memory can store messages of each conversation