一个用于与讯飞星火认知大模型SparkAPI 交互的 Go 客户端库。
基于spark-ai-go的一个封装,使用起来更加便捷
- 支持讯飞星火大模型 API 的基本调用
- 支持自定义 API 地址和域名参数
- 支持 WebSocket 协议的安全通信 (wss)
- 支持配置API地址和Domain
要使用 SparkAPI 客户端库,请首先使用 go get
命令进行安装:
go get github.com/fruitbars/go-sparkapi
首先需要创建一个记得创建一个 .env
文件,填写如下配置信息:
SPARKAI_URL=wss://spark-api.xf-yun.com/v3.5/chat
SPARKAI_APP_ID=xxx
SPARKAI_API_KEY=xxx
SPARKAI_API_SECRET=xxx
SPARKAI_DOMAIN=generalv3.5
以下是使用此库的一个简单例子:
package main
import (
go_sparkapi "github.com/fruitbars/go-sparkapi"
"github.com/iflytek/spark-ai-go/sparkai/messages"
"log"
)
func testSparkChatSimple(prompt string) {
resp, err := go_sparkapi.SparkChatSimple(prompt)
if err != nil {
return
}
log.Println(resp.GetContent())
}
func testSparkChatSimpleWithCallback(prompt string, callback func(messages.ChatMessage) error) {
resp, err := go_sparkapi.SparkChatSimpleWithCallback(prompt, callback)
if err != nil {
log.Println(err)
return
}
log.Println("完整结果", resp.GetContent())
}
func testSparkChatWithCallback(prompt string, callback func(messages.ChatMessage) error) {
req := go_sparkapi.SparkChatRequest{
Prompt: prompt,
Topk: 4,
Temperature: 0.5,
Maxtokens: 8192,
}
resp, err := go_sparkapi.SparkChatWithCallback(req, callback)
if err != nil {
log.Println(err)
return
}
log.Println("完整结果", resp.GetContent())
}
func main() {
prompt := "你好,大模型!"
//testSparkChatSimple(prompt)
testSparkChatSimpleWithCallback(prompt, func(msg messages.ChatMessage) error {
log.Println(msg.GetType(), msg.GetContent())
return nil
})
testSparkChatWithCallback(prompt, func(msg messages.ChatMessage) error {
log.Println(msg.GetType(), msg.GetContent())
return nil
})
}
更多关于讯飞星火大模型 API 的信息,请参考 星火认知大模型 Web API 文档。
欢迎贡献!如果您有建议或发现了错误,欢迎开启一个拉取请求或问题。
此库根据 MIT 许可证分发,请查看 LICENSE 获取更多信息。