搜索本产品文档关键词
Go SDK调用对话Chat
所有文档
menu
没有找到结果,请重新输入

千帆大模型服务与开发平台ModelBuilder

Go SDK调用对话Chat

安装Go SDK

go get -u 'github.com/openai/openai-go@v0.1.0-alpha.61'

注意:请注意安装最新版本,以上版本是示例

调用示例

非流式示例

  • 请求示例
package main

import (
	"context"
	"fmt"
	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	client := openai.NewClient(
        // 替换下列示例中参数,将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
		option.WithAPIKey("your_APIKey"), 
		option.WithBaseURL("https://qianfan.baidubce.com/v2/"),  // 千帆ModelBuilder平台地址
	)

	chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
		Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
			openai.ChatCompletionMessage{Content: "你好", Role: "user"},
		}),
		Model: openai.F("ernie-tiny-8k"),//模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
	})

	if err != nil {
		panic(err.Error())
	}

	fmt.Println(chatCompletion.Choices[0].Message.Content)
}
  • 返回示例
你好!有什么可以帮你的吗?

流式示例

  • 请求示例
package main

import (
	"context"
	"fmt"
	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	client := openai.NewClient(
        // 替换下列示例中参数,将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
		option.WithAPIKey("your_APIKey"), 
		option.WithBaseURL("https://qianfan.baidubce.com/v2/"), // 千帆ModelBuilder平台地址
	)

	stream := client.Chat.Completions.NewStreaming(context.TODO(), openai.ChatCompletionNewParams{
        // Messages信息
		Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
			openai.ChatCompletionMessage{Content: "你好", Role: "user"},
		}), 
		Model: openai.F("ernie-tiny-8k"),//模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
	})

	for stream.Next() {
		fmt.Println(stream.Current().Choices[0].Delta.Content)
	}
}
  • 返回示例
你好!
有什么可以帮助你的吗
?

自定义Headers和传入自定义参数示例

  • 请求示例
package main

import (
	"context"
	"fmt"

	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	// 创建表示 "safety" 的内部 map
	safetyMap := map[string]string{
		"input_level": "none",
	}

	// 创建表示 "web_search" 的内部 map
	webSearchMap := map[string]bool{
		"enable":       true,
		"enable_trace": true,
	}

	client := openai.NewClient(
        // 替换下列示例中参数,将your_APIKey替换为真实值,如何获取API Key请查看https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Um2wxbaps#步骤二-获取api-key
		option.WithAPIKey("your_APIKey"),
		option.WithBaseURL("https://qianfan.baidubce.com/v2/"), // 千帆ModelBuilder平台地址
	)

	chatCompletion, err := client.Chat.Completions.New(
		context.TODO(),
		openai.ChatCompletionNewParams{
			Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
				openai.ChatCompletionMessage{Content: "今天上海天气怎么样", Role: "user"},
			}),
			Model: openai.F("ernie-3.5-8k"),//模型对应的model值,请查看支持的模型列表:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wm7ltcvgc
		},
		option.WithHeader("key1", "value1"), // 自定义 Header,覆盖
		option.WithHeaderAdd("appid", "app-xxxxxxx"), // 自定义appid
		option.WithJSONSet("safety", safetyMap), // 自定义安全
		option.WithJSONSet("web_search", webSearchMap), //开启搜索增强
	)

	if err != nil {
		panic(err.Error())
	}

	fmt.Println(chatCompletion.Choices[0].Message.Content)
}
  • 返回示例
今天上海的天气情况如下:
### 一、实时天气概况
* **天气现象**:多云。
* **温度**:当前温度为9℃,体感温度为7℃。
* **湿度**:相对湿度为84%。
* **风力**:西风2级。
* **紫外线指数**:1,属于紫外线最弱级别,外出时可轻微防护。
### 二、未来短时间天气预报(今天)
* **日间**:
        + 天气现象:中雨,降水概率为90%。
        + 风向风力:西北风3级。
        + 最高气温:11℃。
* **夜间**:
        + 天气现象:小雨,降水概率为80%。
        + 风向风力:西风3级。
        + 最低气温:7℃。
### 三、生活气象指数
* **钓鱼**:不太适宜。
* **穿衣**:建议穿大衣类衣物,因为天气较凉。
* **洗车**:不宜,因为近期有雨。
* **运动**:不适宜,可能受天气影响。
* **旅游**:一般,外出时需携带雨具以应对可能的降雨。
综上所述,今天上海天气以多云转中雨为主,夜间可能转为小雨,气温适中但略偏低,湿度较大,风力适中。建议市民外出时携带雨具并注意适当增添衣物以防感冒。%           
上一篇
Java SDK调用对话Chat
下一篇
Node.js SDK调用对话Chat