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 Web 程序生产环境独立部署示例

一个 web 应用通常是跑在一个前端代理,如 Nginx 后,这样可以方便的在同一个服务器部署多个应用。这里说的独立部署是指让 go web 程序直接暴露在外面,独占 443、80 端口(俗称裸跑)。这样做除了性能有些提高外,更重要的是部署方便。...

Golang 单实例实现网站多域名请求

有时候写网站,为了统一的后端,把不同业务都集中到一个后端,这时就需要处理多域名的请求,在 Go http server 里实现很简单,只需把不同域名映射到不同的 `http.Handler`。...

Write a Comment to "ChatGPT Golang 客户端"

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