使用 LangServe 提供服务

使用 LangServe 提供服务

LangServe 帮助开发者将 LangChain 链部署为 REST API。
参考文档

安装方式:

pip install "langserve[all]"

这个文件将包含我们服务应用的逻辑。它由三部分组成:

  • 我们刚刚构建的链的定义
  • 我们的 FastAPI 应用
  • 一个定义用于服务链的路由,这通过 langserve.add_routes 完成

FastAPI

## 提示词工程示例
import uvicorn
from langchain_core.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate
from langchain_core.output_parsers import StrOutputParser
from fastapi import FastAPI

from langchain_deepseek import ChatDeepSeek
from langserve import add_routes
from pydantic import SecretStr

# 1. 创建提示词模板
chatprompt = ChatPromptTemplate.from_messages(
    [
        SystemMessagePromptTemplate.from_template("你是一个人工智能AI助手, 你的名字是{name}"),
        HumanMessagePromptTemplate.from_template("{input}")
    ]
)

# 2. 创建大模型
model = ChatDeepSeek(
    model="deepseek-chat",
    api_key=SecretStr("你的apikey"),
    base_url="https://api.deepseek.com",
    temperature=0.7,
    max_tokens=512
)

# 3.创建输出解析器
parser = StrOutputParser()

# 4.创建链
chain = chatprompt | model | parser

# 5.Fast API
app = FastAPI(
    title="Langchain Server",
    version="0.1.0",
    description="Language Chain Server",
)

# 6.添加chain 路由
add_routes(
    app,
    chain,
    path="/chain"
)

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

启动命令:

python serve.py

可以看到我们的chain的服务路径
在这里插入图片描述
使用浏览器访问并且输入请求参数
在这里插入图片描述

LangChain CLI

使用LangChain CLI 快速启动LangServer项目。
安装脚手架

pip install langchain-cli

创建Langserver项目

langchin app new langchin-cli 

目录结构
在这里插入图片描述

项目依赖

[tool.poetry.dependencies]
python = "^3.11"
uvicorn = "^0.23.2"
langserve = {extras = ["server"], version = ">=0.0.30"}
pydantic = ">=2.7.4"

使用Poetry管理项目

# 安装pipx
pip install pipx
# 加入到环境变量,需要重启pycharm
pipx ensurepath
# 安装poetry
pipx install poetry
# 添加项目依赖
poetry add langchain 
poetry add langchain_deepseek

安装依赖之后:

[tool.poetry.dependencies]
python = "^3.11"
uvicorn = "^0.23.2"
langserve = {extras = ["server"], version = ">=0.0.30"}
pydantic = ">=2.7.4"
langchain = "^0.3.25"
langchain-deepseek = "^0.1.3"

启动项目:

poetry run langchain serve --port=8000

客户端调用

from langserve import RemoteRunnable

remote_chain = RemoteRunnable("http://localhost:8081/chain/")
str = remote_chain.invoke({"name":"liaogui", "input":"你是谁?"})

print(str)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值