创建Chat Completion
创建AI聊天对话,并获取模型生成的聊天响应数据
请求地址
POST https://api.stepfun.com/v1/chat/completions
请求参数
-
model
string
required
需要使用的模型名称 -
messages
object array
required
迄今为止用户输入或模型生成的不同类别消息列表展开/收起
- 系统消息
object
展开/收起
role
string
系统类别名称,总是为system
content
string
系统消息的文本内容
- 用户消息
object
展开/收起
role
string
用户类别名称,总是user
content
string or object array
用户消息内容,类型为multipart
消息列表或者普通文本消息字符串展开/收起
普通文本消息
string
multipart
消息列表object array
结构化的图文混合消息展开/收起
- 文本消息
object
展开/收起
type
string
总为text
text
string
消息文本内容
- 图片消息
object
展开/收起
type
string
总为image_url
image_url
object展开/收起
url
string
图片地址或base64编码的图片,图片格式:jpg/jpeg、png、webp、静态gif,仅支持http和https协议。
base64格式举例:
data:image/jpeg;base64,${base64_string}
,请更换图片格式(jpeg)及对应的base64编码后字符串detail
string
optional是否开启detail模式:
low
/high
可选,默认为low模式low
模式下,图片会被缩放到固定尺寸,token数量固定在400左右high
模式下,模型会提供更详细、更丰富的信息,在大图、OCR、极端长宽比的场景会有比较好的表现,token数会根据图片的实际情况而变化
- 视频消息
object
展开/收起
type
string
总为video_url
video_url
object展开/收起
url
string
视频的URL地址,视频格式:video/mp4,仅支持http和https协议,视频内容要小于128M,时长建议小于5分钟。
- 文本消息
- 工具函数消息
object
展开/收起
role
string
系统类别名称,总是为tool
content
string
函数执行得到的内容tool_call_id
string
执行函数的ID,由assistant在上一轮对话中返回。
- 聊天助手消息
object
展开/收起
role
string
聊天助手类别名称,总是为assistant
content
string | null
聊天助手消息的文本内容
- 系统消息
-
tools
object array
optional
Toolcall支持的函数列表展开/收起
type
string
工具类型,总是为function
function
object
函数内容的描述展开/收起
name
string
函数名称,要求纯英文、数字和_-符号,建议不要超过64个字符长度。description
string
函数描述,支持中英文,它用于告诉模型函数实现何种功能和目的,方便模型来判断和选择。parameters
object
函数的参数展开/收起
type
object
参数描述,一般为objectproperties
object
函数参数内容,以key为参数的名称,然后通过type
和description
描述参数的类型和介绍。展开/收起
type
string|number|integer|object|array|boolean
参数类型,可以参考json-schema (opens in a new tab)介绍description
string
函数参数描述,支持中英文,它用于告诉模型函数参数的含义。
-
max_tokens
int
optional
聊天需要生成的标记
最大数量,默认值为INF(不作限制,由模型自动决定)。输入标记
和生成标记
的总数量受限于指定模型的最大上下文长度。 -
temperature
float
optional
采样温度,介于0.0和2.0之间的数字。较高值(如0.8)会使生成更随机,较低值(如0.2)会使其生成结果更集中且确定。默认值为0.5 -
top_p
float
optional
核心采样,该值会使模型生成具有top_p概率质量的标记
并输出到结果。默认值为0.9 -
n
int
optional
控制模型为每个输入消息生成的响应消息结果条数,默认值为1,最大不限,建议不超过5。 -
stream
bool
optional
是否流式生成响应消息,默认值为false -
stop
string | string array
optional
用于指导模型生成聊天响应过程中,是否遇到stop中的内容,进行生成中断,默认为空 -
frequency_penalty
float
optional
默认为0。介于0.0和1.0之间的数字。值较高会使模型生成某token
时,根据其过往在生成文本中出现的频度,进行后续降频惩罚,从而降低模型重复生成相同内容的可能性 -
response_format
object
optional
用于指导模型输出特定格式的内容。默认为{"type":"text"}
,表示输出文本。设置为{ "type": "json_object" }
可以开启 JSON Mode,输出可解析的 JSON 结构。
请求响应
返回Chat Completion响应对象,或者Chat Completion流式响应对象块
示例
from openai import OpenAI
client = OpenAI(api_key="STEP_API_KEY", base_url="https://api.stepfun.com/v1")
completion = client.chat.completions.create(
model="step-1-8k",
messages=[
{
"role": "system",
"content": "你是由阶跃星辰提供的AI聊天助手,你擅长中文,英文,以及多种其他语言的对话。在保证用户数据安全的前提下,你能对用户的问题和请求,作出快速和精准的回答。同时,你的回答和建议应该拒绝黄赌毒,暴力恐怖主义的内容",
},
{"role": "user", "content": "你好,请介绍一下阶跃星辰的人工智能!"},
],
)
print(completion)
{
"id": "b7b56af0-52a6-483f-a589-948182676a1b",
"object": "chat.completion",
"created": 1709893411,
"model": "step-1-8k",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!阶跃星辰是一家专注于人工智能技术的公司,致力于开发和提供各种AI解决方案。我们的人工智能技术涵盖了自然语言处理、计算机视觉、机器学习等领域,旨在帮助用户在各个行业和领域中提高效率和创造价值。\n\n我们提供多种AI产品和服务,包括智能客服、虚拟助手、智能推荐、智能审核等。这些产品和服务可以应用于多个行业,如金融、零售、教育、医疗等。通过使用我们的AI技术,用户可以更好地理解和分析数据,提供个性化的服务和体验,提高决策效率和准确性。\n\n我们注重用户数据的安全和隐私保护,严格遵守相关法律法规和行业标准。我们相信,人工智能技术应该为人类创造更多的福祉,而不是带来负面的影响。我们将继续努力,为用户提供更加智能、高效、安全的AI解决方案。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 83,
"completion_tokens": 176,
"total_tokens": 259
}
}