使用go调用openAI的API

该代码示例展示了如何利用OpenAI的API进行两个操作:一是通过GPT-3.5-Turbo模型进行文本聊天交互,二是请求生成基于提示词的图像。HTTP客户端发送POST请求到相应的API端点,设置必要的头部信息(包括内容类型和授权密钥)以完成请求。
摘要由CSDN通过智能技术生成
package main

import (
	"bytes"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	chat()
	// image()
}

func chat() {
	client := &http.Client{}

	var body = `
	{ "model": "gpt-3.5-turbo",
	  "messages": [{"role": "user", "content": "Hello!"}]
	}`

	req, _ := http.NewRequest("POST", "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(body)))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("Authorization", "Bearer your secret key")
	resp, err := client.Do(req)
	if err != nil {
		fmt.Println(err)
	}
	r, _ := ioutil.ReadAll(resp.Body)
	fmt.Printf(string(r))
}

func image() {
	client := &http.Client{}

	var body = `
	{
	  "prompt": "A cute baby sea otter",
	  "n": 2,
	  "size": "1024x1024"
	}
`
	req, err := http.NewRequest("POST", "https://api.openai.com/v1/images/generations", bytes.NewReader([]byte(body)))

	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("Authorization", "Bearer your secret key")

	resp, err := client.Do(req)
	if err != nil {
		fmt.Println("B:", err)
	}
	r, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("C:", err)
	}
	fmt.Println(string(r))
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值