go快速调用国内各大AI模型

2024-08-27 11:10:22 浏览数 (5)

最近由于多个项目需要调用到国内各大模型,所以造了一个轮子

go-easy-llm

点击 github go-easy-llm 查看更多

一个满足你的调用多种大模型API的轮子,支持目前市面多家第三方大模型,包含ChatGPT、通义千问、文心大模型、混元、盘古、百川智能等; 一套写法兼容所有平台,简单配置即可灵活使用第三方大模型API。

各位大佬们轻点喷

在AI异军突起的时代,我们很多项目都涉及到了AI,其中主要调用API接口。

所以这个轮子的主要目的就是为了解决大家在进行AI开发时,只专注自己的业务,不必关心第三方API的调用。可以快速接入第三方,也可以在项目中快速切换大模型。

目前v.0.0.2版本实现了 go 调用 阿里云通义千问大模型

调用步骤:

安装

代码语言:shell复制
go get github.com/soryetong/go-easy-llm

使用

  1. 添加你自己的配置
代码语言:go复制
config := easyllm.DefaultConfig("your-token", easyai.ChatTypeQWen)

// 第一个参数是你的token, 第二个参数是你的大模型类型

// 可用的大模型, 通过easyai.ChatType***

获取如果需要代理请求

代码语言:go复制
config := easyllm.DefaultConfigWithProxy("your-token", easyai.ChatTypeQWen, "your-proxy-url")
  1. 创建 Chat 客户端client := easyllm.NewChatClient(config)创建客户端可以自定义全局配置
代码语言:go复制
client := easyllm.NewChatClient(config).SetGlobalParams(globalParams)

// 或
client.SetCustomParams(globalParams)

// 两个方法的最终效果都是一样的,设置一个全局的参数
  1. 调用 Chat 模式大模型一次性回复 NormalChat
代码语言:go复制
resp, reply, err := client.NormalChat(context.Background(), &easyai.ChatRequest{
    Model:   easyai.ChatModelQWenTurbo,
    Message: "请介绍一下自己",
})

// resp 为定义的通用类型, `easyai.ChatResponse`
// reply 为大模型返回的文本

流式回复 StreamChat

代码语言:go复制
resp, err := client.StreamChat(context.Background(), &easyai.ChatRequest{
    Model:   easyai.ChatModelQWenTurbo,
    Message: "介绍一下你自己",
})

for content := range resp {
    fmt.Println(content)
}

单元测试

可移步 go-easy-llm 查看

各位大佬们轻点喷, 有改进意见欢迎讨论

0 人点赞