文档
API 文档
Chat
创建Chat

创建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
      展开/收起
      • 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
          参数描述,一般为object
        • properties object
          函数参数内容,以key为参数的名称,然后通过typedescription描述参数的类型和介绍。
          展开/收起
          • 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
    }
}