GolangNote

Golang笔记

ChatGPT Golang 客户端

Permalink

最近 ChatGPT 很火,这是用于 ChatGPI 的 Golang 控制台客户端。

ChatGPT 是一种自然语言处理模型,可以用来实现聊天机器人。客户端通常指的是用于与聊天机器人交互的应用程序。例如,通过客户端,用户可以输入文本,然后聊天机器人将通过文本和语音等方式回复用户。客户端通常包括用户界面,可以让用户浏览消息历史记录,并通过该界面与聊天机器人进行交互。

首先申请 API KEY https://beta.openai.com/account/api-keys

chatgpt 控制台客户端

https://github.com/kkdai/chatgpt

这个库使用了 go-gpt3 库 https://github.com/PullRequestInc/go-gpt3

另一个 gpt3 库 https://github.com/sashabaranov/go-gpt3

PullRequestInc/go-gpt3 简单示例

Go:
1
2
3
4
5
6
7
8
client := gpt3.NewClient(apiKey)
resp, err := client.Completion(ctx, gpt3.CompletionRequest{
    Prompt: []string{"2, 3, 5, 7, 11,"},
})

fmt.Print(resp.Choices[0].Text)
// prints " 13, 17, 19, 23, 29, 31", etc

sashabaranov/go-gpt3 简单示例

Go:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
func main() {
	c := gogpt.NewClient("your token")
	ctx := context.Background()

	req := gogpt.CompletionRequest{
		Model: "ada",
		MaxTokens: 5,
		Prompt:    "Lorem ipsum",
	}
	resp, err := c.CreateCompletion(ctx, req)
	if err != nil {
		return
	}
	fmt.Println(resp.Choices[0].Text)

	searchReq := gogpt.SearchRequest{
		Documents: []string{"White House", "hospital", "school"},
		Query:     "the president",
	}
	searchResp, err := c.Search(ctx, "ada", searchReq)
	if err != nil {
		return
	}
	fmt.Println(searchResp.SearchResults)
}

本文网址: https://golangnote.com/topic/317.html 转摘请注明来源

Related articles

Golang phantomjs 动态代理实现

phantomjs 是个很优秀的软件,虽然现在被chrome headless 抢了风头,但在某些特定场合,使用phantomjs 还是很方便,这里是介绍使用Go 实现动态代理。...

golang共享数据用Mutex 或 Channel

在go 里,多线程对共享数据的操作一般要使用Mutex 或 Channel 来加锁或隔离通信。下面是一个使用Mutex 和 Channel 比较的例子。...

Golang 数据库 Bolt 碎片整理

Bolt 是一个优秀、纯 Go 实现、支持 ACID 事务的嵌入式 Key/Value 数据库。但在使用过程中会有很多空间碎片。一般数据库占用的空间是元数据空间的 1.5~4 倍。Bolt 没有内置的压缩功能,需要手动压缩。...

Golang Range 的性能提升Tip

Go 语言里使用 range 可以方便遍历数组(array)、切片(slice)、字典(map)和信道(chan)。这里主要关注他们的性能。...

Write a Comment to "ChatGPT Golang 客户端"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.22.3 Processed in 0ms