test
这个MCP服务器提供了与阿里云(阿里巴巴云)服务交互的工具。
Eino 是一个用 Golang 编写的 LLM 应用程序开发框架,旨在简化 AI 应用程序的开发流程。
基本使用
直接使用组件
// 创建 LLM 模型实例
model, _ := openai.NewChatModel(ctx, config)
// 生成回复
message, _ := model.Generate(ctx, []*Message{
SystemMessage("你是一个乐于助人的助手。"),
UserMessage("未来的AI应用程序会是什么样子?")
})
编排功能
Eino 提供两种编排 API:
API | 特点 |
---|---|
Chain | 简单的链式有向图,只能向前流动 |
Graph | 循环或非循环有向图,功能强大且灵活 |
Chain 示例
// 创建一个 ChatTemplate 后接 ChatModel 的简单链
chain, _ := NewChain[map[string]any, *Message]().
AppendChatTemplate(prompt).
AppendChatModel(model).
Compile(ctx)
// 调用链
chain.Invoke(ctx, map[string]any{"query": "你的名字是什么?"})
Graph 示例
// 创建图
graph := NewGraph[map[string]any, *schema.Message]()
// 添加节点
_ = graph.AddChatTemplateNode("node_template", chatTpl)
_ = graph.AddChatModelNode("node_model", chatModel)
_ = graph.AddToolsNode("node_tools", toolsNode)
_ = graph.AddLambdaNode("node_converter", takeOne)
// 添加边和分支
_ = graph.AddEdge(START, "node_template")
_ = graph.AddEdge("node_template", "node_model")
_ = graph.AddBranch("node_model", branch)
_ = graph.AddEdge("node_tools", "node_converter")
_ = graph.AddEdge("node_converter", END)
// 编译和调用图
compiledGraph, _ := graph.Compile(ctx)
out, _ := compiledGraph.Invoke(ctx, map[string]any{"query": "北京本周末的天气"})
扩展功能
添加回调
handler := NewHandlerBuilder().
OnStartFn(func(ctx context.Context, info *RunInfo, input CallbackInput) context.Context {
log.Infof("onStart, runInfo: %v, input: %v", info, input)
return ctx
}).
OnEndFn(func(ctx context.Context, info *RunInfo, output CallbackOutput) context.Context {
log.Infof("onEnd, runInfo: %v, out: %v", info, output)
return ctx
}).
Build()
compiledGraph.Invoke(ctx, input, WithCallbacks(handler))
分配选项
// 分配给所有节点
compiledGraph.Invoke(ctx, input, WithCallbacks(handler))
// 仅分配给 ChatModel 节点
compiledGraph.Invoke(ctx, input, WithChatModelOption(WithTemperature(0.5)))
// 仅分配给特定节点
compiledGraph.Invoke(ctx, input, WithCallbacks(handler).DesignateNode("node_1"))
主要特性
- 丰富的组件:封装常见构建块如 ChatModel、Tool、Retriever 等
- 强大的编排:通过图编排实现复杂的业务逻辑
- 完整的流处理:自动处理流数据的拼接、打包、合并和复制
更多详细信息请访问 CloudWeGo 官网。