> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.llm.sg/llms.txt
> Use this file to discover all available pages before exploring further.

# 流式输出与多轮对话

> 使用兼容格式读取流式内容，携带历史消息并管理多轮对话。

以下示例延续[快速开始](https://wiki.llm.sg/zh-Hans/docs/quickstart.md)中的配置，使用 Python SDK。对话接口及相应模型需支持 OpenAI 兼容格式；本页功能仍待有效密钥验证。

## 流式输出

流式输出会逐步返回生成内容，适合聊天界面。设置 `stream=True` 后，按数据块读取增量文本，而非一次性读取完整消息。

```python theme={null}
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["LLM_SG_API_KEY"],
    base_url="https://api.llm.sg/v1",
)

stream = client.chat.completions.create(
    model=os.environ["LLM_SG_MODEL"],
    messages=[{"role": "user", "content": "解释一下什么是模型聚合平台。"}],
    stream=True,
)

try:
    for chunk in stream:
        if chunk.choices:
            content = chunk.choices[0].delta.content
            if content:
                print(content, end="", flush=True)
finally:
    stream.close()

print()
```

部分数据块可能没有文本内容，不应将其视作错误。流读取过程中也可能发生网络或上游错误，应用应区分正常结束和中途失败，并保留已显示的内容及错误信息。

流式输出改善内容开始显示的体验，不保证减少总生成时间。流式请求的 Token 统计字段和结算行为需以平台实际支持情况为准。

## 多轮对话

每次调用携带相关历史消息，让模型理解上下文。以下示例将上一轮用户问题与模型回答一起发回：

```python theme={null}
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["LLM_SG_API_KEY"],
    base_url="https://api.llm.sg/v1",
)
model = os.environ["LLM_SG_MODEL"]

messages = [{"role": "user", "content": "什么是 API？"}]
first = client.chat.completions.create(model=model, messages=messages)
answer = first.choices[0].message.content
if not answer:
    raise RuntimeError("本例需要文本回答，请检查所选模型及返回内容")

print(answer)
messages.append({"role": "assistant", "content": answer})
messages.append({"role": "user", "content": "用餐厅点餐来举一个例子。"})

second = client.chat.completions.create(model=model, messages=messages)
print(second.choices[0].message.content)
```

客户端需要自行管理要发送的历史内容。历史消息会增加输入长度；长会话可保留近期内容或生成摘要，并为模型输出预留上下文空间。

## 进一步使用模型能力

图片输入、工具调用、结构化输出和推理等能力，需分别确认模型与接口支持情况后接入。工具调用通常需要应用执行工具并将执行结果发回，模型返回工具请求本身不代表工具已执行。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.