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