框架与工具链5684 字
LangChain服务部署与链路监控
·全库 430 / 611
《LangChain服务部署与链路监控》共 0.6 万字,通篇围绕 LangChain、prompt、Agent、部署 展开,归在「框架与工具链」这一层。
覆盖LangChainpromptAgent部署日志监控
适合要选技术栈、不想把别人踩过的坑重踩一遍的人
目录骨架(8 节)
- LangChain CLI 🛠️
- 示例应用
- LangSmith Tracing(跟踪)
- Verbose(详细日志打印)
- Debug(调试日志打印)
- 1. 使用 langchain cli 命令创建新应用
- 2. 在 add_routes 中定义可运行对象。转到 server.py 并编辑
- 4. 设置相关环境变量。例如,
示例代码
注:将ppt后缀名改为zip后解压
python版本:3.12.4
分享内容
- LangServe服务部署
- LangSmith Tracing(跟踪)
- Verbose(详细日志打印)
- Debug(调试日志打印)
LangServe服务部署
概述
LangServe 🦜️🏓 帮助开发者将 LangChain 可运行和链部署为 REST API。
该库集成了 FastAPI 并使用 pydantic 进行数据验证。
Pydantic 是一个在 Python中用于数据验证和解析的第三方库,现在是Python中使用广泛的数据验证库。
- 它利用声明式的方式定义数据模型和Python 类型提示的强大功能来执行数据验证和序列化,使您的代码更可靠、更可读、更简洁且更易于调试。。
- 它还可以从模型生成 JSON 架构,提供了自动生成文档等功能,从而轻松与其他工具集成
此外,它提供了一个客户端,可用于调用部署在服务器上的可运行对象。JavaScript 客户端可在 LangChain.js 中找到。
特性
- 从 LangChain 对象自动推断输入和输出模式,并在每次 API 调用中执行,提供丰富的错误信息
- 带有 JSONSchema 和 Swagger 的 API 文档页面(插入示例链接)
- 高效的 /invoke、/batch 和 /stream 端点,支持单个服务器上的多个并发请求
- /stream_log 端点,用于流式传输链/代理的所有(或部分)中间步骤
- 新功能 自 0.0.40 版本起,支持 /stream_events,使流式传输更加简便,无需解析 /stream_log 的输出。
- 使用经过严格测试的开源 Python 库构建,如 FastAPI、Pydantic、uvloop 和 asyncio。
- 使用客户端 SDK 调用 LangServe 服务器,就像本地运行可运行对象一样(或直接调用 HTTP API)
限制
- 目前不支持服务器发起的事件的客户端回调
- 当使用 Pydantic V2 时,将不会生成 OpenAPI 文档。FastAPI 支持混合使用 pydantic v1 和 v2 命名空间。更多细节请参见下面的章节。
安装
对于客户端和服务器:
pip install --upgrade "langserve[all]"
或者对于客户端代码,pip install "langserve[client]",对于服务器代码,pip install "langserve[server]"。
LangChain CLI 🛠️
使用 LangChain CLI 快速启动 LangServe 项目。
要使用 langchain CLI,请确保已安装最新版本的 langchain-cli。您可以使用 pip install -U langchain-cli 进行安装。
设置
注意:我们使用 poetry 进行依赖管理。请参阅 poetry 文档 了解更多信息。
1. 使用 langchain cli 命令创建新应用
langchain app new langserve
2. 在 add_routes 中定义可运行对象。转到 server.py 并编辑
add_routes(app. NotImplemented)
3. 使用 poetry 添加第三方包(例如 langchain-openai、langchain-anthropic、langchain-mistral 等)
#安装pipx,参考:https://pipx.pypa.io/stable/installation/
pip install pipx
#加入到环境变量,需要重启PyCharm
pipx ensurepath
# 安装poetry,参考:https://python-poetry.org/docs/
pipx install poetry
#安装 langchain-openai 库,例如:poetry add [package-name]
poetry add langchain
poetry add langchain-openai
4. 设置相关环境变量。例如,
export OPENAI_API_KEY="sk-..."