3.訪問控制臺,登錄后點在線調(diào)試進(jìn)入控制臺。

4.點擊創(chuàng)建新應(yīng)用創(chuàng)建應(yīng)用。

5.進(jìn)入服務(wù)詳情頁

可以訪問接口文檔,對應(yīng)用進(jìn)行自定義設(shè)置。

2.訊飛星火 API秘鑰可用性測試

在獲取API密鑰后,進(jìn)行可用性測試是確保其正常工作的重要步驟。

快速調(diào)用集成星火認(rèn)知大模型(Python示例)

注:項目僅支持 Python3.8+
步驟一:安裝PyPI上的包,在python環(huán)境中執(zhí)行命令

pip install --upgrade spark_ai_python

步驟二:python代碼示例執(zhí)行

from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
from sparkai.core.messages import ChatMessage

#星火認(rèn)知大模型Spark Max的URL值,其他版本大模型URL值請前往文檔(https://www.xfyun.cn/doc/spark/Web.html)查看
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
#星火認(rèn)知大模型調(diào)用秘鑰信息,請前往訊飛開放平臺控制臺(https://console.xfyun.cn/services/bm35)查看
SPARKAI_APP_ID = ''
SPARKAI_API_SECRET = ''
SPARKAI_API_KEY = ''
#星火認(rèn)知大模型Spark Max的domain值,其他版本大模型domain值請前往文檔(https://www.xfyun.cn/doc/spark/Web.html)查看
SPARKAI_DOMAIN = 'generalv3.5'

if __name__ == '__main__':
spark = ChatSparkLLM(
spark_api_url=SPARKAI_URL,
spark_app_id=SPARKAI_APP_ID,
spark_api_key=SPARKAI_API_KEY,
spark_api_secret=SPARKAI_API_SECRET,
spark_llm_domain=SPARKAI_DOMAIN,
streaming=False,
)
messages = [ChatMessage(
role="user",
content='你好呀'
)]
handler = ChunkPrintHandler()
a = spark.generate([messages], callbacks=[handler])
print(a)

3. 使用訊飛星火 API搭建應(yīng)用的其他關(guān)鍵考慮因素

在使用訊飛星火API搭建應(yīng)用時,除了獲取和測試API密鑰外,還需考慮以下因素:

接口說明

注意: 該接口可以正式使用。如您需要申請使用,請點擊前往產(chǎn)品頁面

Tips:

1計費包含接口的輸入和輸出內(nèi)容
21 token約等于1.5個中文漢字 或者 0.8個英文單詞
3Spark Lite支持[搜索]內(nèi)置插件;Spark Pro, Spark Max和Spark 4.0Ultra支持[搜索]、[天氣]、[日期]、[詩詞]、[字詞]、[股票]六個內(nèi)置插件
4Spark 4.0Ultra/Max現(xiàn)已支持system、Function Call功能
5Spark 4.0Ultra版本現(xiàn)已支持返回聯(lián)網(wǎng)檢索的信源標(biāo)題及地址

1.1 請求地址

Tips: 星火大模型API當(dāng)前有Lite、Pro、Pro-128K、Max、Max-32K和4.0 Ultra六個版本,各版本獨立計量tokens。

傳輸協(xié)議 :ws(s),為提高安全性,強(qiáng)烈推薦wss

請求版本請求地址
Spark4.0 Ultrawss://spark-api.xf-yun.com/v4.0/chat
Spark Max-32Kwss://spark-api.xf-yun.com/chat/max-32k
Spark Maxwss://spark-api.xf-yun.com/v3.5/chat
Spark Pro-128K wss://spark-api.xf-yun.com/chat/pro-128k
Spark Prowss://spark-api.xf-yun.com/v3.1/chat
Spark Litewss://spark-api.xf-yun.com/v1.1/chat

1.2 接口鑒權(quán)

URL鑒權(quán)是保護(hù)Web應(yīng)用中敏感資源的重要安全措施,它通過在URL中嵌入特定參數(shù)來控制對資源的訪問權(quán)限。這些參數(shù)通常包括時間戳、隨機(jī)數(shù)、用戶ID等,并結(jié)合密鑰使用哈希算法生成簽名,以驗證請求的合法性。

訊飛星火URL鑒權(quán)參考 通用URL鑒權(quán)文檔

1.3 接口請求

1.3.1 請求參數(shù)

# 參數(shù)構(gòu)造示例如下
{
"header": {
"app_id": "12345",
"uid": "12345"
},
"parameter": {
"chat": {
"domain": "generalv3.5",
"temperature": 0.5,
"max_tokens": 1024,
}
},
"payload": {
"message": {
# 如果想獲取結(jié)合上下文的回答,需要開發(fā)者每次將歷史問答信息一起傳給服務(wù)端,如下示例
# 注意:text里面的所有content內(nèi)容加一起的tokens需要控制在8192以內(nèi),開發(fā)者如有較長對話需求,需要適當(dāng)裁剪歷史信息
"text": [
#如果傳入system參數(shù),需要保證第一條是system
{"role":"system","content":"你現(xiàn)在扮演李白,你豪情萬丈,狂放不羈;接下來請用李白的口吻和用戶對話。"} #設(shè)置對話背景或者模型角色
{"role": "user", "content": "你是誰"} # 用戶的歷史問題
{"role": "assistant", "content": "....."} # AI的歷史回答結(jié)果
# ....... 省略的歷史對話
{"role": "user", "content": "你會做什么"} # 最新的一條問題,如無需上下文,可只傳最新一條問題
]
}
}
}

接口請求字段由三個部分組成:header,parameter, payload。 字段解釋如下

header部分

參數(shù)名稱類型必傳參數(shù)要求參數(shù)說明
app_idstring應(yīng)用appid,從開放平臺控制臺創(chuàng)建的應(yīng)用中獲取
uidstring每個用戶的id,非必傳字段,用于后續(xù)擴(kuò)展 ,”maxLength”:32

parameter.chat部分

參數(shù)名稱類型必傳參數(shù)要求參數(shù)說明
domainstring取值為[lite,generalv3,pro-128k,generalv3.5,max-32k,4.0Ultra]指定訪問的模型版本:
lite指向Lite版本;
generalv3指向Pro版本;
pro-128k指向Pro-128K版本;
generalv3.5指向Max版本;
max-32k指向Max-32K版本;
4.0Ultra指向4.0 Ultra版本;
注意:不同的取值對應(yīng)的url也不一樣!
temperaturefloat取值范圍 (0,1] ,默認(rèn)值0.5核采樣閾值。用于決定結(jié)果隨機(jī)性,取值越高隨機(jī)性越強(qiáng)即相同的問題得到的不同答案的可能性越高
max_tokensintPro、Max、Max-32K、4.0 Ultra 取值為[1,8192],默認(rèn)為4096;
Lite、Pro-128K 取值為[1,4096],默認(rèn)為4096。
模型回答的tokens的最大長度
top_kint取值為[1,6],默認(rèn)為4從k個候選中隨機(jī)選擇?個(?等概率)
show_ref_labelboolean取值范圍[true,false] ,默認(rèn) false該參數(shù)僅4.0 Ultra版本支持,當(dāng)設(shè)置為true時,如果輸入內(nèi)容觸發(fā)聯(lián)網(wǎng)檢索插件,會先返回檢索信源列表,然后再返回星火回復(fù)結(jié)果,否則僅返回星火回復(fù)結(jié)果

payload.message.text部分
注意:1、請確保text下所有content內(nèi)容累計的tokens數(shù)量在模型上下文長度的限制之內(nèi)。具體可參考下文中content字段的參數(shù)要求
2、如果傳入system參數(shù),需要保證第一條是system;多輪交互需要將之前的交互歷史按照system-user-assistant-user-assistant進(jìn)行拼接

參數(shù)名稱類型必傳參數(shù)要求參數(shù)說明
rolestring取值為[system,user,assistant]system用于設(shè)置對話背景(僅Max、Ultra版本支持)
user表示是用戶的問題,
assistant表示AI的回復(fù)
contentstring所有content的累計tokens長度,不同版本限制不同:
Lite、Pro、Max、4.0 Ultra版本: 不超過8192;
Max-32K版本: 不超過32* 1024;
Pro-128K版本:不超過 128*1024;
用戶和AI的對話內(nèi)容

1.4 接口響應(yīng)

在不返回檢索信源的情況下,大模型流式返回結(jié)構(gòu)如下:

# 接口為流式返回,此示例為最后一次返回結(jié)果,開發(fā)者需要將接口多次返回的結(jié)果進(jìn)行拼接展示
{
"header":{
"code":0,
"message":"Success",
"sid":"cht000cb087@dx18793cd421fb894542",
"status":2
},
"payload":{
"choices":{
"status":2,
"seq":0,
"text":[
{
"content":"我可以幫助你的嗎?",
"role":"assistant",
"index":0
}
]
},
"usage":{
"text":{
"question_tokens":4,
"prompt_tokens":5,
"completion_tokens":9,
"total_tokens":14
}
}
}
}

在不返回檢索信源的情況下,接口返回字段分為兩個部分,header,payload。字段解釋如下

header部分

字段名類型字段說明
codeint錯誤碼,0表示正常,非0表示出錯;詳細(xì)釋義可在接口說明文檔最后的錯誤碼說明了解
messagestring會話是否成功的描述信息
sidstring會話的唯一id,用于訊飛技術(shù)人員查詢服務(wù)端會話日志使用,出現(xiàn)調(diào)用錯誤時建議留存該字段
statusint會話狀態(tài),取值為[0,1,2];0代表首次結(jié)果;1代表中間結(jié)果;2代表最后一個結(jié)果

payload.choices部分

字段名類型字段說明
statusint文本響應(yīng)狀態(tài),取值為[0,1,2]; 0代表首個文本結(jié)果;1代表中間文本結(jié)果;2代表最后一個文本結(jié)果
seqint返回的數(shù)據(jù)序號,取值為[0,9999999]
contentstringAI的回答內(nèi)容
rolestring角色標(biāo)識,固定為assistant,標(biāo)識角色為AI
indexint結(jié)果序號,取值為[0,10]; 當(dāng)前為保留字段,開發(fā)者可忽略

payload.usage部分(在最后一次結(jié)果返回)

字段名類型字段說明
question_tokensint保留字段,可忽略
prompt_tokensint包含歷史問題的總tokens大小
completion_tokensint回答的tokens大小
total_tokensintprompt_tokens和completion_tokens的和,也是本次交互計費的tokens大小

在返回檢索信源的情況下,在大模型返回結(jié)果之前會先返回檢索信源,結(jié)構(gòu)如下:

{
"header": {
"code": 0,
"message": "Success",
"sid": "cht000b79a4@dx190da456b5db80a560",
"status": 1
},
"payload": {
"plugins": {
"text": [
{
"name": "ifly_search",
"content": "[{\"index\":1,\"url\":\"https://baike.baidu.com/item/%E6%9B%B9%E6%93%8D/6772\",\"title\":\"曹操(中國東漢末年權(quán)臣,曹魏政權(quán)的奠基者)_百度百科\"},{\"index\":2,\"url\":\"https://zhidao.baidu.com/question/437349472.html\",\"title\":\"曹操是哪一年出生的? - 百度知道\"},{\"index\":3,\"url\":\"http://www.lidaishi.com/default.aspx?did=130019\",\"title\":\"曹操的一生事跡簡介-歷代史歷史網(wǎng)\"},{\"index\":4,\"url\":\"https://zhidao.baidu.com/question/374585705.html\",\"title\":\"曹操生于哪一年? - 百度知道\"},{\"index\":5,\"url\":\"https://baike.baidu.hk/item/%E6%9B%B9%E6%93%8D/6772\",\"title\":\"曹操(中國東漢末年權(quán)臣,曹魏政權(quán)的奠基者)_百度百科\"}]",
"content_type": "text",
"content_meta": null,
"role": "tool",
"status": "finished",
"invoked": {
"namespace": "ifly_search",
"plugin_id": "ifly_search",
"plugin_ver": "",
"status_code": 200,
"status_msg": "Success",
"type": "local"
}
}
]
}
}
}

解析檢索信源Python示例:

if('plugins' in data['payload']):
text_list = data['payload']['plugins']['text']
search_refer = text_list[0]
refer_content = search_refer['content']
refer_list = json.loads(refer_content)
print("參考內(nèi)容:")
for line in refer_list:
num = line['index']
url = line['url']
title = line['title']
print(str(num) + "、" + title + "[ " + url + " ]")

4.訊飛星火 API進(jìn)階指引

1.Function Call說明

Function call 作為大模型能力擴(kuò)展的核心,支持大模型在交互過程中識別出需要調(diào)度的外部接口:
注:當(dāng)前僅Spark Max/4.0 Ultra 支持了該功能;需要請求參數(shù)payload.functions中申明大模型需要辨別的外部接口,申明方式見下方請求示例

1.1接口請求

1.1.1 請求示例

# 參數(shù)構(gòu)造示例如下,僅在原本生成的基礎(chǔ)上,增加了functions.text字段,用于方法的注冊
{
"header": {
"app_id": appid,
"uid": "1234"
},
"parameter": {

"chat": {
"domain": domain,
"random_threshold": 0.5,
"max_tokens": 2048,
"auditing": "default"
}
},
"payload": {
"message": {
"text": [
{"role": "user", "content": ""} # 用戶的提問
]
},
"functions": {
"text": [
{
"name": "天氣查詢",
"description": "天氣插件可以提供天氣相關(guān)信息。你可以提供指定的地點信息、指定的時間點或者時間段信息,來精準(zhǔn)檢索到天氣信息。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "地點,比如北京。"
},
"date": {
"type": "string",
"description": "日期。"
}
},
"required": [
"location"
]
}
},
{
"name": "稅率查詢",
"description": "稅率查詢可以查詢某個地方的個人所得稅率情況。你可以提供指定的地點信息、指定的時間點,精準(zhǔn)檢索到所得稅率。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "地點,比如北京。"
},
"date": {
"type": "string",
"description": "日期。"
}
},
"required": [
"location"
]
}
}
]
}
}
}

1.1.2參數(shù)說明

接口請求payload.functions字段解釋如下:

參數(shù)名稱類型必傳參數(shù)要求參數(shù)說明
textarray列表形式,列表中的元素是json格式元素中包含name、description、parameters屬性
namestringfunction名稱用戶輸入命中后,會返回該名稱
descriptionstringfunction功能描述描述function功能即可,越詳細(xì)越有助于大模型理解該function
parametersjsonfunction參數(shù)列表包含type、properties、required字段
parameters.typestring參數(shù)類型
parameters.propertiesstring參數(shù)信息描述該內(nèi)容由用戶定義,命中該方法時需要返回哪些參數(shù)
properties.x.typestring參數(shù)類型描述該內(nèi)容由用戶定義,需要返回的參數(shù)是什么類型
properties.x.descriptionstring參數(shù)詳細(xì)描述該內(nèi)容由用戶定義,需要返回的參數(shù)的具體描述
parameters.requiredarray必須返回的參數(shù)列表該內(nèi)容由用戶定義,命中方法時必須返回的字段

1.2接口響應(yīng)

1.2.1示例如下

// 觸發(fā)了function_call的情況下,只會返回一幀結(jié)果,其中status 為2
{"header":{"code":0,"message":"Success","sid":"cht000b41d5@dx18b851e6931b894550","status":2},"payload":{"choices":{"status":2,"seq":0,"text":[{"content":"","role":"assistant","content_type":"text","function_call":{"arguments":"{\"datetime\":\"今天\",\"location\":\"合肥\"}","name":"天氣查詢"},"index":0}]},"usage":{"text":{"question_tokens":3,"prompt_tokens":3,"completion_tokens":0,"total_tokens":3}}}}

1.2.2返回字段說明

字段名類型字段說明
function_calljsonfunction call 返回結(jié)果
function_call.argumentsjson客戶在請求體中定義的參數(shù)及參數(shù)值
function_call.namestring客戶在請求體中定義的方法名稱

5.價格說明

5.常見問題

問題1:如何找到訊飛星火 API

冪簡集成是國內(nèi)領(lǐng)先的API集成管理平臺,專注于為開發(fā)者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關(guān)鍵詞搜索API(例如,輸入’有道翻譯 API‘這類品類詞,更容易找到結(jié)果)、或者從API hub分類頁進(jìn)入尋找。

問題2:訊飛星火 API的替代品有哪些?

市場上存在免費、付費兩種替代者

例如

百川大模型API接口介紹及對接-百川智能 -超全API平臺-冪簡集成

Copilot AI大模型API接口介紹及對接 -超全API平臺-冪簡集成

混元大模型API接口介紹及對接-騰訊 -超全API平臺-冪簡集成

豆包大模型API接口介紹及對接-字節(jié)跳動 -超全API平臺-冪簡集成

千帆大模型API接口介紹及對接-百度智能云 -超全API平臺-冪簡集成

360多模態(tài)大語言模型API接口介紹及對接 -超全API平臺-冪簡集成

更多競品可以在訊飛星火API開放平臺找到。

6.總結(jié)

本文詳細(xì)介紹了獲取訊飛星火大模型API密鑰的步驟,從訪問科大訊飛官網(wǎng)到注冊賬戶,再到創(chuàng)建項目和獲取密鑰,為開發(fā)者提供了全面的操作指南。文章還包括了如何進(jìn)行 API 可用性測試的示例,以及使用過程中需要注意的關(guān)鍵因素,如接口說明、服務(wù)配置等。通過這些詳細(xì)的步驟和實用的建議,開發(fā)者可以輕松地將訊飛星火大模型的強(qiáng)大功能融入到自己的項目中。

上一篇:

如何獲取紫東太初 API Key 密鑰(分步指南)

下一篇:

如何獲取騰訊地圖 API Key 密鑰(分步指南)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費