python1分钟调用讯飞星火API

现在讯飞星火的Spark Lite模型的api已经可以免费试用,本文分享如何快速实现python调用讯飞星火API。

先打开讯飞星火官网

点击上方 星火API

选择一个模型

会看到有APPID和api的各种接口信息

打开pycharm,输入相关代码

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

# 星火认知大模型的相关配置
SPARKAI_URL = ''  # WebSocket URL
SPARKAI_APP_ID = ''  # 应用ID
SPARKAI_API_SECRET = ''  # API Secret
SPARKAI_API_KEY = ''  # API Key
SPARKAI_DOMAIN = 'lite'  # 模型版本


def main():
    # 创建ChatSparkLLM实例
    spark = ChatSparkLLM(
        spark_api_url=SPARKAI_URL,
        spark_app_id=SPARKAI_APP_ID,
  
### 如何通过 Python 调用讯飞星火 API 4.0 调用讯飞星火大模型 API 需要遵循其官方提供的 Web API 文档,并按照指定的方式发送 HTTP 请求。以下是具体的实现方法和示例代码。 #### 准备工作 在开始调用前,需完成以下准备工作: 1. 注册并登录讯飞开放平台账号。 2. 创建应用并获取 `AppID` 和密钥(API Key 和 Secret Key)。 3. 下载并阅读官方的 Web API 文档[^3]。 4. 如果尚未领取免费 token,则可以通过购买页面领取 200 万 tokens 的免费额度,有效期为一年[^5]。 #### 接口调用流程 调用讯飞星火 API 主要分为以下几个部分: 1. **构建请求头**:需要提供 AppID、时间戳、签名等信息以验证身份。 2. **构造请求体**:定义对话内容和其他参数。 3. **发送 POST 请求**:向指定 URL 发送数据。 4. **解析返回结果**:处理 JSON 响应中的数据。 #### 示例代码 以下是一个完整的 Python 示例代码用于调用讯飞星火 API: ```python import time import hashlib import hmac import base64 import json import requests def generate_signature(api_key, api_secret, timestamp): """生成签名""" sign_str = f"{api_key}{timestamp}{api_secret}" signature = hmac.new(api_secret.encode('utf-8'), sign_str.encode('utf-8'), digestmod=hashlib.sha256).digest() return base64.b64encode(signature).decode() def call_xunfei_api(app_id, api_key, api_secret, text_input): url = "https://spark-api.xf-yun.com/v4.0/chat" # 替换为目标版本URL headers = { "Authorization": "", "Content-Type": "application/json" } timestamp = str(int(time.time())) signature = generate_signature(api_key, api_secret, timestamp) headers["Authorization"] = f"{app_id}:{signature}" payload = { "header": { "app_id": app_id, "uid": "your_user_id_here", # 用户唯一标识符 }, "parameter": { "chat": { "domain": "general", "temperature": 0.5, "max_tokens": 2048 } }, "payload": { "message": [ {"role": "user", "content": text_input}, ] } } response = requests.post(url, headers=headers, data=json.dumps(payload)) result = response.json() if 'result' in result and 'message' in result['result']: reply_content = result['result']['message'][0]['content'] return reply_content else: raise Exception(f"Error calling API: {response.text}") if __name__ == "__main__": APP_ID = "your_app_id_here" API_KEY = "your_api_key_here" SECRET_KEY = "your_secret_key_here" user_input = input("请输入您的问题:") try: answer = call_xunfei_api(APP_ID, API_KEY, SECRET_KEY, user_input) print("AI的回答:", answer) except Exception as e: print(e) ``` 上述代码实现了对讯飞星火 API 的基本调用逻辑,其中需要注意替换占位符变量(如 `APP_ID`, `API_KEY`, `SECRET_KEY` 等)为自己实际申请的信息。 #### 关键点说明 1. **签名机制**:为了保障安全性,每次请求都需要动态生成签名字符串并通过 HMAC-SHA256 加密算法计算得出最终签名值。 2. **Token 使用优化**:由于接口按 tokens 数量计费,因此建议合理控制历史对话长度,避免不必要的资源浪费。 3. **错误处理**:当发生异常情况时,应该捕获并打印详细的错误消息以便排查问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值