1 讯飞星火简介
讯飞星火是科大讯飞推出的一款先进的人工智能大模型,它具备强大的语言理解和知识问答能力,能够在多种场景中提供智能化服务。2024年6月27日,科大讯飞发布了讯飞星火大模型V4.0版本,全面对标GPT-4 Turbo。现有的模型类型如下:

Spark Lite是完全免费的,无限量Token,Spark Pro、Spark3.5 Max、Spark 4.0 Ultra目前是有免费额度的。
2 开发者快速指引
2.1 注册账号
打开讯飞星火大模型官方网站:

注册账号:

2.2 创建应用,获取接口认证信息
登录后,点击左下角的“API接入”:

点击“在线调试”:

右上角下拉菜单的「我的应用」进入控制台。若您的账户未曾创建过应用,系统会引导您创建您的第一个应用。

填写应用名称、应用分类、应用功能描述:

应用创建完成之后,就可以通过左侧的服务列表,选择您要使用的服务。在服务管理面板中,您将看到这个服务对应的可用量、历史用量、服务接口的认证信息(后面Python 调用API需要用到这3个参数)。

讯飞开放平台支持一个账户创建多个应用。当您需要返回应用列表页切换应用,可以点击页面左上角应用名称上方的返回按钮,或顶部右侧个人菜单中的「我的应用」。进入应用列表后,选择一个应用点击应用名称,即可进入这个应用对应的服务管理页。
同一个应用APPID可以用在多个业务上,这个没有限制,但考虑到多个业务共用一个APPID无法分业务统计用量,建议一个业务对应一个应用APPID。
2.3 获取Token
接口采用tokens方式计费。tokens与词表、分词方案相关,没有精确的计算方式,但是接口会返回本次计费的tokens数(详见接口文档响应参数描述)。接口计费会将请求text字段下所有的content内容均计费,开发者需要酌情考虑保留的历史对话信息数量,避免浪费tokens(最大的输入tokens见接口文档参数描述)。
以最新的Spark 4.0 Ultra为例,在左侧的列表中选中Spark 4.0 Ultra,点击“立即购买”按钮:

选择应用,完成身份认证及设置支付密码的个人可以免费领取200万的token,有效期为1年。

0元下单:

3 Python 调用 API
3.1 获取Web API 文档
点击链接:星火认知大模型Web API文档

详细阅读说明文档,重点看下请求参数:

role 参数的取值为[system,user,assistant],system用于设置对话背景,user表示是用户的问题,assistant表示AI的回复。其中 system 只有Spark 4.0Ultra/Max支持,比如一些定制化的需求,使用Spark Lite 版本是无法实现的。
3.2 获取示例代码
下拉接口文档到最后,下面会有一些不同语言的调用示例以供参考,我们以 Python 为例:

第一个示例文件是单次对话,第二个则可以连续对话。这里我们先介绍第一个的使用方法。下载后解压,可以得到一个“sparkAPI.py”的文件,内容如下:
# coding: utf-8
import _thread as thread
import os
import time
import base64
import base64
import datetime
import hashlib
import hmac
import json
from urllib.parse import urlparse
import ssl
from datetime import datetime
from time import mktime
from urllib.parse import urlencode
from wsgiref.handlers import format_date_time
import websocket
import openpyxl
from concurrent.futures import ThreadPoolExecutor, as_completed
import os
class Ws_Param(object):
# 初始化
def __init__(self, APPID, APIKey, APISecret, gpt_url):
self.APPID = APPID
self.APIKey = APIKey
self.APISecret = APISecret
self.host = urlparse(gpt_url).netloc
self.path = urlparse(gpt_url).path
self.gpt_url = gpt_url
# 生成url
def create_url(self):
# 生成RFC1123格式的时间戳
now = datetime.now()
date = format_date_time(mktime(now.timetuple()))
# 拼接字符串
signature_origin = "host: " + self.host + "\n"
signature_origin += "date: " + date + "\n"
signature_origin += "GET " + self.path + " HTTP/1.1"
# 进行hmac-sha256进行加密
signature_sha = hmac.new(self.APISecret.encode('utf-8'), signature_origin.encode('utf-8'),
digestmod=hashlib.sha256).digest()
signature_sha_base64 = base64.b64encode(signature_sha).decode(encoding='utf-8')
authorization_origin = f'api_key="


1002

被折叠的 条评论
为什么被折叠?



