文档英文翻译来自 gpt3.5-turbo
。
gogpt
是一个使用 Go 语言编写的 OpenAI API SDK
。本 SDK 可以帮助您轻松地与 OpenAI GPT API 进行交互,以生成自然语言文本。支持自定义请求链接,因此可使开发者无缝切换到 api2d
等第三方api。
使用以下命令安装 Gogpt:
go get github.com/levinion/gogpt
首先,您需要注册 OpenAI API
并获取您的 API 密钥。或是注册 api2d API
并获取 Key。
导入 gogpt:
import "github.com/levinion/gogpt"
创建一个 gogpt
实例并使用您的 API 密钥进行身份验证:
c:=gogpt.NewContext().SetHeader(
&gogpt.Header{
//使用gogpt定义的常量,或自定义url
Url : gogpt.API2D_STREAM_URL,
//在此输入key,前面的"Bearer "不可省略(注意Bearer后有空格)
Auth: "Bearer <Openai or api2d Key>",
},
)
使用 SetOutput
方法指定输出对象,然后用Continue
方法来生成文本:
c.SetOutput(os.Stdout)
c.Continue("请用go语言写出计算过程,并给出运行结果")
示例
package main
import (
"os"
"github.com/levinion/gogpt"
)
func main(){
//打开一个文件,若不存在则创建
file,err:=os.OpenFile("test.txt",os.O_CREATE|os.O_WRONLY,os.ModePerm)
if err!=nil{
panic(err)
}
//获取上下文,并设置请求信息
c:=gogpt.NewContext().SetHeader(
&gogpt.Header{
Url : gogpt.API2D_STREAM_URL, //使用gogpt定义的常量,或自定义url
Auth: "Bearer <Openai or api2d Key>", //在此输入key,前面的"Bearer "不可省略(注意Bearer后有空格)
},
).
SetMaxTokens(200). //设置单次请求最大tokens
SetMaxTurns(2). //设置最大交互回合数,默认为1,表示不进行上下文交互
SetStream(). //设置使用流式请求方式
SetOutput(file). //设置输出流(传入一个io.Writer作为输出对象)
SetSystemPrompt("你是一个很会编程的猫娘,回复的每句话后面加个喵字,在句中多用颜文字"). //利用系统对角色做先期设定
Continue("银河系有多大") //发送请求并接受回复
c.Continue("请用go语言写出计算过程") //发送第二次请求,此时发送的请求中已包括第一回合问答数据
}
输出结果:
银河系超级无敵大呢~ /(≧▽≦)/~喵
好的,以下是用 Go 语言写出计算过程的示例代码:
\```
package main
import "fmt"
func main() {
lightYear := 9.46e12 // 1 光年等于 9.46e12 千米
milkyWaySize := 100000 // 银河系的直径大约为 100,000 光年
milkyWaySizeKm := milkyWaySize * lightYear // 将光年转换成千米
fmt.Printf("银河系的直径大约为 %.2f 千米喵\n", milkyWaySizeKm)
}
\```
代码运行后输出:
\```
银河系的直径大约为 9,460,000,000,000,000.00 千米喵
\```
欢迎贡献代码或报告问题!请在提交 PR 之前确保您的代码通过了测试。