利用Python语言调用讯飞星火认知大模型接口实战指南

幂简集成 2024年06月17日

      什么是API接口

      API(应用程序编程接口)是一组规则,允许不同的软件系统相互通信。通过API,开发者可以访问外部系统的功能和数据,而无需了解其内部实现。
      API接口就像一座桥梁,连接应用程序和服务。例如,调用讯飞星火认知大模型接口时,开发者可以通过API请求获取自然语言处理、语音识别等智能服务。这简化了复杂功能的使用,并提升了开发效率。

      大多数API使用HTTP/HTTPS协议,并采用REST风格。REST通过标准的HTTP动词(如GET、POST)对资源进行操作。理解API接口的基础知识是现代开发者的必备技能。

      利用Python语言对接讯飞星火认知大模型接口步骤

      通过以下步骤,我们可以快速集成并调用讯飞星火认知大模型,实现自然语言处理功能。

      步骤一:安装必要的Python包

      首先,确保您的Python环境版本为3.8或更高版本。然后,通过以下命令安装spark_ai_python包:

pip install --upgrade spark_ai_python

      步骤二:配置调用参数

      在开始编写代码之前,需要准备好API的相关配置信息,包括API的URL、应用ID、API密钥和密钥信息等。这些信息可以在讯飞开放平台控制台获取。
      具体的:
1、查找API
      可以通过幂简集成-API HUB快速找到大量AI技术相关API,心仪的API可以在登录后添加到个人书签,便于下次使用快速查找。

      2、创建应用

      https://console.xfyun.cn/app/create

      3、获取秘钥

      https://console.xfyun.cn/services/bm35

      步骤三:编写Python代码

      以下是一个示例代码,展示了如何使用Python调用讯飞星火认知大模型API:

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 = 'your_app_id' SPARKAI_API_SECRET = 'your_api_secret' SPARKAI_API_KEY = 'your_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() # 生成回复 response = spark.generate([messages], callbacks=[handler]) # 打印回复 print(response)

      步骤四:了解请求与响应结构

请求结构

      请求由三个主要部分组成:header,parameter和payload。

{ "header": { "app_id": "your_app_id", "uid": "user_id" }, "parameter": { "chat": { "domain": "generalv3.5", "temperature": 0.5, "max_tokens": 1024 } }, "payload": { "message": { "text": [ {"role": "user", "content": "你是谁"}, {"role": "assistant", "content": "我是星火认知大模型"} ] } } }响应结构

      响应包含两个主要部分:header和payload。

{ "header": { "code": 0, "message": "Success", "sid": "unique_session_id", "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 Calling)

      星火认知大模型支持功能调用(Function Calling),例如天气查询和税率查询。您可以在请求中注册这些功能,并在响应中获取调用结果。

请求示例{ "header": { "app_id": "your_app_id", "uid": "user_id" }, "parameter": { "chat": { "domain": "generalv3.5", "temperature": 0.5, "max_tokens": 1024 } }, "payload": { "message": { "text": [ {"role": "user", "content": "查询明天北京的天气"} ] }, "functions": { "text": [ { "name": "天气查询", "description": "提供天气相关信息", "parameters": { "type": "object", "properties": { "location": {"type": "string", "description": "地点,比如北京"}, "date": {"type": "string", "description": "日期,比如明天"} }, "required": ["location"] } } ] } } }响应示例{ "header": { "code": 0, "message": "Success", "sid": "unique_session_id", "status": 2 }, "payload": { "choices": { "status": 2, "seq": 0, "text": [ { "content": "", "role": "assistant", "content_type": "text", "function_call": { "arguments": "{\"location\":\"北京\",\"date\":\"明天\"}", "name": "天气查询" }, "index": 0 } ] }, "usage": { "text": { "question_tokens": 3, "prompt_tokens": 3, "completion_tokens": 0, "total_tokens": 3 } } } }

      通过以上步骤,我们可以轻松使用Python对接并调用讯飞星火认知大模型API