ChatGPT是一个基于GPT-3.5架构的大型语言模型,由OpenAI进行训练。它可以用来自然语言生成、对话生成、文本摘要、语言翻译、情感分析等多个任务。它通过对大量的语言数据进行学习,能够理解自然语言中的语法、语义和上下文,从而能够以人类类似的方式进行交流和回答问题。
申请API Key
在OpenAI网站(https://openai.com/)上注册一个账户并申请API Key。
我们可以使用这个API Key来访问OpenAI API。
安装 go-openai
go get github.com/sa shabaranov/go-openai
代码实例
package mainimport ( "context" "fmt" "net/http" "net/url" openai "github.com/sashabaranov/go-openai")func main() { config := openai.DefaultConfig("you-token") proxyUrl, err := url.Parse("http://127.0.0.1:7890") if err != nil { panic(err) } transport := &http.Transport{ Proxy: http.ProxyURL(proxyUrl), } //设置代理 config.HTTPClient = &http.Client{ Transport: transport, } client := openai.NewClientWithConfig(config) // client := openai.NewClient("") // 向 OpenAI API 发送请求,并获取对话模型的回复 resp, err := client.CreateChatCompletion( context.Background(), // 用于发送给 OpenAI API 的请求 // 并在其中指定了使用的模型和用户发出的消息。 openai.ChatCompletionRequest{ Model: openai.GPT3Dot5Turbo, Messages: []openai.ChatCompletionMessage{ { Role: openai.ChatMessageRoleUser, Content: "今日头条是什么", }, }, }, ) // 发生错误,程序输出错误消息并退出 if err != nil { fmt.Printf("ChatCompletion error: %v\n", err) return } // 程序会打印出 GPT-3.5Turbo 模型回复的内容 fmt.Println(resp.Choices[0].Message.Content)}
以上示例代码通过调用 OpenAI API 实现了与 GPT-3.5Turbo 模型的聊天交互。
程序首先导入了所需的包和依赖项,然后创建了一个名为 client 的 OpenAI 客户端实例,并使用其凭证对其进行身份验证。
然后,程序构造了一个名为 ChatCompletionRequest 的结构体,用于发送给 OpenAI API 的请求,并在其中指定了使用的模型(GPT3Dot5Turbo)和用户发出的消息(今日头条是什么)。
最后,程序调用 CreateChatCompletion 方法,向 OpenAI API 发送请求,并获取对话模型的回复。如果在此过程中发生错误,程序会输出错误消息并退出。否则,程序会打印出 GPT-3.5Turbo 模型回复的内容。
问:今日头条是什么
程序输出:今日头条是一家由字节跳动公司开发的一款基于个性化推荐技术的资讯类移动应用程序,它通过算法自动推荐最符合用户兴趣的新闻、短视频、段子、图片等内容,并提供社交化交流互动。今日头条的主要途径是资讯和新闻,涵盖了时事、娱乐、科技、汽车、房产、时尚等各个领域的资讯。
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除