当前位置: 首页 > news >正文

LangFlow 节点(Node)

LangFlow 作为可视化 LLM 工作流工具,其核心是 节点(Node),节点按功能可划分为几大类,覆盖从输入、模型调用、数据处理到输出的全流程。以下是官方核心节点类型的详细梳理(基于最新稳定版,不同版本可能略有增减):

一、核心基础节点(必需组件)

这类节点是搭建任何工作流的“骨架”,负责基础数据传递和流程控制。

  1. Input(输入节点)

    • 功能:接收外部输入数据(文本、文件、参数等),作为工作流的起点。
    • 常见子类型:
      • Text Input:手动输入文本(最常用,比如用户提问);
      • File Input:上传文件(如 TXT、PDF、CSV,需配合文件解析节点使用);
      • Parameter Input:定义变量参数(如 API 密钥、模型温度值,支持动态调整);
      • Chat Input:模拟对话输入(带历史对话上下文支持)。
  2. Output(输出节点)

    • 功能:展示或保存工作流的最终结果。
    • 常见子类型:
      • Text Output:直接显示文本结果(如 LLM 回答);
      • File Output:将结果保存为文件(如 TXT、CSV 下载);
      • Chat Output:展示对话式结果(关联历史上下文);
      • Webhook Output:将结果推送到指定 Webhook 接口(对接外部系统)。
  3. Flow Control(流程控制节点)

    • 功能:控制工作流的执行逻辑(分支、循环、条件判断)。
    • 常见子类型:
      • Condition:条件判断(如“结果包含关键词 A 则走分支 1,否则走分支 2”);
      • Loop:循环执行(如“遍历列表中所有元素,逐个处理”);
      • Switch:多分支路由(按输入参数匹配不同分支);
      • Merge:合并多个分支的结果(如汇总多轮 LLM 输出)。

二、模型调用节点(核心能力载体)

负责对接各类 AI 模型(LLM、Embedding、工具调用模型等),是工作流的“大脑”。

  1. LLM Nodes(大语言模型节点)

    • 功能:调用大语言模型生成文本、对话、推理等。
    • 支持的模型类型:
      • 开源模型:Llama 2/3、Mistral、Qwen(通义千问)、LlamaCpp(本地部署)等;
      • 闭源 API 模型:OpenAI(GPT-3.5/4)、Anthropic(Claude)、Google Gemini、Azure OpenAI、阿里云通义千问 API 等;
    • 核心配置:模型名称、API 密钥、温度(temperature)、最大 tokens、Top-P 等。
  2. Embedding Nodes(嵌入模型节点)

    • 功能:将文本转换为向量(用于检索、语义匹配)。
    • 常见子类型:
      • OpenAI Embeddings、Cohere Embeddings、Hugging Face Embeddings(如 BERT、Sentence-BERT);
      • 本地嵌入模型(如 LlamaCpp 嵌入、Sentence-BERT 本地部署)。
  3. Tool Calling Nodes(工具调用节点)

    • 功能:让 LLM 调用外部工具(API、数据库、函数等),扩展模型能力。
    • 常见子类型:
      • Function Call:调用自定义 Python 函数(需提前定义函数签名);
      • API Call:直接调用 HTTP/HTTPS API(支持 GET/POST,配置请求头、参数、认证);
      • 内置工具节点:Search(对接 Google/Bing 搜索)、Calculator(计算工具)、Database Query(数据库查询,支持 SQL/NoSQL)。
  4. Image Model Nodes(图像模型节点)

    • 功能:处理图像相关任务(生成、分析)。
    • 常见子类型:DALL·E、Stable Diffusion、CLIP(图像语义分析)。

三、数据处理与转换节点

负责对输入/输出数据进行清洗、格式转换、提取等操作,衔接不同节点的数据格式。

  1. Text Processing(文本处理)

    • 子类型:Split Text(按字符/段落分割文本,适配长文本)、Join Text(合并多个文本)、Replace Text(替换文本中的关键词)、Extract Text(从字符串/文件中提取指定内容,如正则提取)。
  2. Data Conversion(数据转换)

    • 子类型:Text to JSON(文本转 JSON)、JSON to Text(JSON 转文本)、CSV to List(CSV 文件转列表)、List to Text(列表转字符串)、Base64 Encode/Decode(Base64 编解码)。
  3. Vector Processing(向量处理)

    • 子类型:Vector Store(将嵌入向量存入向量数据库,如 Pinecone、Chroma、FAISS)、Vector Search(从向量库中检索相似向量对应的文本)。
  4. Context Processing(上下文处理)

    • 子类型:Chat History(管理对话历史,控制上下文长度)、Extract Context(从历史对话中提取关键信息)。

四、工具与外部服务节点

对接外部系统、工具或服务,扩展工作流的实用性(除了工具调用节点,还包括以下专项节点)。

  1. Database Nodes(数据库节点)

    • 功能:连接数据库执行查询/写入操作。
    • 支持类型:MySQL、PostgreSQL、SQLite、MongoDB 等;
    • 子类型:SQL Query(执行 SQL 查询)、SQL Insert/Update(写入/更新数据)。
  2. File Handling Nodes(文件操作节点)

    • 子类型:Read File(读取本地/云端文件内容)、Write File(将结果写入文件)、Convert File(文件格式转换,如 PDF 转 TXT)。
  3. Notification Nodes(通知节点)

    • 功能:将结果通过消息渠道推送。
    • 子类型:Email(发送邮件)、Slack(Slack 消息推送)、Telegram(Telegram 机器人消息)、SMS(短信通知,需对接运营商 API)。
  4. Cloud Service Nodes(云服务节点)

    • 子类型:AWS S3(操作 S3 存储桶文件)、Google Cloud Storage(谷歌云存储)、Azure Blob Storage(Azure 存储)。

五、自定义与扩展节点

LangFlow 支持用户自定义节点,满足个性化需求:

  1. Custom Python Node(自定义 Python 节点)

    • 功能:编写自定义 Python 代码逻辑(如复杂数据处理、专属工具调用),支持导入第三方库(如 pandas、requests),灵活扩展节点能力。
  2. Community Nodes(社区节点)

    • 功能:LangFlow 社区贡献的第三方节点(如特定 API 对接、行业专属工具),可通过插件市场安装使用。

节点使用核心逻辑

  1. 数据流:所有节点通过“输入端口(Input Port)”和“输出端口(Output Port)”连接,数据从输入节点流向模型/处理节点,最终通过输出节点呈现;
  2. 兼容性:节点间连接需匹配数据格式(如文本→LLM 节点、向量→向量库节点),数据处理节点用于解决格式不兼容问题;
  3. 扩展性:通过自定义节点或社区节点,可对接任意外部系统或实现专属逻辑。
http://www.dtcms.com/a/597164.html

相关文章:

  • Linux设置系统同步时间
  • 花垣网站建设一台主机做两个网站
  • 生成模型技术宇宙:从VAE到世界模型,揭示AIGC核心引擎
  • 网站建设中魔板免费扑克网站代码
  • 股指期货的收益和风险大吗?
  • 第12章 测试编写
  • 性能测试之使用 adb 查看设备CPU占用与数据分析
  • 【AUTOSAR SOMEIP】SD状态机
  • 海尔网站建设情况wordpress 没有保存
  • CSS 对齐
  • 从流批一体到湖仓一体架构演进的思考
  • 如何查看网站是否降权九江市住房和城乡建设厅网站
  • 从基本用法到迭代器实现—list重难点突破
  • 智能建站软件宁波房产网二手房出售
  • 如何从iPhone向Android 发送视频?8 种方法
  • LLM 相关内容
  • 研发管理知识库(4)华为研发管理流程简介
  • 【国内电子数据取证厂商龙信科技】手机取证之文件碎片
  • 【OpenCV + VS】OpenCV初步:在VS中配置并运行第一个OpenCV Demo
  • Java入门——Java跨平台的原理
  • 16、做中学 | 初三上期 Golang面向对象_进阶
  • Java 不同创建线程的方式什么时候才可以使用 this 来获取线程的引用
  • 兰州做网站的公司wordpress标签云美化
  • MATLAB基于PSO-GA的铁路工程施工进度计划多目标优化研究
  • JavaScript的BOM学习笔记——1、浏览器对象模型
  • python将Excel数据写进图片中
  • 五金配件网站建设报价圣弓 网站建设
  • Django中如何重写save()方法
  • C在线编程 | 提升编程技能,掌握C语言的核心要点
  • 京东这样的网站怎么做网站建设费用怎么算