FastAPI集成DeepSeek和Qwen大模型,代码全解析+收藏指南
本文详细介绍了如何使用FastAPI框架集成DeepSeek和Qwen大语言模型服务,构建聚合服务。内容包括FastAPI框架特性介绍、环境配置、API密钥获取、依赖安装和完整代码实现。通过统一的请求响应格式,支持调用不同模型,并提供服务启动和调用方法,适合开发者快速上手大模型集成实践。
本文详细介绍了如何使用FastAPI框架集成DeepSeek和Qwen大语言模型服务,构建聚合服务。内容包括FastAPI框架特性介绍、环境配置、API密钥获取、依赖安装和完整代码实现。通过统一的请求响应格式,支持调用不同模型,并提供服务启动和调用方法,适合开发者快速上手大模型集成实践。
01 FastAPI 简介
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 并基于标准的 Python 类型提示。
FastAPI 有如下关键特性:
- 快速:可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
- 高效编码:提高功能开发速度约 200% 至 300%。
- 更少 bug:减少约 40% 的人为(开发者)导致错误。
- 智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
- 简单:设计的易于使用和学习,阅读文档的时间更短。
- 简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
- 健壮:生产可用级别的代码。还有自动生成的交互式文档。
- 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
FastAPI 在 GitHub 的 Star 历史图上已超过老牌的 Python Web 框架(如:Flask、Django),而且还继续保持着良好的发展趋势。
02 使用 FastAPI 集成 DeepSeek 和 Qwen 大模型服务
在实际开发工作中,我们的服务常常会遇到需要调用不同的大语言模型服务(如:DeepSeek、Qwen),我们可以使用 FastAPI 去集成那些大语言模型服务,将其做成大语言模型的聚合服务。
为方便起见,本文对接的是官网的 DeepSeek 和 Qwen 大模型服务。
我们可以先到 DeepSeek 的开发平台去创建和获取 DeepSeek 的 API Key。
然后到阿里云百炼平台去创建和获取 Qwen 的 API Key。
依赖文件(requirements.txt):
fastapi==0.116.1
uvicorn==0.35.0
openai==1.100.1
dashscope==1.24.1
python-dotenv==1.1.1
Python 版本为 3.10 及以上。
安装依赖的 Python 库:
pip install -r requirements.txt
将 DeepSeek 和 Qwen 的相关信息配置到系统环境变量中。
# DeepSeek 配置
DEEPSEEK_API_KEY = "sk-your-deepseek-key"
DEEPSEEK_BASE_URL = "https://api.deepseek.com"
# Qwen 配置
DASHSCOPE_API_KEY = "sk-your-qwen-key"
DASHSCOPE_API_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
主体代码(llm_app.py):
import os
import uvicorn
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from dotenv import load_dotenv
from openai import OpenAI as DeepSeekClient
from dashscope import Generation as QwenClient
# 加载环境变量
load_dotenv()
app = FastAPI()
# 配置模型参数
MODEL_CONFIG = {
"deepseek": {
"client": DeepSeekClient(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url=os.getenv("DEEPSEEK_BASE_URL")
),
"model_name": "deepseek-chat"
},
"qwen": {
"client": QwenClient,
"model_name": "qwen-plus"
}
}
# 统一请求格式(兼容OpenAI)
classChatRequest(BaseModel):
model: str # deepseek 或 qwen
messages: list
temperature: float = 0.7
max_tokens: int = 1024
# 统一响应格式
classChatResponse(BaseModel):
model: str
content: str
@app.post("/v1/chat")
asyncdefchat_completion(request: ChatRequest):
model_type = request.model.lower()
if model_type notin MODEL_CONFIG:
raise HTTPException(400, f"Unsupported model: {model_type}")
try:
if model_type == "deepseek":
response = MODEL_CONFIG["deepseek"]["client"].chat.completions.create(
model=MODEL_CONFIG["deepseek"]["model_name"],
messages=request.messages,
temperature=request.temperature,
max_tokens=request.max_tokens
)
content = response.choices[0].message.content
elif model_type == "qwen":
response = QwenClient.call(
model=MODEL_CONFIG["qwen"]["model_name"],
messages=request.messages,
temperature=request.temperature,
max_tokens=request.max_tokens,
result_format='message'
)
content = response.output.choices[0].message.content
return ChatResponse(model=model_type, content=content)
except Exception as e:
raise HTTPException(500, f"API Error: {str(e)}")
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8090)
启动应用:
uvicorn llm_app:app --host 0.0.0.0 --port 8090 --workers 4
03 使用聚合服务
通过 API 接口调用聚合服务:
结语
相信你现在已经知道如何使用 FastAPI 集成大语言模型服务。建议你不妨亲自动手去实践,结合自己的需求去集成自己的大语言模型服务。
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】
更多推荐
所有评论(0)