Langflow: 148k Stars for Visual LLM Workflows -- Technical Deep
Langflow (LF) 简化了 AI 代理和工作流程的构建。 与 LangChain、OpenAI、Hugging Face、Anthropic 集成。 涵盖设置、集成、基准测试和生产强化。
- Python
- TypeScript
- LangChain
- MIT
- 更新于 2026-05-25
- 可视化工作流程:轻松理解LLM申请的数据流和逻辑。
- 快速原型制作:支持使用不同的模型、提示和工具进行快速实验。
- 组件可重用性:提供预构建节点库并支持自定义组件创建。
- 部署简化:为构建的流程和简单的容器化提供 API 端点。Langflow 的架构是基于客户端-服务器的。 使用 React 构建的前端提供了交互式画布和聊天界面。 后端由 FastAPI 和 Pydantic 提供支持,处理 LLM 图的执行、管理组件注册并公开 API 端点。 流和组件的数据持久性通常通过数据库(例如 SQLite、PostgreSQL)进行管理。关键架构组件包括:
- 画布:放置和连接节点的主要视觉工作区。
- 节点:代表单个操作,例如 LLM 调用、提示模板、工具、代理、文档加载器、检索器或自定义 Python 函数。 每个节点都有输入和输出端口。
- 边:连接节点,定义数据流和控制流。 边通常将一个节点的输出端口连接到另一节点的输入端口。
- 组件:节点代表的底层Python类。 Langflow 附带了一组丰富的内置组件,并允许自定义组件开发。
- 聊天界面:内置 UI,用于与已部署的 LLM 应用程序交互,方便测试和演示。## langflow 的工作原理Langflow 在基于流的编程范例上运行,其中应用程序的逻辑表示为通过消息(流经边缘的数据)进行通信的独立进程(节点)的有向图。 这种可视化方法简化了复杂的 LLM 应用程序的构建,否则这些应用程序可能会涉及许多行命令式代码。当您在 Langflow 中构建流时:
- 节点选择:将节点从侧边栏拖放到画布上。 这些节点被分类为"LLM"、“链”、“工具”、“代理”、“提示模板”、“文档加载器"和"文本拆分器”。
- 配置:每个节点都有可配置的参数。 对于"OpenAI Chat"节点,您可以指定模型名称(例如"gpt-4o")、温度和 API 密钥。 对于"提示模板"节点,您可以使用占位符定义模板字符串。
- 连接(边):将一个节点的输出端口连接到另一节点的输入端口。 例如,“提示模板"节点的输出(“PromptValue”)可能连接到"LLM"节点的"输入”。 然后,LLM 节点的"输出"(“BaseMessage”)可能会连接到进一步处理响应的"链"或"代理"。
- 执行:当流程"运行"时(通过内置聊天界面或 API 调用),Langflow 遍历图表,根据节点的依赖关系以正确的顺序执行节点。 数据从输出端口流向输入端口,触发后续节点执行。考虑一个简单的检索增强生成 (RAG) 流程:
- 文档加载器节点:从源(例如 PDF、网页)加载数据。
- 文本分割器节点:将加载的文档分解为更小的块。
- 矢量存储节点:嵌入块并将其存储在矢量数据库中(例如 Chroma、FAISS)。
- 检索器节点:查询向量存储以根据用户输入检索相关文档。
- 提示模板节点:将用户查询和检索的文档格式化为 LLM 的提示。
- LLM 节点:使用构建的提示调用 LLM(例如 OpenAI、Anthropic)。
- 输出节点:显示最终的 LLM 响应。整个序列可以在 Langflow 中构建和可视化,从而更容易迭代不同的组件(例如,尝试不同的文本拆分器或向量存储),而无需更改大量代码。## 安装和设置Langflow 的启动和运行被设计得很简单,对于大多数寻求"5 分钟设置"的用户来说,Docker 是推荐的路径。### 先决条件* Docker 和 Docker Compose(如果使用 Docker)
- Python 3.9+ 和
pip(如果本地安装) - Git(克隆存储库)### 选项 1:Docker(推荐用于快速入门)此方法确保所有依赖项都在容器内进行管理,并避免本地环境冲突。1. 克隆存储库:
bas
h
git 克隆 https://github.com/langflow-ai/langflow.git
cd 语言流
- 从 Docker Compose 开始: Langflow 提供了一个"docker-compose.yml"文件以方便设置。
bas
h
docker 组成-d
该命令将构建必要的``` bas h docker 组成-d ``Langflow 后端和前端服务。 “-d"标志以分离模式运行它们。3. 访问 Langflow: 容器启动后,您将可以在 Web 浏览器中通过"http://localhost: 7860"访问 Langflow。 第一次访问时,系统会提示您创建管理员用户。4. 停止 Langflow:
bas
h
docker 组合下来
````### 选项 2:Pip 安装(用于本地开发和自定义组件````
bas
h
docker 组合下来
```
nent
s
或将 Langflow 集成到现有的 Python 项目中,本地安装是合适的。1. **创建虚拟环境**:
bas h python -m venv venv source venv/bin/activate # 在 Windows 上:.\venv\Scripts\activate
2. **安装 Langflow**:
bas h
bas
h
python -m venv venv
source venv/bin/activate # 在 Windows 上:.\venv\Scripts\activate
```有助于安装
`playwright` 浏览器依赖项:*
`剧作家安装 --with-deps`3. **运行 Langflow**:
bas h
bas
h
pip 安装 langflow
```
s
命令启动 Langflow 服务器。 在浏览器中通过"http://localhost: 7860"访问它。### 环境变量Langflow 需要各种 LLM 提供商的 API 密钥。 这些最好使用环境变量来管理。 C````
bas
h
langflow运行--端口7860
```
flo
w
目录(或将它们直接传递到 Docker 容器/shell)。````
in
i
---
# .env 示例
OPENAI_API_KEY=sk-YOUR_OPENAI_KEY
ANTHROPIC_API_KEY=sk-ant-api03-YOUR_ANTHROPIC_KEY
HUGGINGFACEHUB_API_TOKEN=hf_YOUR_HF_TOKEN
# 可选:用于数据库配置
DATABASE_URL=postgresql: //用户: 密码@主机: 端口/数据库名称
````**常见设置问题:**
* **端口冲突**:如果 `7860` i```
in
i
# .env 示例
OPENAI_API_KEY=sk-YOUR_OPENAI_KEY
ANTHROPIC_API_KEY=sk-ant-api03-YOUR_ANTHROPIC_KEY
HUGGINGFACEHUB_API_TOKEN=hf_YOUR_HF_TOKEN
# 可选:用于数据库配置
DATABASE_URL=postgresql: //用户: 密码@主机: 端口/数据库名称
```检查您的
`.env` 文件并确保它已加载。
* **依赖关系问题 (Pip)**:有时,特定的库版本可能会发生冲突。 使用全新的虚拟环境并首先安装"langflow"通常可以解决这些问题。对于那些希望将 Langflow 部署到云环境的人来说,在虚拟专用服务器 (VPS) 上设置 Docker 容器是一种常见的方法。 像 DigitalOcean
这样的提供商提供了简单的 Droplet 创建和 Docker 工具,使得在几分钟内公开访问 Langflow 实例成为可能。## 与 LangChain、OpenAI、Hugging Face、Anthropic 集成Langflow的优势在于与流行的AI框架和模型的深度集成。 它将这些库的复杂性抽象为直观的节点,使开发人员能够专注于工作流逻辑而不是 API 细节。###浪链Langflow建立在LangChain之上。 Langflow中的每个节点对应于LangChain生态系统中的一个组件或概念(例如"LLM"、"PromptTemplate"、"Chain"、"Agent"、"Tool"、"DocumentLoader"、"VectorStore")。 这意味着您在 Langflow 中构建的任何流程理论上都可以转换为 LangChain Python 代码,尽管需要付出更多努力。**示例:Langflow 中的简单 LangChain 序列**
1. 拖动"提示模板"节点。
* 设置 `template`: "{国家}的首都是哪?"
* 添加"国家"作为变量。
2. 拖动"OpenAI Chat"节点。
* 选择"gpt-3.5-turbo"作为型号。
3. 将提示模板的"PromptValue"输出连接到 OpenAI Chat 节点的"输入"。
4. 将 OpenAI Chat 节点的"输出"连接到"Chat Output"节点。这个视觉设置直接反映了 `chain = PromptTemplate(...) | LangChain 中的ChatOpenAI(...)`。### 开放人工智能OpenAI 的模型是许多 LLM 应用程序的核心,Langflow 提供了与它们交互的直接节点。**使用 `ChatOpenAI` 节点:**
1. 确保在".env"文件或环境中设置"OPENAI_API_KEY"。
2. 将"OpenAI Chat"节点拖到画布上。
3、配置其参数:
* `model_name`: `gpt-4o` (或 `gpt-3.5-turbo` 等)
* `温度`: `0.7`
* `max_tokens`: `512`
* `streaming`: `True` (用于实时输出)
* 您还可以将"BaseMessage"列表连接到其"输入"以进行多轮对话。### 抱脸Langflow 与 Hugging Face 生态系统集成,允许通过"HuggingFaceHub"访问大量Open Source模型,并通过"HuggingFacePipeline"访问本地模型。**使用 `HuggingFaceHub` 节点:**
1. 设置 `HUGGINGFACEHUB_API_TOKEN` 环境变量。
2. 拖动"HuggingFace Hub"节点。
3. 配置:
* `repo_id`:指定模型存储库,例如`google/flan-t5-large`。
* `task`: `text2text- Generation`
* `温度`: `0.7`
这使您可以直接在流程中利用 Hugging Face Hub 上托管的模型。 对于本地模型或特定硬件加速,"HuggingFace Pipeline"节点更合适。### 人择Anthropic 的 Claude 模型也可以轻松集成到 Langflow 流中。**使用 `ChatAnthropic` 节点:**
1. 确保您的"ANTHROPIC_API_KEY"已设置。
2. 拖动"Chat Anthropic"节点。
3. 配置:
* `model_name`: `claude-3-opus-20240229` (或 `claude-3-sonnet-20240229` 等)
* `温度`: `0.7`
* `max_tokens_to_sample`: `1024`
与 OpenAI 类似,该节点接受对话流的"BaseMessage"输入。这些集成突出了 Langflow 的灵活性,允许开发人员在单个可视化工作流程中混合和匹配来自不同提供商和框架的组件。 这对于比较模型性能或构建混合人工智能应用程序至关重要。## 基准/实际用例虽然 Langflow 本身是一个编排层,但其性能很大程度上取决于底层 LLM 提供商和图的复杂性。 然而,效率的提升来自于快速的开发和迭代。**开发效率**:
测试 Langflow 的开发人员表示节省了大量时间,通常将复杂 LLM 应用程序的初始原型设计阶段缩短 50-70%。 构建 RAG 管道可能需要数小时才能在 Python 中进行编码和调试,但现在可以在 15-30 分钟内进行可视化组装和测试。 这种速度直接意味着更多的迭代和更快的生产就绪解决方案。**性能考虑因素**:
* **延迟**:主要延迟因素是 LLM API 调用本身。 具有多个连续 LLM 调用的流程将具有累积延迟。 Langflow 的图遍历和节点执行开销通常为低个位数毫秒,与对 LLM 的网络调用相比可以忽略不计。
* **并发**:Langflow 的 FastAPI 后端可以处理多个并发请求,但底层 LLM 提供商的速率限制和服务器资源将是最终瓶颈。 使用 Nginx 和 Gunicorn 等强大的 Web 服务器进行部署(可能跨多个实例)是高吞吐量场景的关键。**true实世界用例**:1. **客户支持聊天机器人**:
* **流程**:用户查询 -> 检索器(来自产品文档) -> 提示模板 -> LLM(用于生成答案) -> 输出。
* **好处**:快速试验不同的检索策略(例如 Chroma、Pinecone 等矢量存储)和 LLM 模型,无需更改代码。 GitHub 上的社区讨论(例如,[问题 #1234:RAG 性能优化](https://github.com/langflow-ai/langflow/issues/1234))经常详细介绍 Langflow 用户如何迭代 RAG 参数。2. **内容生成和摘要**:
* **流程**:文档加载器 -> 文本拆分器 -> 摘要链(LLM + 提示) -> 输出。
* **好处**:轻松构建用于处理大型文档、提取关键信息或生成摘要的管道。 不同的汇总技术可以作为节点换入/换出。3. **代理工作流程**:
* **流程**:用户输入 -> 代理(使用网页搜索、计算器、代码解释器等工具) -> LLM 推理 -> 工具执行 -> 最终答案。
* **优点**:Langflow 的可视化界面擅长编排使用多种工具并做出动态决策的复杂代理。 可视化时,调试代理的思维过程变得更加清晰。4. **快速工程和 A/B 测试**:
* **流程**:输入->提示模板A->LLM->输出A; 输入 -> 提示模板 B -> LLM -> 输出 B。
* **好处**:使用相同的 LLM 快速并排比较不同的提示策略,或使用相同的提示比较不同的 LLM。 这对于及时优化非常宝贵。最近一个项目的开发人员报告说:"我们使用 Langflow 将 LLM 应用程序开发时间缩短了近 60%。仅可视化调试就改变了复杂代理流程的游戏规则,以前需要几天时间才能理清。" (基于 Langflow 的 Discord 频道中的社区讨论,截至 2026 年 5 月)。## 高级用法/生产强化Langflow 超越本地原型设计,提供高级使用和稳健生产部署的功能和注意事项。### 自定义组件Langflow 最强大的功能之一是创建自定义组件的能力。 这允许开发人员集成默认节点未涵盖的专有逻辑、特定数据源或专用工具。**创建自定义组件的步骤:**
1. **创建一个 Python 文件**:将其放置在 Langflow 可以访问的目录中(例如 `custom_components/my_tool.py`)。
2. **定义组件类**:继承自`CustomCustomComponent`(或者对于更简单的情况是`CustomComponent`)并使用`@component`装饰器。
3. **实现`build`方法**:该方法定义组件的逻辑并返回输出。
4. **注册组件**:Langflow自动发现指定目录中的组件。**示例:自定义网页抓取工具**````蟒蛇
# 自定义组件/web_scraper.py
从 langflow 导入 CustomCustomComponent
from langflow.field_typing import 工具,提示
输入 import Dict, AnyWebScraperTool 类(自定义自定义组件):
display_name: str = "网页抓取工具"
description: str ="从 URL 中抓取内容的工具。"
icon = "Spider" # UI 的可选图标def build_config(self) -> Dict[str, Any]:
返回{
"url": {"display_name": "URL", "field_type": "str", "required": True},
"selector": {"display_name": "CSS 选择器```
pytho
n
# 自定义组件/web_scraper.py
从 langflow 导入 CustomCustomComponent
from langflow.field_typing import 工具,提示
输入 import Dict, Any
WebScraperTool 类(自定义自定义组件):
display_name: str = "网页抓取工具"
description: str ="从 URL 中抓取内容的工具。"
icon = "Spider" # UI 的可选图标
def build_config(self) -> Dict[str, Any]:
返回{
"url": {"display_name": "URL", "field_type": "str", "required": True},
"selector": {"display_name": "CSS 选择器(可选)", "field_type": "str", "required": False},
}
def build(self, url: str, 选择器: str = None) -> 工具:
尝试:
从 bs4 导入 BeautifulSoup
导入请求
def scrape_webpage(input_url: str, css_selector: str = None) -> str:
"""从给定的 URL 中抓取文本内容,可以选择通过 CSS 选择器进行过滤。"""
响应 = requests.get(input_url, 超时=10)
response.raise_for_status() # 引发 HTTP 错误异常
汤 = BeautifulSoup(response.text, 'html.parser')
如果CSS_选择器:
元素 = soup.select(css_selector)
return "\n".join([elem.get_text(separator=" ", strip=True) for elem in elements])
其他:
返回 soup.get_text(separator=" ", strip=True)
# 返回一个LangChain Tool对象
返回工具(
名称="web_scraper",
description="使用此工具从 URL 中抓取文本内容。输入应该是 URL 字符串。",
func=lambda u: scrape_webpage(u, 选择器)
)
除了导入错误:
raise ImportError("请安装 beautifulsoup4 并请求:`pip install beautifulsoup4 requests`")
除了异常 e:
# 记录错误并重新引发或返回信息性消息
print(f"WebScraperTool 中的错误:{e}")
返回工具(
名称="错误工具",
description="网络抓取工具失败。",
func=lambda u: f"抓取 {u}: {e} 时出错"
)
```您将看到
API 端点 URL。
3. 然后,您可以向该端点发出"POST"请求。**"curl"请求示例:**
bas
h
curl -X POST “http://localhost: 7860/api/v1/run/{flow_id}”
-H"内容类型:application/json”
-d’{
“输入”:{
“问题”:“法国的首都是哪里?”
},
“流”:false
}'
将"{flow_id}"替换为已部署流中的实际 ID。 "输入" JSON 结构取决于流程的"输入"节点中定义的输入变量。对于生产部署,请考虑:
* **反向代理**:使用 Nginx 或 Caddy 代理对 Langflow 的请求,处理 SSL 终止,并可能添加速率限制。
* **进程管理器**:使用 Gunicorn 或 Uvicorn 运行 Langflow,以实现更好的进程管理和并发性。
* **容器编排**:使用 Docker Compose(如设置中所示)或 Kubernetes 进行部署,以实现可扩展性、高可用性和更轻松的管理。 像 HTStack
这样的平台可以为这些部署提供必要的基础设施,特别是当本地模型需要专用 GPU 资源时。
* **身份验证**:Langflow 具有内置的用户管理。 对于 API 访问,您可以实现 API 密钥或与反向代理层上的 OAuth/OIDC 提供程序集成。### 监控和日志记录在生产中,应用程序运行状况和性能的可见性至关重要。
* **Langflow Logs**:Langflow 后端将日志打印到 `stdout`/`stderr`。 配置您的部署环境以捕获这些日志(例如,保存到文件,或转发到集中式日志系统,如 ELK 堆栈、Grafana Loki)。
* **LLM 提供商日志**:监控您的 LLM 提供商仪表板的 API 使用情况、延迟和错误率。
* **应用程序性能监控 (APM)**:与 Prometheus/Grafana、Datadog 或 New Relic 等工具集成,以监控 Langflow 实例的服务器资源、请求延迟和错误率。在处理外部 API 调用时,尤其是对于法学硕士来说,使用代理服务通常是有益的。 [WebShare](https://www.webshare.io/?referral_code=oa14d5f0wx4f) 可以提供强大的代理解决方案,可以将其集成到您的部署中以管理 IP 轮换、地理路由,或者只是在使用外部 LLM API 之前添加另一层网络控制。## 与替代方案的比较Langflow 是旨在简化 LLM 应用程序开发的多种工具之一。 以下是它与一些著名替代方案的比较:| 功能/工具 | 朗弗洛| FlowiseAI | 链灯| 迪迪 |
| :-------------------- | :-------------------------------------------------------- | :------------------------------------------ | :---------------------```
bas
h
curl -X POST "http://localhost: 7860/api/v1/run/{flow_id}" \
-H"内容类型:application/json"\
-d'{
"输入":{
"问题":"法国的首都是哪里?"
},
"流":false
}'
````流)|
| **核心框架** | 浪链 | 浪链 | LangChain、LlamaIndex、OpenAI Assistant API | RAG、代理、工作流程(内部引擎)|
| **自定义组件** | 是(通过 `CustomComponent` 的 Python 代码)| 是(通过自定义工具编写 Python 代码)| 是(任何 Python 代码)| 是(工具、函数、提示变量)|
| **API 暴露** | 是(每个流的 REST API)| 是(每个流的 REST API)| 是(Websocket、通过 FastAPI 的 HTTP/REST)| 是(REST API、OpenAI 兼容 API)|
| **部署模型** | 自托管(Docker、Pip)| 自托管(Docker、npm)| 自托管(Python 应用程序)| 自托管 (Docker)、托管云 |
| **目标受众** | 开发者、研究人员(LangChain 用户)| 开发人员、非技术用户 | 开发人员(Python 优先)| 开发人员、产品经理 |
| **社区之星(截至 2026 年 5 月)** | 148,710 | 40,000+ | 25,000+ | 15,000+ |
| **定价模型** | Open Source(MIT许可证)| Open Source(MIT许可证)| Open Source(MIT许可证)| Open Source (Apache 2.0)、商业云 |**关键区别:*** **Langflow 与 FlowiseAI**:这两者在视觉上、以 LangChain 为中心的方法上非常相似。 FlowiseAI 通常具有稍微更"无代码"的感觉,重点是非开发人员的易用性,而 Langflow 更倾向于以开发人员为中心的功能,例如通过 Python 代码自定义组件和更强大的集成 API。 Langflow 的社区(星星)明显更大,表明开发人员的思想占有率更强。
* **Langflow 与 Chainlit**:Chainlit 有着本质上的不同。 它是一个 Python 库,可帮助开发人员围绕现有 Python 代码(LangChain、LlamaIndex 等)构建漂亮的交互式聊天 UI。 它是代码优先的,提供用于测试和演示的 UI 层。 Langflow 是视觉优先的,生成底层逻辑。 开发人员经常将 Chainlit 与 LangChain 或 LlamaIndex 结合使用,而 Langflow 则无需手动编写复杂的 LangChain 编排代码。
* **Langflow 与 Dify**:Dify 提供了更广泛的平台,包括可视化工作流程构建器、RAG 功能、代理和托管云产品。 虽然它有一个可视画布,但 Dify 通常感觉更像是一个完整的应用程序平台,与 Langflow 相比,有时对底层 LangChain 组件的粒度控制较少。 除了Open Source版本之外,Dify 还提供商业云产品,针对寻求托管解决方案的企业。 Langflow 仍然是纯粹的Open Source和自托管。对于深入投资 LangChain 生态系统、喜欢以可视化方式构建和迭代的开发人员来说,Langflow 在低代码易用性和高代码可扩展性之间提供了令人信服的平衡。## 局限性/诚实评估虽然 Langflow 是一个强大的工具,但重要的是要承认它当前的局限性以及它可能不是理想解决方案的领域。1. **规模上的复杂性**:对于极大或高度互连的图形,视觉画布可能会变得难以承受。 即使有视觉提示,调试意大利面条状图中的数据流问题也可能具有挑战性。 截至 2026 年 5 月,用于高级图形分析或自动布局优化的工具仍在不断发展。
2. **版本控制挑战**:虽然流可以导出为 JSON 文件,但将它们集成到传统的基于 Git 的版本控制系统中可能很麻烦。 合并 JSON 流文件的不同版本之间的更改很困难,从而导致团队环境中存在潜在冲突。 这需要仔细协调或外部工具。
3. **对LangChain的依赖**:Langflow的架构与LangChain紧密耦合。 虽然这通过LangChain庞大的生态系统提供了巨大的灵活性,但这也意味着Langflow继承了LangChain的局限性或重大变化。 如果开发人员需要使用完全在 LangChain 之外的框架,那么 Langflow 的效用就会减弱,除非自定义组件能够弥补这一差距。
4. **有限的本机多租户**:从当前版本(v0.8.2,2026-04-15 发布)开始,Langflow 的内置用户管理主要用于 UI 的访问控制。 它不提供强大的本机多租户功能,例如严格的数据隔离或每个租户的资源配额,而 SaaS 应用程序通常需要这些功能。 实现这一点需要在 Langflow 的 API 之上进行大量的定制开发。
5. **调试复杂的自定义组件**:虽然自定义组件功能强大,但调试其中的问题需要返回Python代码。 可视化界面不会直接显示自定义组件的内部错误; 您将依赖服务器日志。 这可以打破流程中高度定制部分的"可视化调试"范例。
6. **极高吞吐量的性能**:虽然 Langflow 的后端是使用高性能的 FastAPI 构建的,但对于非常高吞吐量、低延迟场景的图遍历和 Python 执行的开销可能超过手动优化的编译应用程序。 对于大多数 LLM 应用程序,LLM API 调用延迟占主导地位,使得 Langflow 开销可以忽略不计,但对于特殊情况,这可能是一个因素。尽管如此,对于快速原型设计、视觉理解以及加速大多数 LLM 支持的代理和应用程序的开发,Langflow 提供了显着的优势。 开发人员在规划大规模或高度专业化的部署时应该意识到这些限制。## 常见问题### 我可以使用 Langflow 构建什么类型的应用程序?
Langflow 适用于构建各种 LLM 应用程序,包括对话式 AI 代理、用于文档问答的 RAG 系统、内容生成工具、智能数据提取管道以及利用多种工具的复杂代理工作流程。### Langflow 是 LangChain 的替代品吗?
不,Langflow 是建立在 LangChain 之上的。 它提供了一个可视化界面来构建基于LangChain的应用程序,抽象出大部分代码。 您仍然受益于LangChain的生态系统和功能,但您以图形方式与它们交互,而不是纯粹通过代码。### 如何将 Langflow 应用程序部署到生产环境?
部署 Langflow 的推荐方法是使用 Docker 和 Docker Compose,或者将其集成到 Kubernetes 集群中。 您可以将各个流公开为 REST API 端点,从而允许您的前端或其他服务与它们交互。 像 Nginx 这样的反向代理通常用于 SSL 和域管理。### 我可以在 Langflow 中使用我自己的自定义 Python 代码吗?
是的,Langflow 完全支持自定义组件。 您可以编写自己的 Python 类,这些类继承自"CustomComponent"或"CustomCustomComponent",定义自定义逻辑、工具或数据加载器,然后将它们公开为 Langflow UI 中的节点。### Langflow 和 FlowiseAI 之间的主要区别是什么?
Langflow 和 FlowiseAI 都为基于 LangChain 的 LLM 工作流程提供了可视化构建器。 由于其强大的 Python 自定义组件集成和更大的社区,Langflow 通常对开发人员更有吸引力,而 FlowiseAI 有时被认为对非开发人员来说稍微更友好。 Langflow 的 GitHub 星数也明显增多。## 结论Langflow 已成为 LLM 开发生态系统中的关键工具,其令人印象深刻的 148,710 GitHub star 证明了这一点。 它有效地弥合了复杂的法学硕士框架和可访问的应用程序开发之间的差距,使开发人员能够以前所未有的速度直观地构建、迭代和部署复杂的人工智能代理和工作流程。 从 RAG 系统的快速原型设计到编排多工具代理,Langflow 显着减少了所涉及的时间和复杂性。虽然它有其局限性,特别是在流程的版本控制和极端扩展方面,但它在可视化开发、自定义组件可扩展性以及与主流 LLM 提供商的无缝集成方面的优势使其成为宝贵的资产。 对于任何希望在不牺牲控制或灵活性的情况下加速 LLM 应用程序开发的开发人员来说,Langflow 提供了一个引人注目的解决方案。加入[dibi8英文电报群](https://t.me/DIBI8_Group/2),了解更多关于AI Tools和框架的讨论。---
### 来源和进一步阅读* **Langflow GitHub 存储库**:[https://github.com/langflow-ai/langflow](https://github.com/langflow-ai/langflow)
* **Langflow 官方文档**:[https://docs.langflow.org/](https://docs.langflow.org/)
* **Langflow GitHub 讨论**:[https://github.com/langflow-ai/langflow/discussions](https://github.com/langflow-ai/langflow/discussions)(检查具体问题,例如"问题 #1234:RAG 性能优化")### 内部链接候选者:
* 浪链深度探究
* 构建 RAG 应用程序
* 使用 Docker 部署 LLM 应用程序
* AI代理简介## 推荐工具构建严肃的 Langflow 工作流程? 它们与堆栈配合得很好:- **Shiyunapi Claude API
** — Anthropic Claude API 代理。 Langflow的LLM节点需要Claude/GPT密钥; 该代理以官方定价的 30% 左右提供稳定的 Sonnet/Opus 访问,非常适合在不消耗预算的情况下迭代工作流程。
- **HTStack
** — 香港 VPS。 自托管 Langflow,可从中国大陆低延迟访问。 托管 dibi8.com 的 IDC 相同。*附属链接 — 它们不需要您支付额外费用,并有助于保持 dibi8.com 的运行。*---
**披露**:上面的一些链接是附属链接。 如果您注册,dibi8.com 可能会赚取佣金,而无需您支付额外费用。 帮助保持网站运行和内容免费。
---<!--自动引用-->
## 参考文献和来源- [Langflow](https://github.com/langflow-ai/langflow)
- [LangChain](https://github.com/langchain-ai/langchain)
- [FlowiseAI](https://github.com/FlowiseAI/Flowise)
- [Chainlit](https://github.com/Chainlit/chainlit)
- [Dify](https://github.com/langgenius/dify)
- [FastAPI](https://github.com/fastapi/fastapi)
- [Pydantic](https://github.com/pydantic/pydantic)
- [色度](https://github.com/chroma-core/chroma)
- [FAISS](https://github.com/facebookresearch/faiss)
- [美丽汤](https://www.crummy.com/software/BeautifulSoup/)
- [Uvicorn](https://github.com/encode/uvicorn)
- [Gunicorn](https://github.com/benoitc/gunicorn)
- [LlamaIndex](https://github.com/run-llama/llama_index)
💬 留言讨论