
文心一言写代码:代码生成力的探索
2024-11-08
在如今的人工智能时代,科大讯飞作为全球领先的智能语音和人工智能企业,其讯飞星火API为开发者提供了强大的语音识别、语音合成、自然语言处理等能力。本文将为您详细介绍如何获取讯飞星火V4.0的API密钥,包括注册、申请和获取密钥的全部过程。
成为开发者,点击页面右上角“注册/登录”按钮,注册并完善信息,即可成为开发者。
获取API密钥后,进行可用性测试是确保其正常工作的重要步骤。以下是使用Python进行快速调用集成星火认知大模型的示例。
步骤一: 安装PyPI上的包,在python环境中执行命令:
pip install --upgrade spark_ai_python
步骤二: 执行Python代码示例:
from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
from sparkai.core.messages import ChatMessage
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
SPARKAI_APP_ID = ''
SPARKAI_API_SECRET = ''
SPARKAI_API_KEY = ''
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)
在使用讯飞星火API搭建应用时,除了获取和测试API密钥外,还需考虑以下因素:
注意: 该接口可以正式使用。如您需要申请使用,请点击前往产品页面。
Tips:
Tips: 星火大模型API当前有Lite、Pro、Pro-128K、Max、Max-32K和4.0Ultra六个版本,各版本独立计量tokens。
传输协议 :ws(s),为提高安全性,强烈推荐wss
请求版本 | 请求地址 |
---|---|
Spark4.0 Ultra | wss://spark-api.xf-yun.com/v4.0/chat |
Spark Max-32K | wss://spark-api.xf-yun.com/chat/max-32k |
Spark Max | wss://spark-api.xf-yun.com/v3.5/chat |
Spark Pro-128K | wss://spark-api.xf-yun.com/chat/pro-128k |
Spark Pro | wss://spark-api.xf-yun.com/v3.1/chat |
Spark Lite | wss://spark-api.xf-yun.com/v1.1/chat |
URL鉴权是保护Web应用中敏感资源的重要安全措施,它通过在URL中嵌入特定参数来控制对资源的访问权限。这些参数通常包括时间戳、随机数、用户ID等,并结合密钥使用哈希算法生成签名,以验证请求的合法性。
讯飞星火URL鉴权参考 通用URL鉴权文档
{
"header": {
"app_id": "12345",
"uid": "12345"
},
"parameter": {
"chat": {
"domain": "generalv3.5",
"temperature": 0.5,
"max_tokens": 1024,
}
},
"payload": {
"message": {
"text": [
{"role":"system","content":"你现在扮演李白,你豪情万丈,狂放不羁;接下来请用李白的口吻和用户对话。"},
{"role": "user", "content": "你是谁"},
{"role": "assistant", "content": "....."},
{"role": "user", "content": "你会做什么"}
]
}
}
接口请求字段由三个部分组成:header,parameter, payload。
header部分
参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
---|---|---|---|---|
app_id | string | 是 | 应用appid,从开放平台控制台创建的应用中获取 | |
uid | string | 否 | 每个用户的id,非必传字段,用于后续扩展 ,”maxLength”:32 |
parameter.chat部分
参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
---|---|---|---|---|
domain | string | 是 | 取值为[lite,generalv3,pro-128k,generalv3.5,max-32k,4.0Ultra] | 指定访问的模型版本: |
在不返回检索信源的情况下,大模型流式返回结构如下:
{
"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
}
}
}
}
Function call 作为大模型能力扩展的核心,支持大模型在交互过程中识别出需要调度的外部接口:
注:当前仅Spark Max/4.0 Ultra支持了该功能;需要请求参数payload.functions中申明大模型需要辨别的外部接口,申明方式见下方请求示例
{
"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": "天气插件可以提供天气相关信息。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "地点,比如北京。"
},
"date": {
"type": "string",
"description": "日期。"
}
},
"required": [
"location"
]
}
}
]
}
}
}
问题1:如何找到讯飞星火 API
幂简集成是国内领先的API集成管理平台,专注于为开发者提供全面、高效、易用的API集成解决方案。幂简API平台可以通过以下两种方式找到所需API:通过关键词搜索API (例如,输入’有道翻译 API‘这类品类词,更容易找到结果)、或者从API hub分类页进入寻找。
问题2:讯飞星火API的替代品有哪些?
市场上存在免费、付费两种替代者,例如:
本文详细介绍了获取讯飞星火大模型API密钥的步骤,从访问科大讯飞官网到注册账户,再到创建项目和获取密钥,为开发者提供了全面的操作指南。文章还包括了如何进行API可用性测试的示例,以及使用过程中需要注意的关键因素,如接口说明、服务配置等。通过这些详细的步骤和实用的建议,开发者可以轻松地将讯飞星火大模型的强大功能融入到自己的项目中。