硅基流动TTS简介
Assistants API是一个提供了人工只能的API。它允许开发者集成各种助手功能,如自然语言理解、对话管理和任务执行,从而创建自定义的虚拟助手。
AssistantsAPI目前支持三种类型的工具:
- 代码解释器 Code Interpreter (处理任何带有逻辑、执行步骤的需求)
- 检索 Retrieval
- 函数调用 Function calling
以下是使用 Assistants API 标准流程:
- 通过定义其自定义指令并选择 LLM 来创建一个助手(Assistant)。如果有需求,可以添加文件并启用诸如代码解释器、检索和函数调用等工具。 当用户开始对话时,创建一个线程(Thread)。
- 当用户提问时,向线程添加消息(Messages)。
- 通过调用模型和工具在线程上运行助手以生成响应。
ChatGPT Assistants API vs 硅基流动 Completions API 对比
Client 客户端的本质
无论是调用 ChatGPT 的 API 还是硅基流动的 API,创建的 client 客户端本质上是同一个 OpenAI 类的实例:
from openai import OpenAI
# ChatGPT 官方 API
client_chatgpt = OpenAI(
api_key="sk-xxx",
base_url="https://api.openai.com/v1/" # OpenAI 官方地址
)
# 硅基流动 API
client_silicon = OpenAI(
api_key="sk-xxx",
base_url="https://api.siliconflow.cn/v1/" # 硅基流动地址
)
核心区别
| 特性 | ChatGPT (OpenAI) | 硅基流动 (SiliconFlow) |
|---|---|---|
| Client 类 | OpenAI() |
OpenAI() (同一个类) |
| base_url | https://api.openai.com/v1/ |
https://api.siliconflow.cn/v1/ |
| API Key | OpenAI 颁发的密钥 | 硅基流动颁发的密钥 |
| chat.completions | ✅ 支持 | ✅ 支持 |
| embeddings | ✅ 支持 | ✅ 支持 |
| assistants | ✅ 支持 | ❌ 不支持 |
| threads | ✅ 支持 | ❌ 不支持 |
| files | ✅ 支持 | ❌ 不支持 |
| 代码解释器 | ✅ 支持 | ❌ 不支持 |
| 检索工具 | ✅ 支持 | ❌ 不支持 |
| 函数调用 | ✅ 支持 | ⚠️ 部分支持 |
Assistants API vs Completions API
chat.completions - 聊天完成 API(两者都支持)
# 这是最常用的聊天接口
result = client.chat.completions.create(
model='deepseek-ai/DeepSeek-V3',
messages=[
{"role": "user", "content": "你好"}
]
)
特点:
- 无状态的单次对话
- 每次请求需要传递完整的对话历史
- 简单直接,适合大多数场景
assistants - 助手 API(仅 OpenAI 支持)
# 创建持久化的 AI 助手
assistant = client.beta.assistants.create(
name="Math Tutor",
instructions="你是一个数学老师",
model="gpt-4",
tools=[{"type": "code_interpreter"}]
)
# 创建线程进行对话
thread = client.beta.threads.create()
特点:
- 有状态的会话管理
- 支持持久化的助手对象
- 内置工具支持(代码解释器、检索、函数调用)
- 自动管理对话历史和上下文
- 支持文件上传和处理
为什么硅基流动不支持 Assistants API?
Assistants API 是 OpenAI 特有的高级功能,需要服务端提供额外的基础设施支持:
- 持久化存储:保存助手配置、线程历史、文件等
- 工具执行环境:代码解释器需要安全的沙箱环境
- 检索系统:需要向量数据库和检索引擎
- 状态管理:维护复杂的会话状态
硅基流动作为一个模型推理服务平台,主要提供的是标准的模型推理接口(兼容 OpenAI SDK),并不提供 Assistants 这种高级会话管理功能。
在硅基流动中实现类似功能
如果需要在硅基流动中实现多轮对话和上下文管理,需要手动实现:
from siliconflow_client import create_chat_completion
# 手动维护对话历史
message = [
{'role': 'system', 'content': '你是一位数学老师'},
{'role': 'user', 'content': '你好!'}
]
# 第一轮对话
result = create_chat_completion(
model='deepseek-ai/DeepSeek-V3.2',
messages=message,
temperature=0.7
)
out_result = result.choices[0].message
print(out_result.content)
# 手动添加回复到历史记录
message.append({'role': out_result.role, 'content': out_result.content})
# 第二轮对话
message.append({'role': 'user', 'content': '能再详细解释一下吗?'})
result = create_chat_completion(
model='deepseek-ai/DeepSeek-V3.2',
messages=message,
temperature=0.7
)
总结
- Client 本身没有区别:都是
OpenAI类的实例,只是base_url不同 - API 端点支持不同:硅基流动只支持基础的
chat.completions和embeddings - 功能定位不同:
- OpenAI:提供完整的 AI 应用开发平台(包括 Assistants、Files 等高级功能)
- 硅基流动:专注于提供高性能、低成本的模型推理服务
- 适用场景:
- 如果需要 Assistants 的高级功能(代码解释器、检索等),使用 OpenAI
- 如果只需要基础的对话和 Embedding 功能,硅基流动是更经济的选择
语音类模型
文字配音 API 提供了一个基于 TTS(文本到语音)模型的服务。它内置了 6 种语音,并可用于:
- 朗读书面博客文章
- 用多种语言制作口语音频
- 使用流媒体实时提供音频输出
- 配音
TTS 目前支持6个不同的配音:alloy, echo, fable, onyx, nova, and shimmer
输出格式
默认响应格式是 "mp3",但也支持其他格式,如 "opus"、"aac"、"flac" 和 "pcm"。
- Opus:适用于互联网流媒体和通讯,低延迟。
- AAC:用于数字音频压缩,受 YouTube、Android、iOS 的偏好。
- FLAC:用于无损音频压缩,受音频爱好者喜爱,适用于存档。
- WAV:未压缩的 WAV 音频,适用于低延迟应用以避免解码开销。
- PCM:类似于 WAV,但包含未带头部的原始样本,24kHz(16位有符号,小端)。
支持语言
TTS 模型在语言支持方面非常广泛(针对英语发音做了优化): 阿非利卡语、阿拉伯语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、波斯尼亚语、保加利亚语、加泰罗尼亚语、中文、

浙公网安备 33010602011771号