chatGPT正式发布已经有段时间了,这段时间我也深度体验了chatGPT的魅力。
OpenAI除了提供网页版的chatGPT,还通过api的形式提供了很多其它服务,包括文字纠错、图片生成、音频转换等等。
作为程序员,即使有现成的[openai库](https://github.com/sashabaranov/go-openai),但还是免不了想自己造轮子,所以就有[这个openai库](https://github.com/mengbin92/openai)。
当前这个库刚刚开发完成,还有很多需要优化的地方,所要实现的功能都是[OpenAI API](https://platform.openai.com/docs/api-reference)提供的,目前已经完成了以下接口的开发:
* [Models](https://platform.openai.com/docs/api-reference/models)
* [Completions](https://platform.openai.com/docs/api-reference/completions)
* [Chat](https://platform.openai.com/docs/api-reference/chat)
* [Edits](https://platform.openai.com/docs/api-reference/edits)
* [Images](https://platform.openai.com/docs/api-reference/images)
* [Embeddings](https://platform.openai.com/docs/api-reference/embeddings)
* [Audio](https://platform.openai.com/docs/api-reference/audio)
* [Files](https://platform.openai.com/docs/api-reference/files)
* [Fine-tunes](https://platform.openai.com/docs/api-reference/fine-tunes)
* [Moderations](https://platform.openai.com/docs/api-reference/moderations)
[Engines](https://platform.openai.com/docs/api-reference/engines)已经废弃,其功能由[Models](https://platform.openai.com/docs/api-reference/models)提供。
在项目的`cmd`目录下提供了一个简单地http服务,实现了对上面接口的调用。
以下是chatGPT的接口调用的简单示例:
```go
package main
import (
"context"
"fmt"
"os"
"github.com/mengbin92/openai"
)
func main() {
client := openai.NewClient("your token", "your org", "proxy")
resp, err := client.CreateChatCompletion(
context.Background(),
&openai.ChatCompletionRequset{
Model: openai.GPT3Dot5Turbo,
Messages: []openai.Message{
{Role: openai.ChatMessageRoleUser, Content: "hi!"},
},
},
)
if err != nil {
fmt.Printf("CreateChatCompletion error: %s\n", err.Error())
os.Exit(-1)
}
fmt.Println(resp.Choices[0].Message.Content)
}
```
---
<div align="center">
<img src="https://static.golangjob.cn/230511/4c8dc612c30f71b63d4cc08834331d2d.jpg" alt="孟斯特">
</div>
> 声明:本作品采用[署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)进行许可,使用时请注明出处。
> Author: [mengbin](mengbin1992@outlook.com)
> blog: [mengbin](mengbin.top)
> Github: [mengbin92](https://mengbin92.github.io/)
> cnblogs: [恋水无意](https://www.cnblogs.com/lianshuiwuyi/)
---
有疑问加站长微信联系(非本文作者))