科大讯飞
  1. 星火认知大模型
科大讯飞
  • iOS SDK接入文档
  • 平台文档
    • 开发者新手指南
      • 平台简介
      • 快速指引
    • 服务协议
      • 讯飞开放平台用户服务协议
      • 讯飞星火认知大模型接口服务协议
      • 开发者应用创建规则
      • 讯飞开放平台隐私政策
      • 开发者用户个人信息保护合规指引
      • 开放平台SDK合规使用说明
      • SDK隐私政策总览
      • SDK合规使用说明总览
      • 科大讯飞儿童隐私保护政策
      • 讯飞开放平台SLA协议
      • 讯飞开放平台订购协议
    • 用户认证须知
      • 用户认证简介
      • 企业实名认证
      • 个人实名认证
      • 初创团队认证
      • 学生认证
      • 公益项目认证
      • 个人升级企业认证
    • 财务
      • 退款规则及退款流程
      • 财务相关说明
    • 账号
      • 账号注销与删除流程
      • 账号与应用说明
    • 会员
      • 会员权益详情
      • 会员时效说明
      • 会员试用版
  • 星火认知大模型
    • SparkDesk
      • SparkDesk使用指南
      • SparkDesk隐私政策
      • SparkDesk用户协议
    • 星火认知大模型
      • 服务说明
      • 通用鉴权URL生成说明
      • Spark Android SDK接入文档
      • Linux SDK接入文档
      • Windows SDK接入文档
      • 讯飞星火认知大模型隐私政策
      • Web 文档
        • 星火认知大模型Web API文档
        • 星火大模型V1.5
        • 星火大模型V2
        • 星火大模型V3
    • 星火知识库
      • 星火知识库 API 文档
        • 星火知识库 API 文档
        • 文档问答
        • 文档上传
        • 文档总结
        • 获取文档总结/概要信息
      • 新版Embedding API文档
    • 图片生成
      • 图片生成 API
    • 图片理解
      • 图片理解 API
    • 大模型定制训练平台
      • 产品使用说明
      • 星火微调服务Web API文档文档
        • 星火微调服务Web API文档文档
        • V1.5版本
        • 微调模型
  • 语音识别
    • 语音唤醒(新版)
    • 语音听写
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 音频文件格式说明
      • 语音听写服务说明
      • 语音听写(流式版)SDK隐私政策
      • 语音听写(流式版)SDK合规使用说明
      • HarmonyOS SDK 文档
      • 语音听写自训练平台
      • 语音听写(流式版)WebAPI
    • 语音转写
      • 语音转写服务说明
      • 语音转写 服务协议
      • WebAPI 文档
        • 语音转写 API 文档
        • 文件上传
        • 查询结果
    • 极速语音转写
      • 极速语音转写 API 文档
      • 小文件上传
      • 初始化分块信息
      • 分块上传
      • 分块上传完成
      • 创建任务
      • 查询任务
    • 实时语音转写
      • 实时语音转写服务说明
      • 实时语音转写 API
    • 离线语音听写
      • Android SDK 文档
      • 离线语音听写服务说明
      • 离线语音听写SDK隐私政策
      • 离线语音听写SDK合规使用说明
    • 离线语音听写(新版)
      • Android SDK 文档
      • 离线语音听写隐私政策
    • 语音唤醒
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音唤醒服务说明
      • 离线唤醒SDK隐私政策
    • 语音唤醒(新版)
      • Android SDK 文档
      • Linux SDK 文档
      • 语音唤醒隐私政策
    • 离线命令词识别
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 离线命令词识别服务说明
      • 离线命令词识别SDK隐私政策
      • 离线命令词SDK合规使用说明
  • 语音合成
    • 在线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 服务协议
      • 在线语音合成服务说明
      • 发音人自训练平台使用指南
      • WebAPI
    • 长文本语音合成
      • 长文本语音合成 API 文档
      • 创建任务
      • 查询任务
    • 离线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 服务协议
      • 离线语音合成服务说明
    • AI虚拟人技术
      • Web SDK 2.0 接入指南
      • Android-SDK
      • iOS-SDK
      • Web API 文档
        • AI虚拟人技术 API 文档
        • 音频驱动
        • 启动
        • 文本驱动
        • 停止
        • 心跳
  • 语音扩展
    • 语音评测(流式版)
      • 接口说明
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音评测SDK隐私政策
      • 语音评测(流式版)API
    • 语音评测suntone
      • 语音评测suntone API
    • 离线变声
      • Android SDK 集成文档
    • 音色转换
      • 音色转换 API
    • 性别年龄识别
      • 性别能力识别 API
    • 声纹识别
      • Web API 文档
      • 声纹识别 API
    • 歌曲识别
      • 歌曲识别 API
    • 歌曲识别 ACRCloud
      • 接口说明
      • 哼唱识别
      • 音乐识别
    • AI 客服中间件
      • 接口说明
      • 获取token
      • 查询配置
      • 直接外呼
      • 创建外呼任务
      • 提交任务数据
      • 启动外呼任务
      • 暂停外呼任务
      • 删除外呼任务
      • 查询任务
      • 结果数据推送
      • 话单推送
      • 录音推送
      • 会话推送
      • 呼入话术上下文动态数据获取
  • 自然语言处理
    • 文本纠错
      • 文本纠错 API
      • 黑白名单上传
    • 公文校队
      • 公文校对 API
    • 文本合规
      • 文本合规 API
      • 新增黑名单词库
      • 根据lib_id添加黑名单词条
      • 根据lib_id查询词条明细
      • 根据lib_id删除词条
      • 根据appid查询账户下所有词库
      • 根据lib_id删除词库
      • 创建白名单库
      • 根据lib_id添加放行词条
      • 根据lib_id查询词条详情
      • 根据lib_id删除词条信息
      • 根据appid查询所有词库列表
      • 根据lib_id删除词库
    • 图片合规
      • 图片合规 API
    • 音频合规
      • 音频合规 API
    • 视频合规
      • 视频合规 API
    • 文本改写
      • 文本改写 API
    • 机器翻译
      • 机器翻译(新) API
    • 机器翻译niutrans
      • 机器翻译niutrans API
    • 同声传译
      • 同声传译 API 
    • 离线分词
      • Android SDK 文档
  • 人脸识别
    • 人脸验证与检索
      • Android SDK 文档
      • iOS SDK 文档
      • 人脸验证与检索SDK隐私政策
      • 人脸验证与检索SDK合规使用说明
    • 人脸对比
      • 人脸比对 API
    • 人脸比对sensetime
      • 人脸比对sensetime API
    • 人脸水印照比对
      • 人脸水印照比对 API
    • 静默活体检测
      • 静默活体检测 API
    • 配合式活体检测
      • 配合式活体检测 API
    • 静默活体检测sensetime
      • 静默活体检测sensetime API
    • 人脸检测和属性分析
      • 人脸检测和属性分析 API
    • 人脸特征分析tuputech
      • 年龄 API
      • 颜值 API
      • 性别 API
      • 表情 API
  • 文字识别
    • 通用文字识别
      • 通用文字识别 API
    • 通用文字识别
      • 通用文字识别 intsig API
    • 手写文字识别
      • 手写文字识别 API
    • 印刷文字识别
      • 印刷文字识别 API
    • 印刷文字识别(多语种)
      • 印刷文字识别(多语种)
    • 印刷文字识别(多语种)intsig
      • 印刷文字识别(多语种)intsig API
    • 图片文档还原
      • 图片文档还原 API 
    • 国内通用票据识别
      • 接口说明
      • 国内通用票据识别 API
    • 离线OCR
      • Android SDK 文档
    • 名片识别 intsig
      • 名片识别 API
    • 身份证识别 intsig
      • 身份证识别 intsig API
    • 银行卡识别 intsig
      • 银行卡识别 API
    • 营业执照识别 intsig
      • 营业执照识别 intsig API
    • 增值税发票识别 intsig
      • 增值税发票识别 intsig API
    • 拍照速算识别
      • 接口说明
      • 拍照速算识别 API
    • 公式识别
      • 接口说明
      • 公式识别 API
    • 指尖文字识别
      • 接口说明
      • 指尖文字识别 API
    • 身份证识别
      • 接口说明
      • 身份证识别 API
    • 增值税发票识别
      • 接口说明
      • 增值税发票识别 API
    • 营业执照识别
      • 接口说明
      • 营业执照识别 API
    • 火车票识别
      • 接口说明
      • 火车票识别 API
    • 出租车发票识别
      • 接口说明
      • 出租车发票识别 API
  • 图像识别
    • 场景识别
      • 场景识别 API
    • 物体识别
      • 物体识别 API
    • 场所识别
      • 场所识别 API 文档
  • 基础服务
    • 云服务器 CVM
      • 云服务器 CVM 产品简介
      • 快速入门
      • 服务协议
  • 解决方案
    • 签到解决方案
      • SaaS操作文档
    • 智能硬件通用方案
      • 智能硬件通用方案说明
      • 麦克风阵列Android SDK
      • 麦克风阵列Linux SDK
      • 双麦阵列设计参考
      • 麦克风阵列录音要求
      • 语音唤醒Android SDK
      • 语音唤醒Linux SDK
      • 离线声纹Android SDK
      • 离线声纹Linux SDK
  • MSC API 文档
    • Android
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • Android 常量字段值
      • 基础类
    • IOS
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • 基础类
    • Windows&Linux
      • 文件列表
      • API 文档
    • Java
      • 所有类列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 常量字段值
      • 基础类
  1. 星火认知大模型

Linux SDK接入文档

注意: 该接口可以正式使用。如您需要申请使用,请点击前往产品页面 。
Tips:
1.
计费包含接口的输入和输出内容
2.
1tokens 约等于1.5个中文汉字 或者 0.8个英文单词
3.
星火V1.5支持[搜索]内置插件;星火V2.0和V3.0支持[搜索]、[天气]、[日期]、[诗词]、[字词]、[股票]六个内置插件

#1. SDK介绍#

Spark SDK提供了一套快速集成星火大模型的工具,让开发者无需关注底层协议细节,提高开发效率。支持Android、Linux、iOS、Windows多个平台,方便开发者选择最适合自己的平台进行开发。Spark SDK可以帮助企业快速将星火大模型应用到业务场景中,提高效率和竞争力。本文档主要介绍Linux平台集成过程。

#2. 兼容性说明#

类别兼容范围
系统支持x86,x86_64,arm和arm64架构,支持交叉编译,适配常见芯片型号。
开发环境建议使用 VS Studio 进行开发

#3. 授权说明#

星火认知大模型授权支持按照tokens授权和设备级授权两种方式。
tokens 授权:授权tokens总量,按照tokens 使用量计费,1 tokens 约等于1.5个中文汉字 或者 0.8个英文单词。
设备级授权:授权设备台数和有效期,按照设备指纹计量计费,此方式仅支持定制级客户,如有需要请与开放平台联系。

#4. SDK集成包目录结构#

将SDK zip包解压缩,得到如下文件:
├── Demo Spark的使用DEMO,DEMO中已经集成了SDK,您可以参考DEMO,集成SDK。集成前,请先测通DEMO,了解调用原理。
├── ReleaseNotes.txt SDK版本日志
├── SDK Spark SDK
│ └── libSparkChain.so
└── Spark LLM Linux SDK集成文档.pdf Spark集成指南

#5. 接口调用流程图#

img

#6. SDK工程配置#

#6.1 导入SDK库#

将SDK/libs文件夹、头文件文件夹include存放到项目中,并在环境变量里添加库路径;

#6.2 配置权限#

如果需要存储日志,SDK日志路径需要读写权限,缺少读写权限,日志将无法正常存储。

#7. 快速集成#

#7.1 SDK初始化#

**在使用Spark SDK 星火大模型交互功能前,需要首先开通星火大模型授权并获取已开通授权的应用信息(appId、apiKey、apiSecret)。SDK全局只需要初始化一次。**初始化示例如下:
初始化参数说明:
参数名类型说明是否必填
appIDchar*创建应用后,生成的应用ID是
apiKeychar*创建应用后,生成的唯一应用标识是
apiSecretchar*创建应用后,生成的唯一应用秘钥是
logLevelint0:VERBOSE,1:DEBUG,2:INFO,3:WARN,4:ERROR,5:FATAL,100:OFF否
logPathchar*日志存储路径,设置则会把日志存在该路径下,不设置则会把日志打印在终端上否
uidchar*用户自定义标识否
初始化返回值:0:初始化成功,非0:初始化失败,请根据具体返回值参考错误码章节查询原因。

#7.2 配置星火大模型参数#

首先需要配置星火大模型的相关参数,示例如下:
参数说明:
字段含义类型限制是否必传
domain需要使用的领域char*取值为[general,generalv2],默认generalv2 general:通用大模型V1.5版本 generalv2:通用大模型V2版本 general和generalv2对应的url不同,需要严格对应。url地址参见下文。否
url配置chat服务器域名地址char*general:ws(s): //spark-api.xf-yun.com/v1.1/chat generalv2:ws(s): //spark-api.xf-yun.com/v2.1/chat generalv3:ws(s): //spark-api.xf-yun.com/v3.1/chat domian 取值为 general或generalv2 时,SDK自动设置url,可缺省。否
maxToken回答的tokens的最大长度int取值范围1-4096,默认2048否
temperature配置核采样阈值,改变结果的随机程度float最小是0, 最大是1,默认0.5否
auditing内容审核的场景策略char*当前仅支持default否
topK配置从k个候选中随机选择⼀个(⾮等概率)int取值范围1-6,默认值4否
chatID配置关联会话chat_id标识,需要保障用户下唯一char*否

#7.3 星火请求调用#

当前支持同步调用和异步调用两种方式。用户可以通过run方法或者arun方法向大模型发送问题请求,获取大模型返回结果。run方法、arun方法不支持并发调用。

#7.3.1 同步调用#

调用 run方法向大模型发起请求,并同步一次性返回大模型回答结果。该接口返回结果延迟时间取决于大模型返回的结果长度。
#7.3.1.1 请求调用#
run方法参数说明:
参数名类型说明限制是否必填
questionchar*输入信息文本general:4096 tokens generalv2:8192 tokens是
LLMSyncOutput数据结构说明:
参数类型获取方法说明
errCodeintgetErrCode()调用结果状态,0:调用成功,非0:调用失败
errMsgchar*getErrMsg()调用失败时的错误信息
rolechar*getRole()星火大模型的角色,assistant::助手,user:用户
contentchar*getContent()调用结果
completionTokensintgetCompletionTokens()回答的Token大小
promptTokensintgetPromptTokens()包含历史问题的总Tokens大小
totalTokensintgetTotalTokens()promptTokens和completionTokens的和,也是本次交互计费的Tokens大小
返回结果参考7.5节响应协议说明。

#7.3.2 异步调用#

调用 arun方法向大模型发起请求,通过回调的方式异步回大模型回答结果。可在回调接口中接收异步返回的数据和数据和状态。
#7.3.2.1.注册结果回调#
LLMCallbacks数据结构说明:
onLLMResult为星火请求结果回调,参数说明如下:
参数类型说明
resultLLMResult*星火大模型结果实例
usrContextvoid*用户自定义标识
LLMResult结构说明:
方法说明
getRole()星火大模型角色,assistant::助手,user:用户
getContent()调用结果
getCompletionTokens()回答的Token大小
getPromptTokens()包含历史问题的总Tokens大小
getTotalTokens()promptTokens和completionTokens的和,也是本次交互计费的Tokens大小
getStatus()返回结果状态,0:start,1:continue,2:end
onLLMEvent为星火请求事件回调,参数说明如下:
参数类型说明
eventLLMEvent*调用事件结果实例
usrContextvoid*用户自定义标识
LLMEvent结构说明:
方法说明
getEventID()事件ID,15:建立连接,19:连接断开
getEventMsg()事件信息
onLLMError为星火请求错误回调,参数说明如下:
参数类型说明
erroronLLMError*错误信息结果实例
usrContextvoid*用户自定义标识
LLMError结构说明:
方法说明
getErrCode()错误码ID
getErrMsg()错误信息
#7.3.2.2 请求调用#
arun方法参数说明:
参数类型说明限制是否必填
questionchar*输入信息文本general:4096 tokens generalv2和generalv3:8192 tokens是
usrTagvoid*用户自定义标识否
返回结果参考7.5节响应协议说明。

#7.4 多轮会话#

如果交互需要上下文关联,需要把交互历史数据一并传入到run方法或者arun方法中。传入格式如下:
开发者需要构建如上格式的JsonArray字符串传入run或者arun方法中。

#7.5 响应协议说明#

该协议为中间协议,星火大模型是按照此协议格式返回结果。SDK已完成对此协议的解析和封装,获取相应字段方法请查询7.3节LLMOutput和LLMResult的结构说明。
协议结构说明
字段含义说明
header协议头部协议头部,用于描述平台特性的参数
payload响应数据块数据段,携带响应的数据。
响应参数说明
字段含义
sid本次会话的id
status数据状态 0:start,1:continue,2:end
seq数据序号,标明数据为第几块。最小值:0, 最大值:9999999
content文本数据
role星火大模型角色
prompt_tokens包含历史问题的总Tokens大小
completion_tokens回答的Token大小
total_tokenspromptTokens和completionTokens的和,也是本次交互计费的Tokens大小

#7.6 SDK逆初始化#

当SDK需要完整退出时,需调用逆初始化方法释放资源,示例代码如下:
SparkChain::unInit();

#8. 错误码#

错误码包含SDK错误码和云端错误码,SDK错误码用来反馈SDK本地运行时遇到的错误;云端错误码用来反馈星火大模型交互时服务端错误。

#8.1 SDK错误码#

错误码含义自查指南
0操作成功
18007授权应用不匹配(apiKey、apiSecret)apiKey、apiSecret 配置有误,请核对项目中配置的 apiKey、apiSecret 。
18301SDK未初始化在使用大模型前请先初始化 SDK,如果有调用 uninit 方法,再次使用大模型交互时需要重新初始化。
18302SDK初始化失败请根据init接口回调中返回的错误码参考此文档做对应检查
18303SDK 已经初始化重复初始化导致,使用能力时,SDK 只需要初始化一次,请检查 SDK 初始化逻辑是否存在多次初始化。
18304不合法参数请参考demo及集成文档仔细检查所传参数是否正确。
18311sdk同一能力并发路数超出最大限制
18312此实例已处在运行态,禁止单实例并发运行
18400工作目录无写权限在设置 workDir 时,请确保该工作路径有读写权限。若无法设置读写权限,请修改为有读写权限的工作路径。
18402文件打开失败请检查 日志中所打印的文件是否存在,以及对应路径下是否有读权限。
18500未找到该参数 key请参照demo或集成文档仔细检查参数名拼写
18501参数范围溢出,不满足约束条件请根据文档检查调用 SDK 方法时所传参数范围,需要确保所传参数符合协议约束要求
18502SDK 初始化参数为空请根据 SDK 集成文档检查 SDK 初始化代码,确保必填参数有值且合法
18503SDK 初始化参数中 appId 为空appId 为空值,请在 SDK 初始化时传入正确的 appId 值
18504SDK 初始化参数中 apiKey为空apiKey为空值,请在 SDK 初始化时传入正确的 apiKey值
18505SDK 初始化参数中 apiSecret 为空apiSecret 为空值,请在 SDK 初始化时传入正确的 apapiSecret 值
18509必填参数缺失请参考demo或者文档检查是否漏传必填参数
18700通用网络错误请检查网络连接是否正常
18701网络不通请检查网络连接是否正常
18702网关检查不过检查设备时间是否正确; 请检查 SDK 初始化时所传 apiKey、apiScrect 是否正确;
18703云端响应格式不对请检查网络是否可以正常访问外网
18705应用 ApiKey & ApiSecret 校验失败请检查 apiKey、apiSecret 是否正确
18707授权已过期请检查授权期限
18708无可用授权没有授权或者授权已满
18712网络请求 404 错误请检查网络是否通畅
18713设备指纹安全等级不匹配设备指纹安全等级不符合要求
18714应用信息有误服务端无法查询到api_key,请检查api_key和api_secret信息是否填写正确
18717SDK授权不足授权数量已满
18801连接建立出错请检查网络是否通畅
18802结果等待超时请检查网络是否通畅
18803连接状态异常请检查网络是否通畅
18902并发超过路数限制
18903大模型规划步骤为空请检查请求数据的意图是否明确
18904插件未找到请检查是否使用了未存在的插件
18906与大模型交互次数超限制
18907运行超限制时长
18908大模型返回结果格式异常
18951同一流式大模型会话,禁止并发交互请求
18952输入文本格式或内容非法

#8.2 服务端错误码#

错误码错误信息
0成功
10000升级为ws出现错误
10001通过ws读取用户的消息出错
10002通过ws向用户发送消息 错
10003用户的消息格式有错误
10004用户数据的schema错误
10005用户参数值有错误
10006用户并发错误:当前用户已连接,同一用户不能多处同时连接。
10007用户流量受限:服务正在处理用户当前的问题,需等待处理完成后再发送新的请求。(必须要等大模型完全回复之后,才能发送下一个问题)
10008服务容量不足,联系工作人员
10009和引擎建立连接失败
10010接收引擎数据的错误
10011发送数据给引擎的错误
10012引擎内部错误
10013输入内容审核不通过,涉嫌违规,请重新调整输入内容
10014输出内容涉及敏感信息,审核不通过,后续结果无法展示给用户
10015appid在黑名单中
10016appid授权类的错误。比如:未开通此功能,未开通对应版本,token不足,并发超过授权 等等
10017清除历史失败
10019表示本次会话内容有涉及违规信息的倾向;建议开发者收到此错误码后给用户一个输入涉及违规的提示
10110服务忙,请稍后再试
10163请求引擎的参数异常 引擎的schema 检查不通过
10222引擎网络异常
10907token数量超过上限。对话历史+问题的字数太多,需要精简输入
11200授权错误:该appId没有相关功能的授权 或者 业务量超过限制
11201授权错误:日流控超限。超过当日最大访问量的限制
11202授权错误:秒级流控超限。秒级并发超过授权路数限制
11203授权错误:并发流控超限。并发路数超过授权路数限制
详见服务说明
上一页
Spark Android SDK接入文档
下一页
Windows SDK接入文档
Built with