LangChain开发环境准备-讯飞星火OpenAI标准接口封装
在之前的课程中,为了帮助大家完成LangChain开发环境准备,我带领小伙伴们完成了模型的本地部署,OpenAI-API接口封装,以及线上环境部署(AI大模型私有部署的技术指南)。
但是由于网络或者机器配置的限制,许多小伙伴们还是没能完成搭建。 今天,我将带你学习如何使用讯飞星火OpenAI标准接口封装,为LangChain开发环境做好准备。
注册并开通讯飞星火模型API
使用讯飞星火API的原因很简单,因为官方提供了超大额度的免费token,大家在测试时可以尽情享用。相关注册与API开通的过程也很简单,官方也提供了详尽的操作手册,本文就不再赘述。
注册地址:https://www.xfyun.cn/
操作手册:https://www.xfyun.cn/doc/platform/quickguide.html
控制台:https://console.xfyun.cn/app/myapp
完成注册以及应用订阅后,进入控制台,大家就能获取到API调用相关的APPID,APISecret,APIKey三个参数。
讯飞星火模型OpenAI-API接口封装
讯飞星火平台的API接口并不完全符合OpenAI标准,它有一些特殊的参数和返回值,这可能会给你的开发带来一些不便。为了解决这个问题,我为你准备了一个讯飞星火OpenAI标准接口封装的工具,它可以让你用OpenAI风格的方式来调用讯飞星火平台上的模型,无需修改任何代码,只需配置一些参数即可。
这个工具的原理是,它会将你的OpenAI风格的请求转换成讯飞星火平台的请求,然后将讯飞星火平台的返回值转换成OpenAI风格的返回值,从而实现接口的兼容。
这个工具的使用方法很简单,只需三步就可以完成:
- 第一步,下载或克隆这个工具的代码,并安装依赖。这个工具是用Python编写的,需要注意的是由于依赖中包含uvloop库,项目无法在windows环境下运行,请考虑使用linux或者wsl。
# 项目地址:https://github.com/tian-minghui/openai-style-api
# 拉取代码
git clone https://github.com/tian-minghui/openai-style-api.git
# 安装依赖
pip install -r requirements.txt
- 第二步,修改model-config.json文件,填写你的讯飞星火账号的app_id和app_secret。你可以在讯飞星火平台的“我的模型”页面找到这些信息。
[{
"token": "***",
"type": "xunfei-spark-api",
"config": {
"app_id": "***",
"api_key": "***",
"api_secret": "***",
"api_model_version": "v2.0",
"top_k": 5
}
}]
第三步,运行open-api.py文件,启动一个本地的web服务,它会监听8090端口,你可以在浏览器中访问http://localhost:8090/v1/chat/completions
python open-api.py
curl http://localhost:8090/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer f2b7295fc440db7f" \
-d '{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
总结
本文基于讯飞星火大模型的开放API,介绍了通过开源项目适配OpenAI-API的方案和步骤。但在使用也发现了一些问题,比如适配项目只支持了/chat/completions接口,相关的接口模型与最新api存在差异。下节课我将带领大家了解OpenAI-API最新的接口模型,并基于本节课的思路,直接上手带领大家自己完成OPENAI-API接口的适配。