跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://wisdom-docs.juheapi.com/llms.txt

Use this file to discover all available pages before exploring further.

概述

chat/completions 是大语言模型最常用的 API 端点,它接收由多条消息组成的对话列表作为输入来获取模型响应。此端点遵循 OpenAI Chat Completions API 格式,可轻松与现有的兼容 OpenAI 的代码集成。

重要说明

模型差异不同的模型提供商可能支持不同的请求参数并返回不同的响应字段。我们强烈建议查阅 模型目录 了解每个模型的完整参数列表和使用说明。
响应透传原则WisGate 通常不会在逆向格式之外修改模型响应,确保您收到与原始 API 提供商一致的响应内容。
流式支持WisGate 支持用于流式响应的服务器发送事件(SSE)。在请求中设置 "stream": true 即可启用实时流式传输,这对聊天应用很有用。

参考文档

有关 chat/completions 端点的更多详情,我们建议参阅 OpenAI 官方文档 OpenAI 相关指南:
自动生成的文档请求参数和响应格式从 OpenAPI 规范自动生成。所有参数、其类型、描述、默认值和示例都直接从 openapi.json 提取。向下滚动查看交互式 API 参考。

常见问题

如何处理速率限制?

遇到 429 Too Many Requests 时,我们建议实现指数退避重试:
import time
import random

def chat_with_retry(messages, max_retries=3):
    for i in range(max_retries):
        try:
            response = client.chat.completions.create(
                model="gpt-4",
                messages=messages
            )
            return response
        except RateLimitError:
            if i < max_retries - 1:
                wait_time = (2 ** i) + random.random()
                time.sleep(wait_time)
            else:
                raise

如何维护对话上下文?

messages 数组中包含完整的对话历史:
conversation_history = [
    {"role": "system", "content": "你是一个有用的助手"},
    {"role": "user", "content": "什么是 Python?"},
    {"role": "assistant", "content": "Python 是一种编程语言..."},
    {"role": "user", "content": "它有什么优势?"}
]

response = client.chat.completions.create(
    model="gpt-4",
    messages=conversation_history
)

finish_reason 是什么意思?

含义
stop自然完成
length达到 max_tokens 限制
content_filter触发了内容过滤器
function_call模型调用了函数

如何控制成本?

  1. 使用 max_tokens 限制输出长度
  2. 选择合适的模型(例如,GPT-3.5 Turbo 比 GPT-4 更经济)
  3. 精简提示词,避免冗余上下文
  4. 监控令牌消耗,查看响应中的 usage 字段

如何使用流式传输?

通过设置 stream: true 启用流式传输:
stream = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "给我讲个故事"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")