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

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

go-easy-llm

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

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

各位大佬们轻点喷

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

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

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


调用步骤:

当前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(), &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)
}

单元测试

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

由于没有确切指出调用国内AI模型的具体轮子,以下以通用的思路介绍配置步骤。 #### 安装轮子 通过Go的包管理工具`go get`来安装该轮子,假设该轮子的模块路径为`github.com/someuser/somepackage`,可以使用以下命令: ```go go get github.com/someuser/somepackage ``` #### 获取API密钥 不同的国内大模型如通义千问、文心大模型等,都需要在各自的官方平台上注册账号并申请API密钥,这是调用模型API的必要凭证。 #### 配置API信息 在Go代码中导入该轮子的包,然后设置各个模型的API信息,如API地址、API密钥等。以下是一个简单示例: ```go package main import ( "github.com/someuser/somepackage" ) func main() { // 假设这是配置通义千问的API信息 config := somepackage.Config{ Model: "tongyiqianwen", APIKey: "your-api-key", APIAddress: "https://api.example.com", } client := somepackage.NewClient(config) // 后续可以使用client进行模型调用 } ``` #### 测试调用 完成配置后,可以编写简单的代码来测试是否能够正常调用模型。例如,使用配置好的客户端发送一个简单的请求: ```go package main import ( "fmt" "github.com/someuser/somepackage" ) func main() { config := somepackage.Config{ Model: "tongyiqianwen", APIKey: "your-api-key", APIAddress: "https://api.example.com", } client := somepackage.NewClient(config) response, err := client.SendRequest("你好") if err != nil { fmt.Println("请求出错:", err) return } fmt.Println("模型响应:", response) } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值