讯飞 AI 套件(星火 X2.6 大模型 + 语音听写 IAT)
一套代码覆盖讯飞两大能力:
| 能力 | 模块 | 用途 |
|---|---|---|
| 文本大模型 | scripts/spark_x26.py |
星火 Spark X2.6(293B MoE,激活 30B)对话、推理、创作,三协议兼容 |
| 语音听写 | scripts/xfyun_iat.py |
语音听写大模型(中英)V2.0,音频文件/麦克风转文字 |
两个模块共用一套凭证管理,可单独用,也可组合(语音转文字 → 大模型总结)。
安装依赖
pip install openai anthropic websocket-client
# 麦克风实时转写还需: pip install pyaudio
凭证配置(三选一)
星火 X2.6:
1. 密钥库 ~/.workbuddy-key-fallback/xfyun-spark-x2.6.key(内容 ak-你的Key)
2. 环境变量 SPARK_API_PASSWORD 或 XFYUN_API_KEY
3. 代码传参 SparkX26(api_key='ak-...')
语音听写 IAT:
1. 密钥库 ~/.workbuddy-key-fallback/xfyun-iat.key(JSON {"app_id":"...","api_key":"...","api_secret":"..."})
2. 环境变量 XFYUN_APP_ID / XFYUN_API_KEY / XFYUN_API_SECRET
3. 代码传参 XfyunIAT(app_id='...', api_key='...', api_secret='...')
凭证获取:星火 X2.6 在讯飞星辰 MaaS 平台(maas.xfyun.cn)领取;IAT 在讯飞开放平台(xfyun.cn)创建应用获得。
工作流(按顺序)
本 skill 的协作方式:先体检凭证、再自测连通、最后才做业务调用。很多集成问题出在凭证和依赖,先排除再谈功能。
① 凭证体检(任何调用前先做):python scripts/check_creds.py
检查两个模块的密钥库文件/环境变量是否就位,输出体检报告。凭证缺失时直接提示配置方式,不盲目调用报错。
② 一键自测(凭证通过后做):python scripts/selftest.py
端到端验证:星火基本调用 + 关闭思考 + 流式输出 + Anthropic 格式;IAT 签名 URL + 转写测试。快速模式 --quick 只跑核心链路。
③ 业务调用(自测通过后才做):按下方「快速开始」或 references 的按需加载表。
④ 故障排查(报错时):先跑 check_creds.py 排除凭证问题,再跑 selftest.py 定位模块问题,最后查 references/troubleshooting.md 的具体报错。
⑤ 组合调用(语音+文本):见 references/combined-usage.md。
快速开始
星火 X2.6
from spark_x26 import SparkX26
spark = SparkX26()
# 基本调用(思考模式 auto)
print(spark.chat("你好"))
# 关闭思考提速(简单任务)
print(spark.chat("你好", thinking_type="disabled"))
# 流式输出
for text in spark.chat("讲一个笑话", stream=True):
print(text, end="")
# Anthropic 格式(Claude Code 等工具)
print(spark.chat_anthropic("你好"))
# Responses API(Codex 等框架)
print(spark.responses("你好"))
模块级便捷接口(无需实例化):
from spark_x26 import chat, chat_anthropic, responses
chat("你好")
语音听写 IAT
from xfyun_iat import XfyunIAT
iat = XfyunIAT()
# 文件转写(mp3 / pcm,16kHz,单声道,≤60 秒)
text = iat.transcribe_file("test.mp3")
# 实时麦克风转写(需 pyaudio)
text = iat.transcribe_mic()
组合:语音转文字 → 大模型总结
from xfyun_iat import XfyunIAT
from spark_x26 import SparkX26
iat = XfyunIAT()
spark = SparkX26()
text = iat.transcribe_file("meeting.mp3")
summary = spark.chat(f"请用三点总结以下内容:\n{text}", thinking_type="disabled")
参数速查
星火 X2.6
| 参数 | 默认值 | 说明 |
|---|---|---|
thinking_type |
"auto" |
auto / enabled(强制思考)/ disabled(关闭思考提速) |
max_tokens |
4096 |
输出上限(模型最大 8192) |
temperature |
0.7 |
采样温度 |
stream |
False |
流式返回 Iterator[str] |
端点:OpenAI /v2/chat/completions、Anthropic /anthropic/v1/messages、Responses /v1/responses。模型 spark-x2.6,293B MoE,200K 上下文。
语音听写 IAT
| 参数 | 默认值 | 说明 |
|---|---|---|
language |
zh_cn |
zh_cn 中文 / en_us 英文 |
accent |
mandarin |
口音 |
dwa |
wpgs |
动态修正模式 |
encoding |
lame(文件)/ raw(麦克风) |
音频编码 |
sample_rate |
16000 |
采样率 |
音频要求:mp3 或 pcm,16kHz,单声道,16bit,≤60 秒。
交互原则:什么自动做,什么必须先问
| 操作 | 处理方式 | 要不要确认 |
|---|---|---|
| 凭证体检、自测、单句调用 | 机械可判,直接执行 | 不需要(你随时可否决) |
| 批量转写、批量总结 | 给方案,说明批次大小 | 轻量确认 |
| 改写用户凭证文件、批量删除记录 | 不可逆操作 | 必须确认 |
| 涉及外部发送(邮件、发布) | 外部动作 | 必须确认 |
你的凭证、数据、原话——永不改动。
红线(违反即失败)
- 不硬编码密钥:凭证只从密钥库/环境变量/参数加载,绝不写进代码或日志。
- 不改用户凭证文件:只读取,不写入(除非你明确要求配置)。
- 不改事实:语音转写结果、大模型输出中的数字/引注/原话——调用方需自行核实,本 skill 不做事实校验。
- 不承诺免费额度永久有效:讯飞免费额度有活动期,以官方为准。
- 不打包票接口可用:免费模型高峰可能限流,报错时先自测再排查。
引用加载表(按需,不要一次全载)
| 触发情境 | 加载 |
|---|---|
| 第一次用、凭证未配 | references/credentials.md |
| 跑自测或排查模块报错 | references/troubleshooting.md |
| 需要完整 API 签名/参数 | references/api.md |
| 星火三协议细节、思考模式 | references/spark-protocol.md |
| IAT 协议细节、wpgs 动态修正 | references/iat-protocol.md |
| 组合调用(语音+文本) | references/combined-usage.md |
目录结构
xfyun-ai-suite/
├── SKILL.md # 本文件
├── README.md # 精简说明
├── scripts/
│ ├── spark_x26.py # 星火 X2.6 调用模块
│ ├── xfyun_iat.py # 语音听写 IAT 模块
│ ├── check_creds.py # 凭证体检
│ └── selftest.py # 一键自测
└── references/
├── api.md # 完整 API 参考
├── credentials.md # 凭证管理详解
├── spark-protocol.md # 星火三协议细节
├── iat-protocol.md # IAT 协议细节
├── troubleshooting.md # 故障排查
└── combined-usage.md # 组合用法