最近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 :=