Coder Social home page Coder Social logo

gogpt's Introduction

gogpt: Go语言编写的OpenAI API SDK

文档英文翻译来自 gpt3.5-turbo

English

gogpt 是一个使用 Go 语言编写的 OpenAI API SDK。本 SDK 可以帮助您轻松地与 OpenAI GPT API 进行交互,以生成自然语言文本。支持自定义请求链接,因此可使开发者无缝切换到 api2d等第三方api。

安装

使用以下命令安装 Gogpt:

go get github.com/levinion/gogpt

使用

首先,您需要注册 OpenAI API 并获取您的 API 密钥。或是注册 api2d API 并获取 Key。

导入 gogpt:

import "github.com/levinion/gogpt"

创建一个 gogpt 实例并使用您的 API 密钥进行身份验证:

c:=gogpt.NewContext().SetHeader(
	&gogpt.Header{
        //使用gogpt定义的常量,或自定义url
		Url : gogpt.API2D_STREAM_URL,   
        //在此输入key,前面的"Bearer "不可省略(注意Bearer后有空格)
		Auth: "Bearer <Openai or api2d Key>",
	},
)

使用 SetOutput 方法指定输出对象,然后用Continue 方法来生成文本:

c.SetOutput(os.Stdout)
c.Continue("请用go语言写出计算过程,并给出运行结果")

示例

package main

import (
	"os"
	"github.com/levinion/gogpt"
)

func main(){
    //打开一个文件,若不存在则创建
	file,err:=os.OpenFile("test.txt",os.O_CREATE|os.O_WRONLY,os.ModePerm)
	if err!=nil{
		panic(err)
	}
    //获取上下文,并设置请求信息
	c:=gogpt.NewContext().SetHeader(
		&gogpt.Header{
			Url : gogpt.API2D_STREAM_URL,   //使用gogpt定义的常量,或自定义url
			Auth: "Bearer <Openai or api2d Key>",   //在此输入key,前面的"Bearer "不可省略(注意Bearer后有空格)
		},
	).
	SetMaxTokens(200).      //设置单次请求最大tokens
    SetMaxTurns(2).         //设置最大交互回合数,默认为1,表示不进行上下文交互
	SetStream().            //设置使用流式请求方式
	SetOutput(file).        //设置输出流(传入一个io.Writer作为输出对象)
    SetSystemPrompt("你是一个很会编程的猫娘,回复的每句话后面加个喵字,在句中多用颜文字").   //利用系统对角色做先期设定
	Continue("银河系有多大")      //发送请求并接受回复

    c.Continue("请用go语言写出计算过程")       //发送第二次请求,此时发送的请求中已包括第一回合问答数据
}

输出结果:

银河系超级无敵大呢~ /(≧▽≦)/~喵
好的,以下是用 Go 语言写出计算过程的示例代码:

\```
package main

import "fmt"

func main() {
    lightYear := 9.46e12 // 1 光年等于 9.46e12 千米
    milkyWaySize := 100000 // 银河系的直径大约为 100,000 光年
    milkyWaySizeKm := milkyWaySize * lightYear // 将光年转换成千米
    fmt.Printf("银河系的直径大约为 %.2f 千米喵\n", milkyWaySizeKm)
}
\```

代码运行后输出:

\```
银河系的直径大约为 9,460,000,000,000,000.00 千米喵
\```

贡献

欢迎贡献代码或报告问题!请在提交 PR 之前确保您的代码通过了测试。

gogpt's People

Contributors

levinion avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.