admin 管理员组文章数量: 887021
如何快速接入chatgpt?[引入go-gpt3]
- 上文介绍了如何在网页使用chatgpt?
- V1.介绍下在golang中使用chatgpt?
- 1.查看官网推荐的chatgpt项目
- 2.访问go-gpt3
- 3.使用并运行在自己的项目中...(是因为例子很难理解,所以一一对应了属性做了配置)
- 3.1安装项目
- 3.2换上自己的代码
- 3.3换上自己的key
- 4.运行结果如图...
- 5.对照网页版运行结果...
- V2.已集成Gin/Html做成网页版本...
- 完整代码
上文介绍了如何在网页使用chatgpt?
ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]
V1.介绍下在golang中使用chatgpt?
1.查看官网推荐的chatgpt项目
先看官网推荐的项目
2.访问go-gpt3
go-gpt3
3.使用并运行在自己的项目中…(是因为例子很难理解,所以一一对应了属性做了配置)
3.1安装项目
先是go get github/sashabaranov/go-gpt3
参数很多,跟网页版的区别不大…
3.2换上自己的代码
package main
import (
"context"
"fmt"
gogpt "github/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 main
import (
"embed"
"github/gin-gonic/gin"
"html/template"
"io/ioutil"
"net/http"
"strings"
)
//go:embed static/* templates/*
var f embed.FS
func main() {
router := gin.Default()
// asset加载html
templates, 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 .html
if 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
版权声明:本文标题:[Golang实战]如何快速接入chatgptopenai?[引入go-gpt3][新手开箱可用] 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724524590h756003.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论