Golang 引入chatGPT

文章目录

  • Golang 引入chatGPT
    • 1 前提条件
    • 2 官方示例
    • 3 开始引入

1 前提条件

  1. 注册openAi账号,获取密钥key

    ​ 1. 参考链接

    ​ 2.参考链接

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jFGolYUb-1680350283671)(F:\CRoaming\Typora\typora-user-images\image-20230401193839199.png)]

  2. 科学上网,配置代理服务器

    1. 参考链接
  3. 配置好基本的go开发环境

2 官方示例

Libraries - OpenAI API

选择go语言的进行参考

3 开始引入

  1. 简单示例

    //1  下载openai的依赖
    go get github.com/sashabaranov/go-openai
    // 2 新建main文件引入依赖
    main.go
    
    package main
    
    import (
    	"context"
    	"fmt"
    	openai "github/sashabaranov/go-openai"
    )
    
    func main() {
    	client := openai.NewClient("your token")  // 填入你自己的openaikey
    	resp, err := client.CreateChatCompletion(
    		context.Background(),
    		openai.ChatCompletionRequest{
    			Model: openai.GPT3Dot5Turbo,
    			Messages: []openai.ChatCompletionMessage{
    				{
    					Role:    openai.ChatMessageRoleUser,
    					Content: "Hello!",   // 向chatgpt发送的信息
    				},
    			},
    		},
    	)
    
    	if err != nil {
    		fmt.Printf("ChatCompletion error: %v\n", err)
    		return
    	}
    
    	fmt.Println(resp.Choices[0].Message.Content)  // 返回chatgpt响应的信息
    }
    
    
    1. 配置代理服务器(国内无法访问chatgpt,我们需要科学上网,配置代理服务器。然后访问代理服务器的映射出来的本地端口)

      config := openai.DefaultConfig("token")
      proxyUrl, err := url.Parse("http://localhost:{port}") // 你本机电脑的代理服务器的本地映射端口
      if err != nil {
      	panic(err)
      }
      transport := &http.Transport{
      	Proxy: http.ProxyURL(proxyUrl),
      }
      config.HTTPClient = &http.Client{
      	Transport: transport,
      }
      
      c := openai.NewClientWithConfig(config)
      

3 运行测试

我是运行项目开的5000端口,代理服务器端口为9001

“msg”为每次提问的问题

参考gitee项目

更多推荐

Golang引入chatGPT