目录
2. 编写一个 LangChain 可运行链(Runnable)

本教程将带你用 LangServe 构建一个可在线访问的 LLM 服务,支持通过 HTTP API 调用大语言模型(如 OpenAI 的 GPT 或阿里百炼 Qwen)。
一、LangServe简介
LangServe 是 LangChain 官方提供的部署工具,用于将 LangChain 的 Runnable 组件(如链、Agent、RAG Pipelines)以 RESTful API 形式发布为 Web 服务。
你可以理解它是:
“一个让你把 LangChain 项目一键变成 API 的开发框架。”
二、环境准备
1. 安装必要依赖
pip install langserve langchain openai uvicorn
若使用的是 Qwen 或阿里百炼平台,请安装相关 SDK,如:
pip install dashscope
2. 编写一个 LangChain 可运行链(Runnable)
创建一个文件:my_chain.py
# my_chain.py
from langchain_core.runnables import RunnableLambda
from langchain_core.prompts import PromptTemplate
from langchain.chat_models import ChatOpenAI
prompt = PromptTemplate.from_template("你是一位诗人。请根据提示写一首诗:{topic}")
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)
# 定义一个 runnable 链
poetry_chain = prompt | llm
# 或者包装成一个函数
poetry_func = RunnableLambda(lambda x: poetry_chain.invoke(x))
3. 启动 LangServe 服务
创建一个文件:main.py
# main.py
from langserve import add_routes
from fastapi import FastAPI
from my_chain import poetry_func
app = FastAPI()
# 启用 LangServe 路由:将 poetry_func 发布为 API
add_routes(app, poetry_func, path="/poetry")
# 启动方式见下方 uvicorn 命令
4. 启动服务
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
启动后你会看到输出:
INFO: Uvicorn running on http://127.0.0.1:8000
5. 使用 API 进行调用
你可以使用 curl、Postman、或 Python 发请求:
curl http://localhost:8000/poetry/invoke \
-X POST \
-H "Content-Type: application/json" \
-d '{"input": {"topic": "月亮与孤独"}}'
返回结果类似:
{
"output": "在孤独的夜晚月色浓,\n独影轻摇寂寞中……"
}


2126

被折叠的 条评论
为什么被折叠?



