基于 LangServe 的 Deepseek 本地大模型服务化实践
在人工智能技术飞速发展的今天,大模型(LLM)已成为推动 AI 应用落地的核心驱动力。上次分享「普通人上手 Deepseek 的实用攻略」,我们已经将 Deepseek 大模型的能力高效地部署到本地环境,并对外提供稳定的服务。本文将分享我们基于 LangServe 框架,将 DeepSeek 本地大模型 服务化的实践经验,带你一步步了解如何快速搭建、部署和管理本地大模型服务,让 AI 能力真正触手可及。
图片
1、 认识 LangServe
LangServe 是一个专为语言模型设计的服务化框架,旨在帮助开发者将大模型能力快速封装为 API 服务。它的核心优势在于:
[*]简单易用:通过少量代码即可完成模型服务的部署;
[*]高性能:支持并发请求和高效推理,满足生产环境需求;
[*]灵活扩展:可与其他工具(如 LangChain)无缝集成,构建复杂 AI 应用。
对于需要在本地环境中部署大模型的团队来说,LangServe 是一个不可多得的利器。
2、安装实践
从零到一的 DeepSeek 服务化,也是本文介绍的重点内容。
2.1 环境准备
[*]安装 LangServe:
pip install "langserve"
[*]1.
或者使用 pip install "langserve" 安装客户端代码,使用pip install "langserve" 安装服务器端代码。
[*]下载 DeepSeek 模型权重,并配置本地推理环境,之前「普通人上手 Deepseek 的实用攻略」已完成此步骤。
2.2 模型封装
使用 LangServe 将 DeepSeek 模型封装为 API 服务:
我们创建一个问答链,它提供简单地计算功能,按步骤组织代码
[*]引入关联类库
from fastapi import FastAPIfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_ollama.llms import OllamaLLMfrom langserve import add_routes
[*]1.
[*]2.
[*]3.
[*]4.
[*]5.
[*]创建提示词模板
system_template = "来,一起计算这个难题吧!"prompt_template = ChatPromptTemplate.from_messages([ ('system', system_template), ('user', '{text}')])
[*]1.
[*]2.
[*]3.
[*]4.
[*]5.
[*]创建本地大模型
model = OllamaLLM(model="deepseek-r1:1.5b")
[*]1.
[*]创建解析器
parser = StrOutputParser()
[*]1.
[*]创建链
chain = prompt_template | model | parser
[*]1.
[*]App 定义
app = FastAPI(title="LangChain Server", versinotallow="1.0", descriptinotallow="使用 LangChain 的 Runnable 接口的简单 API 服务器。",)
[*]1.
[*]2.
[*]3.
[*]4.
[*]5.
[*]添加链的路由
add_routes( app, chain, path="/calc",)
[*]1.
[*]2.
[*]3.
[*]4.
[*]启动命令
if __name__ == "__main__": import uvicorn uvicorn.run(app, host="localhost", port=8010)
[*]1.
[*]2.
[*]3.
至此,一个简单的问答链已经创建好了。
运行它需要一个参数:`text`。
2.3 启动程序
启动此程序,出现类似下面的输出则说明启动成功。
图片
根据上图的信息,在浏览器输入`http://localhost:8010/calc/playground/`
图片
2.4 问答交互
接下来,我们尝试输入个简单问题来进行交互吧~
图片
页:
[1]