langcorn

GitHub
939 71 简单 1 次阅读 6天前MIT开发框架插件数据工具语言模型
AI 解读 由 AI 自动生成,仅供参考

Langcorn 是一款专为 LangChain 打造的 API 服务工具,旨在帮助开发者轻松地将大语言模型(LLM)应用和智能代理转化为高性能的 RESTful API。它解决了传统部署流程繁琐、需要手动编写大量后端代码才能暴露模型服务的痛点,让 LangChain 的链条(Chains)和管道(Pipelines)能够“自动”上线运行。

这款工具非常适合正在构建 AI 应用的软件工程师、算法研究人员以及希望快速验证原型的开发者。通过集成成熟的 FastAPI 框架,Langcorn 不仅提供了开箱即用的身份认证功能,还支持异步处理以确保高并发下的响应速度。其独特的技术亮点在于极简的启动方式:用户只需在命令行中指定模型链条的路径,即可瞬间启动服务并自动生成交互式文档;同时也支持在 Python 代码中灵活挂载多个不同的业务链条到同一个应用中。无论是单个数学计算链还是复杂的对话代理,Langcorn 都能提供稳健、可扩展的服务端解决方案,让开发者能更专注于模型逻辑本身而非基础设施搭建。

使用场景

某电商初创团队正在开发一个智能客服系统,需要将多个基于 LangChain 构建的数学计算链和对话代理快速部署为微服务,以供前端调用。

没有 langcorn 时

  • 重复造轮子:开发人员需手动编写大量 FastAPI 样板代码来包裹每个 LangChain 链,导致核心业务逻辑开发时间被压缩。
  • 部署流程繁琐:每新增一个功能链(如退货计算或订单查询),都需要修改主服务文件并重启整个应用,迭代效率极低。
  • 缺乏标准化接口:不同开发者封装的 API 风格不一,缺少统一的文档和鉴权机制,前端对接困难且存在安全隐患。
  • 并发性能瓶颈:自行搭建的服务难以高效处理异步请求,在高并发场景下响应延迟严重,影响用户体验。

使用 langcorn 后

  • 一键自动部署:只需一行命令 langcorn server 即可将现有的 LangChain 链直接转换为高性能 API 服务,无需编写任何额外后端代码。
  • 灵活多链管理:支持同时加载并运行多个独立的链或代理,新增功能仅需在启动参数中追加路径,实现真正的热插拔式扩展。
  • 原生企业级特性:自动生成标准的 RESTful 端点和 Swagger 文档,内置身份验证功能,确保服务即开即用且安全规范。
  • 高并发异步处理:底层基于 FastAPI 和 Uvicorn 构建,天然支持异步非阻塞 IO,轻松应对海量用户咨询请求,显著降低响应耗时。

langcorn 通过将 LangChain 应用“自动化”地转化为生产级 API,让团队从繁琐的基础设施搭建中解放出来,专注于核心智能逻辑的优化。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notes该工具是一个基于 FastAPI 的 API 服务器,用于部署 LangChain 模型和管道。安装仅需通过 pip 安装 langcorn 包。运行时需要配置 OPENAI_API_KEY 环境变量(或使用自定义 API Key)。支持异步处理和内存管理功能。具体的系统资源需求取决于所加载的 LangChain 模型本身,而非 LangCorn 框架。
python未说明
langcorn
fastapi
langchain
uvicorn
langcorn hero image

快速开始

Langcorn

LangCorn 是一个 API 服务器,使您能够轻松地部署 LangChain 模型和流水线,借助 FastAPI 的强大功能,提供健壮且高效的体验。

GitHub Contributors GitHub Last Commit Downloads GitHub Issues GitHub Pull Requests Github License

特性

  • 轻松部署 LangChain 模型和流水线
  • 即用型认证功能
  • 高性能的 FastAPI 框架用于处理请求
  • 可扩展且稳健的语言处理应用解决方案
  • 支持自定义流水线和处理流程
  • 文档完善的 RESTful API 端点
  • 异步处理以实现更快的响应时间

📦 安装

要开始使用 LangCorn,只需使用 pip 安装该包:


pip install langcorn

⛓️ 快速入门

示例 LLM 流水线 ex1.py


import os

from langchain import LLMMathChain, OpenAI

os.environ["OPENAI_API_KEY"] = os.environ.get("OPENAI_API_KEY", "sk-********")

llm = OpenAI(temperature=0)
chain = LLMMathChain(llm=llm, verbose=True)

运行您的 LangCorn FastAPI 服务器:

langcorn server examples.ex1:chain


[INFO] 2023-04-18 14:34:56.32 | api:create_service:75 | 创建服务
[INFO] 2023-04-18 14:34:57.51 | api:create_service:85 | lang_app='examples.ex1:chain':LLMChain(['product'])
[INFO] 2023-04-18 14:34:57.51 | api:create_service:104 | 提供服务
[INFO] 2023-04-18 14:34:57.51 | api:create_service:106 | 端点:/docs
[INFO] 2023-04-18 14:34:57.51 | api:create_service:106 | 端点:/examples.ex1/run
INFO:     已启动服务器进程 [27843]
INFO:     等待应用程序启动。
INFO:     应用程序启动完成。
INFO:     Uvicorn 正在 http://127.0.0.1:8718 上运行(按 CTRL+C 退出)

或者作为另一种选择:

python -m langcorn server examples.ex1:chain

运行多个流水线

python -m langcorn server examples.ex1:chain examples.ex2:chain


[INFO] 2023-04-18 14:35:21.11 | api:create_service:75 | 创建服务
[INFO] 2023-04-18 14:35:21.82 | api:create_service:85 | lang_app='examples.ex1:chain':LLMChain(['product'])
[INFO] 2023-04-18 14:35:21.82 | api:create_service:85 | lang_app='examples.ex2:chain':SimpleSequentialChain(['input'])
[INFO] 2023-04-18 14:35:21.82 | api:create_service:104 | 提供服务
[INFO] 2023-04-18 14:35:21.82 | api:create_service:106 | 端点:/docs
[INFO] 2023-04-18 14:35:21.82 | api:create_service:106 | 端点:/examples.ex1/run
[INFO] 2023-04-18 14:35:21.82 | api:create_service:106 | 端点:/examples.ex2/run
INFO:     已启动服务器进程 [27863]
INFO:     等待应用程序启动。
INFO:     应用程序启动完成。
INFO:     Uvicorn 正在 http://127.0.0.1:8718 上运行(按 CTRL+C 退出)

导入必要的包并创建您的 FastAPI 应用程序:


from fastapi import FastAPI
from langcorn import create_service

app:FastAPI = create_service("examples.ex1:chain")

多个流水线


from fastapi import FastAPI
from langcorn import create_service

app:FastAPI = create_service("examples.ex2:chain", "examples.ex1:chain")

from fastapi import FastAPI
from langcorn import create_service

app: FastAPI = create_service(
    "examples.ex1:chain",
    "examples.ex2:chain",
    "examples.ex3:chain",
    "examples.ex4:sequential_chain",
    "examples.ex5:conversation",
    "examples.ex6:conversation_with_summary",
    "examples.ex7_agent:agent",
)

运行您的 LangCorn FastAPI 服务器:


uvicorn main:app --host 0.0.0.0 --port 8000

现在,您的 LangChain 模型和流水线可以通过 LangCorn API 服务器访问。

文档

自动提供的 FastAPI 文档 实时示例 托管在 Vercel 上。

认证

可以通过指定 auth_token 添加静态 API 令牌认证:

python langcorn server examples.ex1:chain examples.ex2:chain --auth_token=api-secret-value

app:FastAPI = create_service("examples.ex1:chain", auth_token="api-secret-value")

自定义 API 密钥

POST http://0.0.0.0:3000/examples.ex6/run
X-LLM-API-KEY: sk-******
Content-Type: application/json

处理记忆

{
  "history": "string",
  "input": "什么是大脑?",
  "memory": [
    {
      "type": "human",
      "data": {
        "content": "什么是记忆?",
        "additional_kwargs": {}
      }
    },
    {
      "type": "ai",
      "data": {
        "content": "记忆是大脑存储、保留和回忆信息的能力。它是记住过去的经验、事实和事件的能力。它也是学习和记住新信息的能力。",
        "additional_kwargs": {}
      }
    }
  ]
}

响应:

{
  "output": "大脑是人体中负责控制思维、记忆、情感和行为的器官。它由数十亿个神经元组成,这些神经元通过电信号和化学信号相互交流。它是体内最复杂的器官,负责我们所有的有意识和无意识行为。",
  "error": "",
  "memory": [
    {
      "type": "human",
      "data": {
        "content": "什么是记忆?",
        "additional_kwargs": {}
      }
    },
    {
      "type": "ai",
      "data": {
        "content": "记忆是大脑存储、保留和回忆信息的能力。它是记住过去的经验、事实和事件的能力。它也是学习和记住新信息的能力。",
        "additional_kwargs": {}
      }
    },
    {
      "type": "human",
      "data": {
        "content": "什么是大脑?",
        "additional_kwargs": {}
      }
    },
    {
      "type": "ai",
      "data": {
        "content": "大脑是人体中负责控制思维、记忆、情感和行为的器官。它由数十亿个神经元组成,这些神经元通过电信号和化学信号相互交流。它是体内最复杂的器官,负责我们所有的有意识和无意识行为。",
        "additional_kwargs": {}
      }
    }
  ]
}

LLM 参数

用于在每个请求中覆盖默认的 LLM 参数

POST http://0.0.0.0:3000/examples.ex1/run
X-LLM-API-KEY: sk-******
X-LLM-TEMPERATURE: 0.7
X-MAX-TOKENS: 256
X-MODEL-NAME: gpt5
Content-Type: application/json

自定义运行函数

请参阅 ex12.py


chain = LLMChain(llm=llm, prompt=prompt, verbose=True)


# 仅指定输入变量来运行链。


def run(query: str) -> Joke:
    output = chain.run(query)
    return parser.parse(output)

app: FastAPI = create_service("examples.ex12:run")

文档

如需了解更多关于如何使用 LangCorn 的详细信息,包括高级功能和自定义选项,请参阅官方文档。

👋 贡献

欢迎为 LangCorn 做出贡献!如果您想参与贡献,请按照以下步骤操作:

  • 在 GitHub 上 fork 该仓库
  • 为您的更改创建一个新分支
  • 将更改提交到新分支
  • 将更改推送到您 fork 的仓库
  • 向 LangCorn 主仓库发起 pull 请求

在贡献之前,请先阅读贡献指南。

许可证

LangCorn 采用 MIT 许可证发布。

版本历史

0.0.222023/11/06
0.0.182023/10/05
0.0.172023/09/26
0.0.152023/08/26
0.0.122023/07/12
0.0.112023/07/12
0.0.102023/07/12
0.0.92023/05/15
0.0.82023/05/15
0.0.72023/05/10
0.0.62023/04/23
0.0.52023/04/18
0.0.32023/04/14
0.0.22023/04/14
0.0.12023/04/14

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

144.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|昨天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|昨天
语言模型图像Agent