golang-infrastructure / go-ChatGPT

(已废弃)ChatGPT's Golang API easily integrates ChatGPT into your Go application
MIT License
35 stars 4 forks source link
chatgpt chatgpt-api

ChatGPT API For Golang

一、这是什么

这是一个ChatGPT的Golang API库,让你能够把ChatGPT集成到你的Go应用中,注意这是基于逆向工程实现的并不是一个官方库。

优势:

二、安装

go get -u github.com/golang-infrastructure/go-ChatGPT

三、如何使用

3.1 如何获取ChatGPT的JWT?

首先你要注册成功一个openapi的账号(教程此处不提供,请自行Google),并且能够在网页上正常使用ChatGPT,然后在ChatGPT的聊天页面,地址是这个:

https://chat.openai.com/chat

按F12打开控制台,粘贴如下代码,即可看到自己的JWT Token:

JSON.parse(document.getElementById("__NEXT_DATA__").text).props.pageProps.accessToken

如图:

image-20221207201626228

3.2 API代码示例

package main

import (
    "fmt"
    chatgpt "github.com/golang-infrastructure/go-ChatGPT"
)

func main() {

    // 把JWT放到这里
    jwt := "xxx"

    chat := chatgpt.NewChatGPT(jwt)
    talk, err := chat.Talk("你好,我的名字叫陈二!")
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    fmt.Println(talk.Message.Content)

    talk, err = chat.Talk("我的名字叫什么呀?")
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    fmt.Println(talk.Message.Content)

    // Output:
    // {text [你好,陈二!很高兴认识你。我是 Assistant,一个大型语言模型,旨在帮助人们了解更多关于世界的信息。如果你有什么问题,我将尽力回答。]}
    // {text [你告诉我你的名字叫陈二。你的名字是一个很普通的中国姓氏和名字,在中国文化中,许多人都有一个姓氏和一个名字。例如,陈是一个常见的姓氏,而二是一个常见的名字。不过,每个人的名字都是独一无二的,所以你的名字只属于你自己。]}

}