ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LangCorn编程集成指南:create_service详解,把任意LangChain链装进你的FastAPI应用

LangCorn编程集成指南:create_service详解,把任意LangChain链装进你的FastAPI应用 LangCorn编程集成指南create_service详解把任意LangChain链装进你的FastAPI应用【免费下载链接】langcorn⛓️ Serving LangChain LLM apps and agents automagically with FastApi. LLMops项目地址: https://gitcode.com/gh_mirrors/la/langcornLangCorn是一个基于 FastAPI 的 LLM 服务框架它通过一个核心函数create_service能把任意 LangChain 链、Agent 或自定义函数自动包装成带文档的 REST API 接口让你用一行代码即可完成 LLMOps 部署。本指南面向新手带你从零跑通 LangCorn 集成流程。为什么需要 LangCorn写好一条 LangChain 链只是第一步真正要用起来通常还要手写 FastAPI 路由和请求模型处理鉴权、错误返回、异步调用为每条链维护一套接口文档LangCorn 把这些全部自动化你只需要传入一个「模块路径:变量名」字符串它会自动推导链的输入/输出字段、生成请求校验模型、注册POST端点并自动挂载 Swagger 文档页/docs。核心实现位于 langcorn/server/api.py对外仅暴露create_service这一个入口见 langcorn/init.py。快速安装一条命令搞定使用 pip 安装最新版即可pip install langcorn依赖由项目自动管理Python 版本要求 3.9 以上见 pyproject.toml。create_service 详解最快集成方式基本用法一行代码生成 API 服务假设你有一条已定义好的链 examples/ex1.pyimport os from langchain.chains import LLMChain from langchain.llms import OpenAI from langchain.prompts import PromptTemplate os.environ[OPENAI_API_KEY] os.environ.get(OPENAI_API_KEY, sk-********) llm OpenAI(temperature0.9) prompt PromptTemplate( input_variables[product], templateWhat is a good name for a company that makes {product}?, ) chain LLMChain(llmllm, promptprompt)然后用create_service把它装进 FastAPI 应用from fastapi import FastAPI from langcorn import create_service app: FastAPI create_service(examples.ex1:chain)再启动服务uvicorn main:app --host 0.0.0.0 --port 8000打开http://localhost:8000/docs你会看到自动生成的接口文档可以直接在线调试。create_service 参数速查参数说明*lc_apps一个或多个模块路径:变量名字符串支持任意数量auth_token可选设置后启用静态 API Token 鉴权app可选传入已有 FastAPI 实例以挂载到你的应用中它的工作流程源码见 langcorn/server/api.py通过import_from_string导入你的链对象自动推导输入/输出字段动态生成 Pydantic 请求模型为每条链注册POST /{模块路径}/run端点附带健康检查端点/ht和/docs文档页免代码启动命令行 server 模式不想写 main.pyLangCorn 内置了 CLI 入口langcorn/main.py直接运行langcorn server examples.ex1:chain等价写法python -m langcorn server examples.ex1:chain启动日志会清晰列出所有端点[INFO] api:create_service:106 | Endpoint: /docs [INFO] api:create_service:106 | Endpoint: /examples.ex1/run INFO: Uvicorn running on http://127.0.0.1:8718 (Press CTRLC to quit)还支持启动时直接加鉴权python -m langcorn server examples.ex1:chain --auth_tokenapi-secret-value多链部署一次挂载整个 AI 服务create_service支持传入多个链一次启动即获得多个独立端点这是做 LLM 网关的关键用法app: FastAPI create_service( examples.ex1:chain, examples.ex2:chain, examples.ex5:conversation, examples.ex7_agent:agent, examples.ex8:qa, )对应端点为/examples.ex1/run、/examples.ex5/run……项目中完整的多链示例见 examples/app.py覆盖了普通链、对话链、Agent、RAG 问答等多种场景可作为参考模板。调用 API请求与响应规范请求示例以 examples/ex1.py 为例端点为POST http://0.0.0.0:8000/examples.ex1/run Content-Type: application/json { product: colorful socks }请求体字段由链的input_variables自动推导无需手写 schema。响应结构所有端点统一返回LangResponse{ output: Sockify - The name that brings color to your step..., error: , memory: [] }带记忆memory的对话链把历史消息放进memory字段即可延续上下文RAG 检索链还会额外返回source_documents。按请求覆盖 LLM 参数通过自定义请求头即可逐次调整模型参数非常灵活实现见 langcorn/server/api.pyPOST http://0.0.0.0:8000/examples.ex1/run X-LLM-API-KEY: sk-****** X-LLM-TEMPERATURE: 0.7 X-MAX-TOKENS: 256 X-MODEL-NAME: gpt-4X-LLM-API-KEY为本次请求单独指定 API KeyX-LLM-TEMPERATURE覆盖温度参数X-MAX-TOKENS/X-MODEL-NAME控制输出长度与模型进阶挂自定义函数而不只是链如果不想暴露整条链只想暴露一个纯 Python 函数怎么办create_service检测到函数对象时会自动包装见 langcorn/server/api.py。以 examples/ex12.py 为例def run(query: str) - Joke: output chain.run(query) return parser.parse(output) app: FastAPI create_service(examples.ex12:run)只要函数接收一个query参数并返回 Pydantic 模型就能获得与链完全一致的 REST 接口。小结LangCorn 集成清单✅pip install langcorn完成安装✅create_service(模块:变量)一行生成带文档的 API✅langcorn server 模块:变量免代码命令行启动✅ 多链/多 Agent 一次挂载秒变 LLM 网关✅ 请求头覆盖 LLM 参数支持 Token 鉴权从一条 LangChain 链到可对外服务的 REST APILangCorn 把中间所有样板代码都替你写好了。想深入细节可直接阅读 Readme.md 与 langcorn/server/test_api.py 中的接口测试用例。【免费下载链接】langcorn⛓️ Serving LangChain LLM apps and agents automagically with FastApi. LLMops项目地址: https://gitcode.com/gh_mirrors/la/langcorn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表