Langchain从入门到精通服务部署实战完整学习指南
目前,我们已经能够编写简单的 LangChain 程序,并借助 streamlit 快速搭建原型界面供产品经理使用。但坦白说,Streamlit 本质上只是一个原型验证工具,距离真正生产环境中稳定、可靠的 API 服务,还有相当一段距离。
那么核心问题来了——一个可以运行的原型,如何转化为能被真实应用调用的 API?这恰恰是许多 AI 项目从“能跑”迈向“能用”过程中最关键的一步。
LangServe
概念
LangServe 正是为了解决这一痛点而生:打通 AI 原型到生产服务的“最后一公里”。在 LangChain 中开发的复杂工作流(例如 RAG 系统、多步 Agent),借助 LangServe 几乎无需额外改动即可快速部署为企业级 API 服务。其关键特性包括:一键部署、自动生成文档、类型安全、高性能、流式传输支持、内置 Playground 交互界面,并且完全兼容 FastAPI 生态,具备极强的扩展能力。
安装
pip install langserve
示例
# 创建LangChain链
prompt = ChatPromptTemplate.from_template("翻译为{language}: {text}")
model = ChatOpenAI(model="gpt-4")
chain = prompt | model
# 一键部署为API
app = FastAPI(title="翻译服务")
add_routes(app, chain, path="/translate")
API访问
标准调用
curl -X 'POST' 'http://localhost:8000/translate/invoke' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"question": "什么是机器学习?"}'
流式调用
curl -X 'POST' 'http://localhost:8000/translate/stream' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"question": "什么是机器学习?"}'
FastAPI
上面的代码中已经出现了 FastAPI,值得花一些篇幅将其核心概念讲清楚。
概念
FastAPI 是一个用于构建 API 的现代化高性能 Web 框架。其核心设计建立在三大支柱之上:
ASGI 标准:作为 WSGI 的异步演进版本,原生支持异步处理,为高并发能力提供了坚实基础。
类型提示:充分利用 Python 的 Type Hints,只需定义好带有类型注解的 Pydantic 模型,框架即可自动完成数据验证、序列化以及文档生成。
自动 API 文档:基于 OpenAPI 标准,自动生成 Swagger UI 和 ReDoc,从此告别手动维护文档的繁琐工作。
LangServe 选择基于 FastAPI 并非偶然——它继承了 FastAPI 所有现代化的 Web 特性,同时针对 AI 工作流进行了专门优化。FastAPI 本身的表现也极具说服力:性能接近 Node.js 和 Go(归功于 Starlette 和 Pydantic)、开发效率极高(代码自动补全率提升 200%–300%)、人为错误减少约 40%、编辑器支持出色、代码可读性强。
FastAPI vs Streamlit vs Flask
打个比方:Streamlit 像智能家电——开箱即用但定制空间有限;Flask 像万能手工工具箱——灵活但每样都得亲力亲为;FastAPI 则像高度自动化的精密仪器生产车间——目标非常明确:用最少的代码,生产出性能最优、文档最清晰的 API。
| 对比维度 | Flask | Streamlit | FastAPI |
|---|---|---|---|
| 核心设计哲学 | "微内核"框架,追求极致灵活 | "从脚本到应用"框架,追求极速开发 | "现代化API"框架,追求高性能与类型安全 |
| 技术栈/协议 | WSGI, Jinja2, Werkzeug | 自定义反应式引擎 | ASGI, Pydantic, Starlette |
| 特点 | 1. 极度灵活自由;2. 庞大扩展生态;3. 适合全功能网站 | 1. 零前端代码;2. 声明式+反应式;3. 内置可视化组件 | 1. 原生异步支持;2. 自动数据验证和文档;3. 代码即文档 |
| 不足 | 1. 默认同步;2. 大型项目易混乱 | 1. 定制性受限;2. 性能差;3. 状态管理复杂 | 1. 生态较新;2. 不擅长服务端渲染 |
| 应用场景 | 全栈Web应用、高度自定义项目 | 数据科学演示、可视化仪表盘、原型验证 | 高性能API、微服务、实时通信 |
| 心智模型 | "我是导演":控制一切 | "我是编剧":写好剧情,框架负责演出 | "我是产品经理+架构师":定义规范,自动实现 |
| 一句话总结 | 自由的代价是责任 | 最快的样板间建造工具 | 现代化的专业管线系统 |
Uvicorn
Uvicorn 是用于运行 FastAPI 应用的高性能 ASGI 服务器。
安装
pip install fastapi uvicorn
第一个FastAPI应用
准备工作
# 开启调试
set_debug(True)
# 获得访问大模型客户端
client = get_lc_model_client()
# 解析返回结果
parser = StrOutputParser()
# 定义提示模版
prompt_template = ChatPromptTemplate.from_messages([
('system', '请将以下的内容翻译成{language}'),
('human', '{text}')
])
# 以链的形式调用
chain = prompt_template | client | parser
服务部署
# 部署为服务
app = FastAPI(title="基于LangChain的服务", version="V1.5", description="翻译服务")
# 函数和访问路径一一对应
add_routes(app, chain, path="/lanchainServer")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
运行起来
API文档查看
访问以下 URL 即可查看自动生成的交互式文档:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
使用
通过 PostMan 模拟发起一个请求,就能看到接口返回的数据。至此,AI 原型程序已成功部署到服务中——无论是 Web 页面还是移动端,都可以通过接口调用使用对应的 AI 能力。
客户端使用
此外,还可以通过 RemoteRunnable 在 Python 客户端中直接连接并使用该服务:
from langserve import RemoteRunnable
if __name__ == "__main__":
client = RemoteRunnable("http://localhost:8000/lanchainServer")
print(client.invoke({'language': '意大利文', 'text': '我喜欢编程,可是谁又知道我内心是否真的真的喜欢呢?'}))
运行后即可看到翻译结果输出。
至此,一个 LangChain 程序的服务部署流程已全部完成。实际项目中当然还有不少细节需要打磨,但核心路径就是如此——从原型到 API,再通过 API 被各种客户端调用,整个链路就此打通。
源码
GitHub 仓库
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
GPT-image-2 AI绘画模型全面发布
时间飞逝,AI绘画技术从初步探索到日趋成熟,转眼间已迭代了整整三年。 回望三年前,那时的AI绘画作品处于何种水平?人物多出几根手指是常见现象,左右脚时常混淆,图片中的文字更是清一色的乱码……当时的创作更像一场“猜猜我画的是什么”的趣味游戏。 短短三年间,AI绘画的能力已经跨越了多个层级。尤其是202
AIPPT自动生成工具全面解析与模板,告别汇报苦恼
适用场景: 信息过载的时代,汇报、总结与展示几乎成为职场人的“日常必修课”。尤其是年终总结和项目复盘,既要系统梳理过往成果,又要在领导与同事面前脱颖而出。可现实往往是:灵感明明很多,坐下来却无从下笔;更头疼的是,写出的内容结构松散、平淡乏味,最终淹没在成堆的报告里。 此时,类似于aippt自动生成工
ooderAgent产品设计解析:软件从工具到伙伴的进化
ooderAgent采用四层架构与场景驱动设计,将Agent分为虚拟和物理两类,支持四种通信模式与四级上下文管理。其技能系统实现完整生命周期管理,集成多LLM及分层知识库。软件形态正从工具向智能伙伴进化,实现协作化与即插即用。
AI写作工具轻松生成合规劳动合同
适用场景与需求: 劳动合同在职场中的关键作用 在当代职场环境中,劳动合同是一份至关重要的法律文件。无论是新员工入职时的初次签署,还是老员工续约时的流程更新,合同都是不可或缺的核心环节。很多人以为合同只需简单填写、打印归档,但实际上,这背后涉及的条款设计、法律合规与风险控制远比想象中更为复杂。 劳动合
AI写作应用技巧:如何提升心得体会
在数字化浪潮席卷各行各业的今天,人工智能已深入渗透日常生活,写作领域同样不例外。无论是大学生的课程论文,还是职场人士的工作报告,AI写作助手正逐渐成为一种主流工具。在去年一次以“AI与写作”为主题的研讨会上,与会专家围绕“人工智能如何提升写作质量”展开了深入探讨——这一话题至今仍持续引发广泛关注。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

