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

原创
2024/12/21 11:36
阅读数 98

最近由于多个项目需要调用到国内各大模型,所以进行了一次封装

go-easy-llm

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

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

> 各位大佬们轻点喷

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

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

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

<br>

调用步骤:

当前go版本

  • go 1.22

安装

go get github.com/soryetong/go-easy-llm

使用

  1. 添加你自己的配置
config := easyllm.DefaultConfig("your-token", easyai.ChatTypeQWen)

// 第一个参数是你的token, 第二个参数是你的大模型类型
// 可用的大模型, 通过easyai.ChatType*** 获取

> 如果需要代理请求

config := easyllm.DefaultConfigWithProxy("your-token", easyai.ChatTypeQWen, "your-proxy-url")
  1. 创建客户端
client := easyllm.NewClient(config)

> 创建客户端可以自定义全局配置

client := easyllm.NewClient(config).SetGlobalParams(globalParams)

// 或
client.SetCustomParams(globalParams)

// 两个方法的最终效果都是一样的,设置一个全局的参数
  1. 调用大模型 > 一次性回复 NormalChat
resp, reply, err := client.NormalChat(context.Background(), &amp;easyai.ChatRequest{
    Model:   easyai.ChatModelQWenTurbo,
    Message: "请介绍一下自己",
})
// resp 为定义的通用类型, `easyai.ChatResponse`
// reply 为大模型返回的文本

> 流式回复 StreamChat

resp, err := client.StreamChat(context.Background(), &amp;easyai.ChatRequest{
    Model:   easyai.ChatModelQWenTurbo,
    Message: "介绍一下你自己",
})

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

单元测试

具体详细的单元测试,可移步 go-easy-llm 查看

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部