openai api的go用法

最近openai火爆,研究了一下在go中的用法,采用官方的go-openai库。因为受官方屏蔽影响,需满足以下两点:

1、正确的上网方法

2、需要配置本地代理

package main

import (
	"context"
	"errors"
	"fmt"
	openai "github.com/sashabaranov/go-openai"
	"io"
	"net/http"
	"net/url"
)

func main() {
	token := "your api key"
	ask := "你是第几代模型?"
	ChatCompletion(token, ask)
}

func ChatCompletion(token, ask string) {
    //配置代理
	config := openai.DefaultConfig(token)
	proxy_url, err := url.Parse("http://127.0.0.1:58309") // 你运行该代码时的电脑在使用魔法上网时,在本地对应的代理服务器的映射端口
	if err != nil {
		panic(err)
	}
	transport := &http.Transport{
		Proxy: http.ProxyURL(proxy_url),
	}
	config.HTTPClient = &http.Client{
		Transport: transport,
	}

	client := openai.NewClientWithConfig(config)

	//client := openai.NewClient(token)  //原三方库openai的,改成上面的配代理写法
	resp, err :=

你可能感兴趣的:(ChatGPT,chatgpt,golang)