一个满足你的调用多种大模型API的轮子
- 支持目前市面多家第三方大模型
- 一套写法兼容所有平台
- 简单配置即可灵活使用第三方
- 更多等你改进...
-
- 自定义配置
globalParams := new(easyai.QWenParameters)
按需设置参数
- 自定义配置
-
- 自定义配置
globalParams := new(easyai.HunYuanParameters)
按需设置参数 - 腾讯官方建议使用默认参数, 所以可不设置该参数
- 腾讯使用
secretId
、secretKey
进行鉴权, 所以需要使用DefaultConfigWithSecret()
添加配置
- 自定义配置
- go 1.22
go get github.com/soryetong/go-easy-llm
- 添加你自己的配置
config := easyllm.DefaultConfig("your-token", easyai.ChatTypeQWen)
// 第一个参数是你的token, 第二个参数是你的大模型类型
// 可用的大模型, 通过easyai.ChatType*** 获取
如果需要代理请求
config := easyllm.DefaultConfigWithProxy("your-token", easyai.ChatTypeQWen, "your-proxy-url")
如果使用secretId、secretKey
config := easyllm.DefaultConfigWithSecret("your-secretId", "your-secretKey", easyai.ChatTypeHunYuan)
- 创建
Chat
客户端
client := easyllm.NewChatClient(config)
创建客户端可以自定义全局配置
client := easyllm.NewChatClient(config).SetGlobalParams(globalParams)
// 或
client.SetCustomParams(globalParams)
// 两个方法的最终效果都是一样的,设置一个全局的参数
- 调用
Chat
模式大模型
一次性回复
NormalChat
resp, reply, err := client.NormalChat(context.Background(), &easyai.ChatRequest{
Model: easyai.ChatModelQWenTurbo,
Message: "请介绍一下自己",
})
// resp 为定义的通用类型, `easyai.ChatResponse`
// reply 为大模型返回的文本
流式回复
StreamChat
resp, err := client.StreamChat(context.Background(), &easyai.ChatRequest{
Model: easyai.ChatModelQWenTurbo,
Message: "介绍一下你自己",
})
for content := range resp {
fmt.Println(content)
}
ChatRequest.Tips
:提示词,用于引导模型生成更符合要求的答案。- 目前只支持
chat
模式,绘画等功能将在后续完善
- 在unitest目录下有示例代码