0


[Golang实战]如何快速接入chatgpt/openai?[引入go-gpt3][新手开箱可用]

如何快速接入chatgpt?[引入go-gpt3]

在这里插入图片描述

上文介绍了如何在网页使用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 main

import (
    "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 main

import (
    "embed"
    "github.com/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 chatgpt gpt-3

本文转载自: https://blog.csdn.net/aaaadong/article/details/128967205
版权归原作者 学生董格 所有, 如有侵权,请联系我们删除。

“[Golang实战]如何快速接入chatgpt/openai?[引入go-gpt3][新手开箱可用]”的评论:

还没有评论