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

# 文本生成（Text Generation）

> 了解算秩文本生成模型的能力、适用场景、消息结构、关键参数、计费方式和 OpenAI 兼容调用示例。

文本生成（Text Generation）模型接收文本形式的指令、问题或上下文，并生成自然语言回复。它们适合开放式对话、知识问答、内容生成、摘要、改写、任务拆解等通用语言任务。

代表模型包括：

* `deepseek-ai/DeepSeek-V4-Pro`
* `Qwen/Qwen3-32B`
* `openai/gpt-oss-120b`

完整模型列表和价格，请以 [模型广场](https://console.siflow.cn/model-inference/models) 为准。

## 核心能力

文本生成模型通常用于以下能力场景。具体支持范围和效果会因模型而异。

| 能力     | 说明                                       | 使用建议                     |
| ------ | ---------------------------------------- | ------------------------ |
| 文本生成   | 支持多题材、多风格的自然语言生成，兼顾结构化与长篇内容。             | 适合对话、写作、总结和内容生成。         |
| 语义理解   | 支持多轮对话与意图识别，可保持对话上下文。                    | 可对复杂任务应提供清晰背景和约束。        |
| 知识问答   | 覆盖科学、技术、文化、历史等多个领域。                      | 可用于企业知识库、文档检索、事实类与流程类解答。 |
| 指令遵循   | 可准确执行复杂指令，例如“用 Markdown 表格对比方案 A 和方案 B”。 | 将格式要求写清楚。                |
| 风格控制   | 使用系统提示词统一语气与风格，例如学术、口语、诗歌等。              | 适合需要统一回复风格的场景。           |
| 长上下文处理 | 部分模型支持较长上下文，范围可从 4k 到 131k tokens        | 上下文长度因模型而异，请以模型广场为准。     |

<Tip>
  代码生成与数学推理，例如根据自然语言实现函数、重构代码、编写单元测试、分步求解问题，通常也由这类通用模型完成。建议使用较低的 `temperature`（例如 0.1-0.3），以获得更稳定、更可预期的输出。
</Tip>

## 使用场景

* **开放式对话**：客服机器人、FAQ 助手、对话式智能体。
* **知识问答**：企业知识库、文档检索、事实类与流程类解答。
* **内容生成**：营销文案、摘要、长篇文章以及创意写作。
* **指令遵循**：任务拆解、分步指南以及结构化输出，例如列表、表格。

## 消息结构

文本生成模型通过消息列表接收输入。常见消息角色如下：

| 角色          | 说明                | 示例                       |
| ----------- | ----------------- | ------------------------ |
| `system`    | 定义模型角色、边界和输出风格    | 您是一名拥有十年经验的程序员。          |
| `user`      | 终端用户输入或当前任务       | 如果服务在模型加载完成前就启动，缺少了什么配置？ |
| `assistant` | 用于提供上下文的历史回复或示例回复 | 可能缺少存活/就绪探针配置……          |

<Tip>
  按照 `system > user > assistant 历史` 的分层方式组织提示词，通常能让输出更稳定；您也可以根据实际场景尝试不同的提示结构。
</Tip>

## 关键参数

### 说明

* **控制创造性的参数**

  * `temperature`：控制输出随机性。取值范围为 0.0-2.0，推荐范围为 0.2-0.8，以在创造性与稳定性之间取得平衡。
  * `top_p`：控制采样范围，取值范围为 0.0-1.0，可与 `temperature` 一起用于调节创造性和稳定性。

* **控制输出的参数**

  * `max_completion_tokens`：限制生成长度，避免输出被截断。

  * `stop`：设置停止序列。用于控制模型在指定位置停止输出。

  * `frequency_penalty`：重复惩罚。输出出现重复或乱码时，可尝试调整。

  * `stream=True`：流式返回 。对于长回复推荐使用，可降低超时风险。

* **上下文**

  不同模型支持的最大上下文长度可通过 [模型广场](https://console.siflow.cn/model-inference/models) 查看。

### 建议

* 如果输出出现乱码，可尝试调整 `temperature`、`top_p` 和 `frequency_penalty`。
* 建议将 `max_completion_tokens` 控制在最大上下文长度以内，为输入留出空间
* 如果输出被截断，请设置合理的 `max_completion_tokens`，并启用 `stream=True`，增大客户端超时时间。

## 计费

* **公式**：总费用 =（输入 tokens × 输入单价）+（输出 tokens × 输出单价）。
* **价格**：各模型价格请在 [模型广场](https://console.siflow.cn/model-inference/models) 的模型详情页查看。
* **建议**：
  * 在研发阶段优先使用免费或者成本较低的模型。
  * 长回复场景建议使用流式输出并合理设置 `max_completion_tokens`。
  * 对于高 QPS 负载，请结合并发控制和限流策略使用。

## 调用示例

示例使用环境变量读取 API Key，避免将密钥写入代码。

```bash theme={null}
export API_KEY="YOUR_API_KEY"
```

### 多轮对话

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

client = OpenAI(
    api_key=os.environ["API_KEY"],
    base_url="https://api.siflow.cn/model-api",
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-32B",
    messages=[
        {
            "role": "system",
            "content": "You are a helpful assistant. Keep answers concise.",
        },
        {
            "role": "user",
            "content": "What are the main benefits of microservices architecture?",
        },
    ],
    temperature=0.7,
    max_completion_tokens=1024,
)

print(response.choices[0].message.content)
```

### 数据分析内容生成

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

client = OpenAI(
    api_key=os.environ["API_KEY"],
    base_url="https://api.siflow.cn/model-api",
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[
        {
            "role": "system",
            "content": "You are a data analysis expert. Output results in Markdown with clear sections and bullet points.",
        },
        {
            "role": "user",
            "content": "Summarize typical patterns in SaaS trial-to-paid conversion by cohort (e.g. by signup week). What metrics and recommendations would you highlight? Keep it under 300 words.",
        },
    ],
    temperature=0.5,
    max_completion_tokens=1024,
)

print(response.choices[0].message.content)
```

### 发布说明 / 更新日志

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

client = OpenAI(
    api_key=os.environ["API_KEY"],
    base_url="https://api.siflow.cn/model-api",
)

response = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {
            "role": "system",
            "content": "You write concise release notes. Use a short intro and bullet points.",
        },
        {
            "role": "user",
            "content": "Draft release notes for v2.0 of a CLI tool. New in this version: added `config` and `run` subcommands, support for env-based config, and a `--dry-run` flag. Keep it under 150 words.",
        },
    ],
    temperature=0.5,
    max_completion_tokens=512,
)

print(response.choices[0].message.content)
```
