LangServe入门指南 - 轻松部署LangChain应用的利器

langserve

LangServe简介

LangServe是LangChain生态系统中的一个重要工具,它可以帮助开发者将LangChain中的可运行对象(Runnable)和链(Chain)轻松部署为REST API。通过LangServe,你可以快速地将自己构建的LLM应用对外提供服务,而无需关心底层的部署细节。

LangServe的主要特性

LangServe提供了以下几个重要的功能:

  • 自动推断和强制执行输入/输出模式,提供丰富的错误信息
  • 生成API文档页面,包含JSONSchema和Swagger UI
  • 高效的 /invoke/batch 和 /stream 端点,支持单个服务器上的多个并发请求
  • /stream_log 端点用于流式传输链/代理的中间步骤
  • 新增的 /stream_events 端点,简化了流式传输的实现
  • /playground/ 页面用于测试API,支持流式输出和中间步骤展示
  • 内置(可选)追踪到 LangSmith
  • 使用经过实战检验的开源Python库如FastAPI、Pydantic等构建
  • 客户端SDK可以像调用本地Runnable一样调用LangServe服务器

快速开始

要使用LangServe,首先需要安装:

pip install "langserve[all]"

然后,你可以使用以下代码快速创建一个LangServe应用:

from fastapi import FastAPI
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatOpenAI
from langserve import add_routes

app = FastAPI()

model = ChatOpenAI()
prompt = ChatPromptTemplate.from_template("Tell me a joke about {topic}")
chain = prompt | model

add_routes(app, chain, path="/joke")

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="localhost", port=8000)

这样就创建了一个简单的jokes API。你可以通过 http://localhost:8000/joke/invoke 来调用它。

使用Playground

LangServe还提供了一个内置的Playground页面,你可以通过 /joke/playground/ 来访问。在这里,你可以直观地测试你的API,查看流式输出和中间步骤。

LangServe Playground

部署

LangServe支持多种部署方式:

  • AWS: 使用AWS Copilot CLI
  • Azure: 使用Azure Container Apps
  • GCP: 使用Cloud Run
  • Railway: 社区贡献的部署方案

结语

LangServe大大简化了LangChain应用的部署过程。无论你是在构建一个简单的API还是复杂的LLM应用,LangServe都能帮助你快速将其部署为生产就绪的服务。通过本文的介绍,相信你已经对LangServe有了初步的了解。接下来,就让我们一起深入探索LangServe的更多高级特性,构建更加强大的AI应用吧!

文章链接:www.dongaigc.com/a/langserve-beginners-guide-deploy-langchain

https://www.dongaigc.com/a/langserve-beginners-guide-deploy-langchain

www.dongaigc.com/p/langchain-ai/langserve

https://www.dongaigc.com/p/langchain-ai/langserve

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值