2026年调用讯飞星火认知大模型实现问答

调用讯飞星火认知大模型实现问答p img alt src https i blog csdnimg cn direct 07234fe2dab0 png p 本次通过使用 Websocket 协议调用星火认知大模型 api 实现问答功能 首先需要设置环境变量

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 

        本次通过使用Websocket协议调用星火认知大模型api实现问答功能,首先需要设置环境变量:

 
  

        需要将‘YOUR_APPID‘、’YOUR_API_KEY’、‘YOUR_API_SECRET‘替换为自己的相应信息,获取这些信息,需要进入讯飞控制台,选择自己使用的版本,右侧可以看的所需要的信息。

        初始化一个用于处理讯飞星火大模型 WebSocket 认证的类,接收四个参数:APPID(应用ID)、APIKey(API密钥)、APISecret(API密钥对应的密钥)和 Spark_url(API地址),再使用 urlparse 解析 URL,获取主机名(host)和路径(path)。

 
  

        按照星火认知模型文档要求生成时间戳,首先获取当前时间,再将时间转换为 RFC1123 格式(例如:Thu, 12 Jun 2025 08:00:49 GMT)。

 
  

构造签名原文,按照讯飞API的要求,拼接签名字符串,包含三个部分:host、date 和请求行(GET + 路径 + HTTP版本),每部分用换行符分隔。

 
  

        使用 HMAC-SHA256 算法对签名原文进行加密,使用 APISecret 作为密钥,将结果进行 Base64 编码。

 
  

        构建认证头信息,包含:api_key:API密钥,algorithm:使用的加密算法(hmac-sha256)、headers:参与签名的头部字段、signature:生成的签名,对整个认证头进行 Base64 编码。

 
  

        将认证信息组合成字典,使用 urlencode 将字典转换为 URL 查询字符串,将查询字符串附加到原始 URL 后面,从而生成最终URL。

 
  

完整代码:

 
  

        接下来将构建CustomSparkLLM(LLM)方法,此方法继承自 LangChain 的 LLM 基类,其中需要定义必要的认证信息:appid、api_key、api_secret,同时设置讯飞星火大模型的 WebSocket URL 和模型版本(我选择4.0Ultra)

 
  

        进入上述链接查看所选择版本的请求地址。

        添加LLM类型标识,标识这是一个讯飞星火大模型,实现 LangChain 要求的 _llm_type 属性

 
  

        创建主要调用方法,实现 LangChain 的 _call 方法,同时接收用户输入的问题,返回模型的回答。

 
  

        WebSocket 响应获取流程包括创建连接并设置回调函数以处理连接事件。

 
  

        创建连接状态管理,将必要的参数附加到 WebSocket 对象上,初始化响应存储和连接状态标志。

 
  

        设置超时处理,实现30秒超时机制,防止连接无限等待。

 
  

        进行消息处理,理接收到的消息,检查响应状态码,累积响应内容,在回答完成时关闭连接。

 
  

        完善错误处理、连接关闭处理,处理连接错误并记录错误信息并关闭连接;标记连接已关闭

,检测是否超时。

 
  
 
  

        完成以上步骤就可以进行发送请求了,在连接建立时发送请求,设置好模型参数:

  • temperature: 0.88(控制回答的随机性)
  • max_tokens: 4096(最大输出长度)
 
  

建立测试对话,实验代码是否实现了与其功能。

 
  

可在终端看到运行结果,即使运行成功,后续可按照各自预期修改大模型参数。

 
  

小讯
上一篇 2026-04-06 22:48
下一篇 2026-04-06 22:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/219826.html