Chat
请求地址
https://taiyi.megvii.com/v1/chat/completions
接口参数
-
model
:string
- 模型名字,请求中指定的模型和实际提供服务的模型存在对应关系,具体对应关系请获取
/v1/models
接口。总体对应原则为:- 名称中不包含版本信息的模型始终指向当前模型的最新版本
- 包含版本号的模型和实际模型相同
- 服务当前支持模型包括(以
/v1/models
接口为准):taiyi
: 支持图像输入,单次请求最多只支持 5 张图像
- 模型名字,请求中指定的模型和实际提供服务的模型存在对应关系,具体对应关系请获取
-
messages
:List
- 不同类型消息列表
- 系统消息
- role: string ; 取值
system
- context: string
- role: string ; 取值
- 用户消息
- role: string ; 取值:
user
- context: string | multipart obejct
- role: string ; 取值:
- 助手消息
- role: string ; 取值:
assistant
- context: string | null
- role: string ; 取值:
- 系统消息
- 不同类型消息列表
-
max_tokens
:int
- 最大生成 token 个数
-
temperature
:float
- 采样温度,介于 [0-2] 区间,较高值(如 0.8)会使生成更随机,较低值(如 0.2)会使其生成结果更集中且确定。默认值为 0.7
-
top_p
:float
- 核心采样(采样温度的替代方法),该值会使模型生成具有 top_p 概率质量的标记并输出到结果。默认值为 1.0
-
n
:int
- 控制模型为每个输入消息生成的响应消息可选路径数量,默认值为 1
-
stream
:bool
- 是否流式生成响应消息,默认值为 false。暂不支持流式响应
-
stop
:string
|string array
- 用于指导模型生成聊天响应过程中,是否遇到 stop 中的内容,进行生成中断。最大字符串数量为 4,默认为空
-
presence_penalty
:float
- 默认为 0.0。介于 -2.0 和 2.0 之间的数字。正值会使模型生成某 token 时,根据其过往在生成文本中出现的频率,进行后续的降频惩罚,从而减少模型重复生成相同内容的概率
-
frequency_penalty
:float
- 默认为 0.0。介于 -2.0 和 2.0 之间的数字。正值会使模型生成某 token 时,根据其过往在生成文本中出现的频度,进行后续降频惩罚,从而降低模型重复生成相同内容的可能性
请求示例
创建 AI 聊天对话,并获取模型生成的聊天响应数据。
纯文本
- curl
- python
curl https://taiyi.megvii.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAIYI_API_KEY" \
-d '{
"model": "taiyi",
"messages": [
{
"role": "system",
"content": "你是由ob彩票科技开发的 AI 聊天助手太乙,你除了擅长中文 、英文以及其他多种语言的对话以外,还能够根据用户的图片提供精准的帮助"
},
{
"role": "user",
"content": "你好,请介绍一下ob彩票科技和你自己"
}
]
}'
Response
{
"id": "chat-50d683ccfac944e4a46749d25b536ab5",
"object": "chat.completion",
"created": 1729684343,
"model": "taiyi",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是太乙,由ob彩票科技(Megvii)研发的人工 ob彩票助手。ob彩票科技是一家专注于计算机视觉和ob彩票领域的科技公司,成立于2011年,总部位于中国北京。ob彩票致力于通过技术创新,为全球用户提供ob彩票化的彩票资讯,涵盖安防、零售、金融、城市管理和自动驾驶等多个领域。太乙作为ob彩票科技的AI助手,旨在为用户提供便捷、ob彩票的服务,帮助解决各种问题和需求。",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 57,
"total_tokens": 154,
"completion_tokens": 97
}
}
from openai import OpenAI
client = OpenAI(api_key="<TAIYI_API_KEY>", base_url="https://taiyi.megvii.com/v1")
completion = client.chat.completions.create(
model="taiyi",
messages=[
{
"role": "system",
"content": "你是由ob彩票科技开发的 AI 聊天助手太乙,你除了擅长中文、英文以及其他多种语言的对话以外,还能够根据用户的图片提供精准的帮助",
},
{
"role": "user",
"content": "你好,请介绍一下ob彩票科技和你自己"
},
],
)
print(completion)
Response
ChatCompletion(id='chat-50d683ccfac944e4a46749d25b536ab5', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='你好!我是太乙,由ob彩票科技(Megvii)研发的ob彩票助手。ob彩票科技是一家专注于计算机视觉和ob彩票领域的科技公司,成立于2011年,总部位于中国北京。ob彩票致力于通过技术创新,为全球用户提供ob彩票化的彩票资讯,涵盖安防、零售、金融、城市管理和自动驾驶等多个领域。太乙作为ob彩票科技的AI助手,旨在为用户提供便捷、ob彩票的服务,帮助解决各种问题和需求。', role='assistant', function_call=None, tool_calls=[]), stop_reason=None)], created=1729684343, model='taiyi', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=97, prompt_tokens=57, total_tokens=154))
多模态 - 图片 (link)
- curl
- python
curl https://taiyi.megvii.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAIYI_API_KEY" \
-d '{
"model": "taiyi",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "static/picture/describe.jpg"
}
},
{
"type": "text",
"text": "用优雅的语言描述这张图片"
}
]
}
]
}'
Response
{
"id": "chat-4ff8cd66b3c74dc6a3ff264ce9a9e36c",
"object": "chat.completion",
"created": 1729602601,
"model": "taiyi",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "这是一幅宁静而古朴的风景画,展现了一个典型的中国古镇风貌。图中,一条清澈的河流穿镇而过,河面上一艘古色古香的木 船正在缓缓行驶,船上似乎有几位游客正在欣赏河岸的美景。河岸两侧,错落有致地分布着许多传统的中国建筑,它们的屋顶呈现出典型的弯曲形状,墙体多为灰色,与周围的绿色植被形成了和谐的对比。远处的山丘上,树木郁郁葱葱,与蓝天白云相映成趣,整个场景透露出一种宁静祥和的氛围。",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 609,
"total_tokens": 735,
"completion_tokens": 126
}
}
from openai import OpenAI
client = OpenAI(api_key="<TAIYI_API_KEY>", base_url="https://taiyi.megvii.com/v1")
# 加载图片到内存,仅演示。按需改成读文件等
image_link = "static/picture/describe.jpg"
completion = client.chat.completions.create(
model="taiyi",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "用优雅的语言描述这张图片",
},
{
"type": "image_url",
"image_url": {
"url": f"{image_link}",
},
},
],
},
],
)
print(completion)
ChatCompletion(id='chat-4ff8cd66b3c74dc6a3ff264ce9a9e36c', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='这是一幅宁静而古朴的风景画,展现了一个典型的中国古镇风貌。图中,一条清澈的河流穿镇而过,河面上一艘古色古香的木船正在缓缓行驶,船上似乎有几位游客正在欣赏河岸的美景。河岸两侧,错落有致地分布着许多传统的中国建筑,它们的屋顶呈现出典型的弯曲形状,墙体多为灰色,与周围的绿色植被形成了和谐的对比。远处的山丘上,树木郁郁葱葱,与蓝天白云相映成趣,整个场景透露出一种宁静祥和的氛围。', role='assistant', function_call=None, tool_calls=[]), stop_reason=None)], created=1729602601, model='taiyi', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=126, prompt_tokens=609, total_tokens=735))
多模态 - 图片 (base64)
- curl
- python
image_base64="data:image/webp;base64,"$(curl -s "static/picture/describe.jpg" | base64)
echo "$image_base64" > image_data.json
echo '{
"model": "taiyi",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "'$image_base64'"
}
},
{
"type": "text",
"text": "用优雅的语言描述这张图片"
}
]
}
]
}' > request_data.json
curl https://taiyi.megvii.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAIYI_API_KEY" \
-d @request_data.json
Response
{
"id": "chat-4ff8cd66b3c74dc6a3ff264ce9a9e36c",
"object": "chat.completion",
"created": 1729602601,
"model": "taiyi",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "这是一幅宁静而古朴的风景画,展现了一个典型的中国古镇风貌。图中,一条清澈的河流穿镇而过,河面上一艘古色古香的木船正在缓缓行驶,船上似乎有几位游客正在欣赏河岸的美景。河岸两侧,错落有致地分布着许多传统的中国建筑,它们的屋顶呈现出典型的弯曲形状,墙体多为灰色,与周围的绿色植被形成了和谐的对比。远处的山丘上,树木郁郁葱葱,与蓝天白云相映成趣,整个场景透露出一种宁静祥和的氛围。",
"tool_calls": [
]
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 609,
"total_tokens": 735,
"completion_tokens": 126
}
}
import base64
import requests
from openai import OpenAI
client = OpenAI(api_key="<TAIYI_API_KEY>", base_url="https://taiyi.megvii.com/v1")
# 加载图片到内存,仅演示。按需改成读文件等
r = requests.get("static/picture/describe.jpg")
r.raise_for_status()
image_str = base64.b64encode(r.content).decode('ascii')
completion = client.chat.completions.create(
model="taiyi",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "用优雅的语言描述这张图片",
},
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,%s" % (image_str),
},
},
],
},
],
)
print(completion)
Response
ChatCompletion(id='chat-4ff8cd66b3c74dc6a3ff264ce9a9e36c', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='这是一幅宁静而古朴的风景画,展现了一个典型的中国古镇风貌。图中,一条清澈的河流穿镇而过,河面上一艘古色古香的木船正在缓缓行驶,船上似乎有几位游客正在欣赏河岸的美景。河岸两侧,错落有致地分布着许多传统的中国建筑,它们的屋顶呈现出典型的弯曲形状,墙体多为灰色,与周围的绿色植被形成了和谐的对比。远处的山丘上,树木郁郁葱葱,与蓝天白云相映成趣,整个场景透露出一种宁静祥和的氛围。', role='assistant', function_call=None, tool_calls=[]), stop_reason=None)], created=1729602601, model='taiyi', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=126, prompt_tokens=609, total_tokens=735))