上文介绍了如何在网页使用chatgpt?

ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]

V1.介绍下在golang中使用chatgpt?

1.查看官网推荐的chatgpt项目

先看官网推荐的项目

2.访问go-gpt3

go-gpt3

3.使用并运行在自己的项目中…(是因为例子很难理解,所以一一对应了属性做了配置)

3.1安装项目

先是go get github.com/sashabaranov/go-gpt3
参数很多,跟网页版的区别不大…

3.2换上自己的代码

package mainimport ("context""fmt"gogpt "github.com/sashabaranov/go-gpt3"
)func main() {token := "Your Key"ask := "Please write a article About how to live in the china?"example(token, ask)
}func example(token string, prompt string) {c := gogpt.NewClient(token)ctx := context.Background()req := gogpt.CompletionRequest{Model:            gogpt.GPT3TextDavinci001,Temperature:      0.4,MaxTokens:        1000,TopP:             1,FrequencyPenalty: 0,PresencePenalty:  0,BestOf:           1,Prompt:           prompt,}resp, err := c.CreateCompletion(ctx, req)if err != nil {return}fmt.Println(resp.Choices[0].Text)
}

3.3换上自己的key

4.运行结果如图…

5.对照网页版运行结果…

V2.已集成Gin/Html做成网页版本…

main.go

package mainimport ("embed""github.com/gin-gonic/gin""html/template""io/ioutil""net/http""strings"
)//go:embed static/* templates/*
var f embed.FSfunc main() {router := gin.Default()// asset加载htmltemplates, err := loadTemplate()if err != nil {panic(err)}// 配置模板router.SetHTMLTemplate(templates)// 配置静态文件夹路径 第一个参数是api,第二个是文件夹路径router.StaticFS("/static/", http.FS(f))rootGroup := router.Group("/"){rootGroup.GET("/", Index)rootGroup.GET("/index", Index)rootGroup.GET("/test/", Test)rootGroup.POST("/chatgpt", ChatGPT)}router.Run(":9090")
}// 执行命令: go-assets-builder templates -o assets.go -p main
func loadTemplate() (*template.Template, error) {t := template.New("")for name, file := range Assets.Files {// 可以用.tmpl .htmlif file.IsDir() || !strings.HasSuffix(name, ".html") {continue}h, err := ioutil.ReadAll(file)if err != nil {return nil, err}t, err = t.New(name).Parse(string(h))if err != nil {return nil, err}}return t, nil
}

完整代码

Github-chatgpt-demo