Neo4j构建语义图谱,大模型秒懂表关系,Text2SQ准确率狂飙300%!告别瞎猜!

Qwen-Code安装教程 Qwen Code 是一个强大的基于命令行、面向开发者的 AI 工作流工具,改编自 Gemini CLI,专门针对 Qwen3-Coder 模型进行了优化。它专门为代码理解、代码重构、自动化工作流、Git 操作等场景设计,让你的开发工作变得更高效、更智能。它既可以通过 OAuth 无感登录使用官方免费额度,也支持 OpenAI-compatible(自定义 API)模式接入。通过环境变量或项目.env。 阅读详情

在大模型驱动的智能数据时代,Text2SQL 的准确性严重依赖对表结构和表间关系的理解。传统方法依赖 Prompt 工程或 Schema 描述,效果不稳定。
本文带你用 Neo4j 构建“数据库语义图谱”,让大模型“看得懂关系”,显著提升 SQL 生成准确率!

💡 核心思想:将 MySQL 表结构 + 人工定义的关系 → 写入 Neo4j → 供大模型检索/推理 → 生成更精准 SQL


🎬 运行效果

🧭 本文流程一览

  1. ✅ 环境配置 —— 安装依赖 & 配置数据库连接
  2. 📊 自动提取表结构 —— 从 MySQL 动态获取字段、主键、外键
  3. 🔗 人工定义表关系 —— 补充业务语义,构建完整图谱
  4. 🧱 写入 Neo4j —— 创建节点、关系、约束
  5. ▶️ 一键运行主函数 —— 自动化构建图谱
  6. 🎁 开源项目推荐 —— 快速集成到你的大模型应用!

1️⃣ 环境配置

1.1.安装neo4j

docker run -d \  --name neo4j-apoc \  -p 7474:7474 \  -p 7687:7687 \  -v ./volume/neo4j/data:/data \  -v ./volume/neo4j/plugins:/plugins \  -e apoc.export.file.enabled=true \  -e apoc.import.file.enabled=true \  -e apoc.import.file.use_neo4j_config=true \  -e NEO4J_AUTH=neo4j/neo4j123 \  neo4j:5.26.11-ubi9

1.2.安装必要依赖

pip install pymysql py2neo

1.3.MySQL 配置

MYSQL_CONFIG = {    "host": "localhost",    "port": 13006,    "user": "root",    "password": "your_password",      # ← 替换为你的密码    "database": "text2sql_db",    "charset": "utf8mb4",}

1.4.Neo4j 配置

NEO4J_URI = "bolt://localhost:7687"NEO4J_USER = "neo4j"NEO4J_PASSWORD = "your_password" # ← 替换为你的密码

1.5.数据库连接函数

from py2neo import Graphimport pymysqldef connect_mysql():    return pymysql.connect(**MYSQL_CONFIG)def connect_neo4j():    return Graph(NEO4J_URI, auth=(NEO4J_USER, NEOOJ_PASSWORD))

1.6.执行数据库脚本

DROP TABLE IF EXISTS `t_customers`;CREATE TABLE `t_customers` (  `customer_id` int NOT NULL AUTO_INCREMENT COMMENT '客户ID',  `customer_name` varchar(100) NOT NULL COMMENT '客户姓名',  `phone` varchar(20) DEFAULT NULL COMMENT '联系电话',  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '电子邮箱',  `address` text COMMENT '地址',  `city` varchar(50) DEFAULT NULL COMMENT '城市',  `country` varchar(50) DEFAULT '中国' COMMENT '国家',  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  PRIMARY KEY (`customer_id`),  UNIQUE KEY `email` (`email`)) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='客户信息表';DROP TABLE IF EXISTS `t_order_details`;CREATE TABLE `t_order_details` (  `detail_id` int NOT NULL AUTO_INCREMENT COMMENT '明细ID',  `order_id` int NOT NULL COMMENT '订单ID',  `product_id` int NOT NULL COMMENT '产品ID',  `quantity` int NOT NULL COMMENT '销售数量',  `unit_price` decimal(10,2) NOT NULL COMMENT '销售时的单价',  `line_total` decimal(12,2) NOT NULL COMMENT '行小计(quantity * unit_price)',  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  PRIMARY KEY (`detail_id`),  UNIQUE KEY `uk_order_product` (`order_id`,`product_id`),  KEY `product_id` (`product_id`)) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='销售订单明细表';DROP TABLE IF EXISTS `t_order_details`;CREATE TABLE `t_order_details` (  `detail_id` int NOT NULL AUTO_INCREMENT COMMENT '明细ID',  `order_id` int NOT NULL COMMENT '订单ID',  `product_id` int NOT NULL COMMENT '产品ID',  `quantity` int NOT NULL COMMENT '销售数量',  `unit_price` decimal(10,2) NOT NULL COMMENT '销售时的单价',  `line_total` decimal(12,2) NOT NULL COMMENT '行小计(quantity * unit_price)',  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  PRIMARY KEY (`detail_id`),  UNIQUE KEY `uk_order_product` (`order_id`,`product_id`),  KEY `product_id` (`product_id`)) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='销售订单明细表';DROP TABLE IF EXISTS `t_order_details`;CREATE TABLE `t_order_details` (  `detail_id` int NOT NULL AUTO_INCREMENT COMMENT '明细ID',  `order_id` int NOT NULL COMMENT '订单ID',  `product_id` int NOT NULL COMMENT '产品ID',  `quantity` int NOT NULL COMMENT '销售数量',  `unit_price` decimal(10,2) NOT NULL COMMENT '销售时的单价',  `line_total` decimal(12,2) NOT NULL COMMENT '行小计(quantity * unit_price)',  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  PRIMARY KEY (`detail_id`),  UNIQUE KEY `uk_order_product` (`order_id`,`product_id`),  KEY `product_id` (`product_id`)) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='销售订单明细表';

2️⃣ 自动提取 MySQL 表结构(智能识别主外键)

def get_tables_from_database(connection):    """自动扫描数据库,提取表名、字段、主键/外键标记"""    tables = {}    with connection.cursor() as cursor:        cursor.execute("SHOW TABLES")        table_names = [row[0] for row in cursor.fetchall()]        for table_name in table_names:            cursor.execute(f"SHOW COLUMNS FROM {table_name}")            columns = cursor.fetchall()            fields = []            for col in columns:                field_name = col[0]                key_type = col[3]  # PRI=主键, MUL=外键候选                if key_type == "PRI":                    fields.append(f"{field_name} [主键]")                elif key_type == "MUL":                    fields.append(f"{field_name} [外键]")                else:                    fields.append(field_name)            tables[table_name] = {"name": table_name, "fields": fields}    return tables

🌟 优势:无需手动维护字段列表,自动感知数据库变更!

3️⃣ 手动定义表间关系(补充业务语义)

⚠️ 自动提取无法识别业务逻辑关系,需人工补充!

RELATIONSHIPS = [    {        "from_table": "t_customers",        "to_table": "t_sales_orders",        "description": "客户创建销售订单",        "field_relation": "customer_id → order.customer_id",    },    {        "from_table": "t_sales_orders",        "to_table": "t_order_details",        "description": "订单包含多个明细项",        "field_relation": "order_id → detail.order_id",    },    {        "from_table": "t_products",        "to_table": "t_order_details",        "description": "产品属于订单明细",        "field_relation": "product_id → detail.product_id",    },    {        "from_table": "t_user",        "to_table": "t_user_qa_record",        "description": "用户产生问答记录",        "field_relation": "id → record.user_id",    },]

✍️ 建议:description 用自然语言描述,方便大模型理解!

4️⃣ 写入 Neo4j 图数据库

4.1.创建唯一性约束(防止重复)

def create_constraints(graph):    graph.run("CREATE CONSTRAINT IF NOT EXISTS FOR (t:Table) REQUIRE t.name IS UNIQUE")    print("✅ 节点唯一约束已创建")

4.2.创建表节点(包含字段信息)

def create_table_nodes(graph, tables):    for table_name, info in tables.items():        graph.run(            """            MERGE (t:Table {name: $name})            SET t.label = $label, t.fields = $fields            """,            name=info["name"],            label=table_name,            fields=info["fields"]        )    print("✅ 表节点创建完成!共创建 %d 个表节点" % len(tables))

4.3.创建表关系(带语义描述)

def create_table_relationships(graph):    for rel in RELATIONSHIPS:        graph.run(            """            MATCH (from:Table {name: $from_table})            MATCH (to:Table {name: $to_table})            MERGE (from)-[r:REFERENCES {                description: $description,                field_relation: $field_relation            }]->(to)            """,            from_table=rel["from_table"],            to_table=rel["to_table"],            description=rel["description"],            field_relation=rel["field_relation"]        )    print("✅ 表关系创建完成!共创建 %d 条关系" % len(RELATIONSHIPS))

5️⃣ 主函数:一键构建图谱!

def main():    print("🚀 开始构建 Text2SQL 语义图谱...")    mysql_conn = connect_mysql()    neo4j_graph = connect_neo4j()    try:        # 步骤1:获取表结构        tables = get_tables_from_database(mysql_conn)        print(f"📊 检测到 {len(tables)} 张数据表")        # 步骤2:清空旧数据(谨慎操作!)        print("🗑️  清空 Neo4j 中的旧数据...")        neo4j_graph.delete_all()        # 步骤3:创建约束        create_constraints(neo4j_graph)        # 步骤4:创建表节点        create_table_nodes(neo4j_graph, tables)        # 步骤5:创建表关系        create_table_relationships(neo4j_graph)        print("🎉 图谱构建完成!现在可用 Cypher 查询或供大模型调用")    except Exception as e:        print(f"❌ 构建失败: {str(e)}")        raise    finally:        mysql_conn.close()        print("🔌 数据库连接已关闭")if __name__ == "__main__":    main()

6️⃣ 根据表名称查询关系

from py2neo import Graphimport osdef test_get_table_relationships():    """    从 Neo4j 图数据库中查询预定义表之间的 REFERENCES 关系。    表名已写死在代码中,数据库连接信息从环境变量读取。    :return: list of dict,每个 dict 包含 from_table, relationship, to_table    """    # 从环境变量读取数据库配置    NEO4J_URI = os.getenv("NEO4J_URI", "bolt://localhost:7687")    NEO4J_USER = os.getenv("NEO4J_USER", "neo4j")    NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD", "neo4j123")    table_names = ["t_customers", "t_sales_orders", "t_products", "t_order_details"]    # 连接图数据库    graph = Graph(NEO4J_URI, auth=(NEO4J_USER, NEO4J_PASSWORD))    # Cypher 查询语句    query = """    MATCH (t1:Table)-[r:REFERENCES]-(t2:Table)    WHERE t1.name IN $table_names      AND t2.name IN $table_names      AND t1.name < t2.name    RETURN       t1.name AS from_table,      r.field_relation AS relationship,      t2.name AS to_table    """    # 如果没有表名,直接返回空结果(虽然这里不会为空)    if not table_names:        return []    # 执行查询    try:        result = graph.run(query, table_names=table_names).data()        print("查询结果:", result)        return result    except Exception as e:        print(f"[ERROR] 查询图数据库失败: {e}")        return []
``````plaintext
PASSED [100%]查询结果: [{'from_table': 't_customers', 'relationship': 'customer_id references customer_id', 'to_table': 't_sales_orders'}, {'from_table': 't_order_details', 'relationship': 'order_id references order_id', 'to_table': 't_sales_orders'}, {'from_table': 't_order_details', 'relationship': 'product_id references product_id', 'to_table': 't_products'}]

🎁 完整代码:关注我的开源实战项目 sanic-web

已经集成eno4j/text2sql

如果你正在寻找一个开箱即用、支持全链路开发的大模型应用脚手架,欢迎关注我的开源项目:

GitHub 项目 → https://github.com/apconw/sanic-web

🌈 项目亮点

  • ✅ 集成 MCP 多智能体架构
  • ✅ 支持 Dify / LangChain / LlamaIndex / Ollama / vLLM / Neo4j
  • ✅ 前端采用 Vue3 + TypeScript + Vite5,现代化交互体验
  • ✅ 内置 ECharts / AntV 图表问答 + CSV 表格问答
  • ✅ 支持对接主流 RAG 系统 与 Text2SQL 引擎
  • ✅ 轻量级 Sanic 后端,适合快速部署与二次开发

运行效果:

数据问答

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型实战项目&项目源码👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
在这里插入图片描述

为什么分享这些资料?

只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
【dify+docker安装教程】 最新!Windows上安装Docker Desktop教程,并解决WSL问题并汉化_windows安装docker desktop-优快云博客在 Windows 上安装Docker,运行时会出现WSL --updata的问题导致一直卡在docker 界面进不去,查了不少博客,原来是需要先 安装 WSL 2 并配置至少一个 Linux 发行版,才能正确运行docker Desktop。 阅读详情

相关推荐

Dify开发工作流

创建后就会有一个可拖拽的工作流页面,因为还没设置,默认只有一个开始,我们创建一个条件语句,就是根据不同的情况去执行不同的任务,我们可以创建一个变量,然后根据这个变量的值去判断执行哪个任务,所以在开始节点中添加一个变量,叫city,然后在开始后的+添加一个IF条件分支,在IF条件分支中需要判断刚才的变量,也就是city,我们配置如果输入city包含苏州,就执行一中任务,如果没有就执行另一种任务,在条件分支的后面可以看到两个+,就是连接的不同任务。因为天气预报调用的是接口,所以返回的是一大串的JSON数据。

Baker的博客 1万+

Dify工作流:高效自动化流程的利器

工作流是一种将业务流程中的任务、数据和资源按照一定规则和顺序进行自动化处理的技术。它通过定义流程的起点、中间环节和终点,将复杂的业务逻辑分解为一系列可管理的步骤,从而实现高效、透明的业务操作。Dify工作流的架构设计充分考虑了可扩展性、灵活性和高可用性。其核心架构可以分为以下几个主要部分:工作流引擎、节点管理器、数据存储、API接口和用户界面。以下是一个简单的Dify工作流定义示例,用于实现一个定时发送邮件的任务:JSON复制"nodes": [

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 9963

Dify安装全攻略:虚拟机到本地部署

本文介绍了Dify 1.9.2的本地化部署方案,重点讲解了在虚拟机环境下的安装流程。Dify作为类似Coze的大语言模型平台,其本地部署可确保数据安全、支持离线使用并灵活切换模型。文章详细说明了CentOS 9系统配置、Docker环境搭建、国内镜像站配置等关键步骤,并提供了完整的命令行操作指南。同时对比了虚拟机管理的多种操作方式(克隆、快照、IP查看等),以及Windows/Mac系统的安装注意事项。通过图文并茂的方式,帮助用户完成从环境准备到最终浏览器访问的全流程部署。

AI布道师丨波仔椿 1万+

大模型(deepseek)之运用Dify构建智能体和工作流应用

完成设置后回到主页面,可以看到顶部的4个页面。“探索”页面提供了模板应用程序,用户可参考模板定制自己的应用程序。“工作室”页面用户可创建自己的应用,包括聊天助手、智能体、工作流。“知识库”页面用户可以通过上传自己的文本数据创建知识库增强 LLM 的上下文。“工具”页面是Dify本身集成第三方工具,用户也可自定义工具。

qq_31400983的博客 5万+

TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型

在软件工程中,领域建模是连接业务需求与技术实现的关键桥梁,其核心在于对业务概念、属性及其关系的显式定义与规范。通过系统化的建模方法,开发者能够将模糊的领域知识转化为清晰、可扩展且类型安全的数据结构,从而在编译时捕获潜在错误,提升代码质量与可维护性。这一过程的技术价值在于实现了从业务逻辑到类型系统的无损映射,确保了设计的一致性。在实践中,结合TypeScript的静态类型检查与Zod的运行时验证,可以构建起从概念到代码再到数据库的三层一致性约束。本文以电商、博客等常见应用场景为例,深入解析如何运用源自斯坦福知

weixin_42551967的博客 383

手把手教你用Ubuntu Base 20.04打造轻量级ARM开发板根文件系统(附常见问题解决)

本文详细介绍了如何基于Ubuntu Base 20.04 LTS构建轻量级ARM开发板根文件系统,涵盖环境准备、镜像制作、跨架构配置、软件包定制及常见问题解决。通过实战指南,开发者可快速掌握ARM架构下的根文件系统构建技巧,优化系统性能并解决部署中的典型问题。

gin88的博客 211

零基础入门Dify!万字详解工作流(workflow)实现机制,小白也能变大神!

Dify工作流系统是一个基于图结构的可视化AI工作流引擎,支持多种节点类型(LLM、知识检索、条件分支等)和并行执行机制。系统采用事件驱动架构,通过变量池管理数据流动,提供完善的错误处理策略(FAIL_BRANCH/DEFAULT_VALUE)和节点重试机制。核心组件包括工作流服务、图引擎、变量池和节点实现,支持从简单到复杂的AI应用场景开发。该系统通过模块化设计和松耦合架构,实现了灵活的工作流编排和执行能力,适用于各类AI应用开发需求。

2401_84204207的博客 7944

中国30米逐年植被净初级生产力(NPP)数据集(1982年至今CASA模型)

1.3 气温、降水、地表太阳辐射数据 气温和降水数据月度空间插值数据是基于全国2400多个站点的日观测数据,在计算各气象要素月值的基础上,基于Anusplin软件插值生成的1982年以来各月度30米分辨率气温和降水栅格数据,插值过程中引入高程作为协变量。气温单位为℃,降水单位为mm。1.2 土地覆盖数据 土地覆盖数据来源于1985 年-2020年全球30米精细地表覆盖动态监测产品,该数据集包含29个地表覆盖类型,进行拼接、裁剪、重分类和重采样处理,获得8期250米分辨率的植被类型数据。

地球资源数据云的官方博客 2839

0代码,5分钟,搭建出企业级文档处理MCP Agent

文档质量决定了大模型理解的上限。当你正在构建知识库或者搭建文档审核相关的Agent,可以考虑将TextIn MCP Server嵌入到你的搭建工作流中,成为你的文档处理引擎。

z551646的博客 1387

如何在OBS中添加实时时间戳:Lua脚本配置教程(附效果展示)

本文详细介绍了如何在OBS中通过Lua脚本配置实时时间戳功能,包括环境准备、脚本获取、安装配置及高级定制。适用于直播和视频录制场景,提供精准回溯和风格自定义,支持多平台适配和性能优化,是专业制作的必备技巧。

day7的博客 1045

基于STM32的红外测温系统设计

为了实现本次的毕业设计,我搜集了大量的文献与资料,通过这些资料了解到红外测温的优点,与实现所需的基本器件,并设计了几个方案,最终选择了STM32作为主控芯片,为此还查阅了关于STM32的资料,在此次设计中采用的是MLX90614医用红外测温模块,通过查阅其数据手册了解其测量精度高且自带温度补偿,所以选择了该传感器作为红外测温模块,本次设计到此已经基本完成,硬件部分和软件部分的设计已基本完成。

weixin_112233的博客 1422

大模型工具Dify应用-工作流(Workflow)(附大模型教程)

工作流(Workflow) 是 Dify 的核心功能之一,通过将复杂任务分解为更小的步骤(节点),降低系统复杂度,减少对提示词技术和模型推理能力的依赖,从而提高 LLM 应用在复杂任务中的性能,提升系统的可解释性、稳定性和容错性。

pythonhy的博客 1万+

毫米波雷达dd-mimo中发射天线辐射方向图变化

本文详细介绍了dd-mimo的相位调制原理,以及分离天线的办法,最后演示了在dd-mimo中因为相位调制带来的辐射方向图的变化。

weixin_44555637的博客 1170

DeepSeek+dify 本地知识库:高级应用Agent+工作流

工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。一个完整的工作流,必须具备开始和结束两个节点。Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

yxkong的专栏 5398

[xboard-real6410]39 real6410中的BL1和BL2实验及流程分析

文章目录uboot控制uboot 流程uboot加载kernel uboot控制 uboot 流程 uboot加载kernel

鹰之翔 298

大语言模型应用指南:幻觉和偏见问题

大语言模型应用指南:幻觉和偏见问题 1. 背景介绍 1.1 大语言模型的发展历程 1.1.1 早期的语言模型 1.1.2 Tr

AI天才研究院 959

掌握这些Dify工作流程,轻松提升你的效率!

掌握这些Dify工作流程,轻松提升你的效率

大数据指北 3868

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

零基础AI开发系列教程:Dify节点的详细介绍(上)

节点是工作流的关键构成,通过连接不同的节点,从而实现工作流的功能。首先我们要明白一个核心概念:节点是为功能服务的。根据节点的功能,可以将节点划分为以下三类:基础与流程控制、数据处理与转换、AI与外部交互。

学习AI应用开发,分享AI干货、获取最新AI咨询 6204

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

AI大模型学习路线:(非常详细)AI大模型学习路线,收藏这一篇就够了!

自学AI大模型需要扎实的基础知识、系统的学习路线和持续的实践与探索。希望这条学习路线能为新手小白们提供一个清晰的方向,帮助大家更好地进入和发展在AI大模型领域。祝大家学习顺利,早日成为AI领域的专家!​。

Everly_的博客 7128

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

从零开始之Dify部署篇

Dify传送门。本系列文章从零开始探索Dify的功能及搭建过程。本文的搭建流程是基于Docker Compose进行部署。

u013563715的博客 7万+

Qwen Code 安装使用

Qwen Code是一款基于Gemini CLI开发的,专为模型设计的命令行人工智能工作流工具,具有更强大的解析器支持和工具支持功能。

whereabouts_的博客 2575

Windows-MCP:AI代理与Windows系统无缝集成的开源革命

Windows-MCP:开源语言操控系统重塑人机交互(2025) 微软生态迎来重大变革——Windows-MCP通过开源协议实现自然语言操控电脑,将LLM深度集成至操作系统内核。其核心技术突破在于: 三层架构:基础操作层(原子指令)、系统交互层(上下文感知)、高级控制层(任务链组合),直接调用Windows API实现像素级精准控制; 零视觉依赖:基于UI Automation框架访问控件树,规避传统OCR误差; 企业级性能:平均操作延迟<2秒,内存占用<50MB。 当前支持文件整理、跨应用数据

技术引领业务创新 2468

Dify工作流中的迭代节点

迭代节点的本质就是对数组内容循环处理。对数组执行多次步骤直至输出所有结果。迭代步骤在列表中的每个条目(item)上执行相同的步骤。使用迭代的条件是确保输入值已经格式化为列表对象。迭代节点允许 AI 工作流处理更复杂的处理逻辑,迭代节点是循环节点的友好版本,它在自定义程度上做出了一些妥协,以便非技术用户能够快速入门。

NLP工程化 2万+

Dify 1.5.1 版本 循环节点使用教程(含变量输出方案)

循环节点ocr_1(String 类型,会话变量)循环终止条件:通过添加循环判定节点返回的result值控制最大循环次数:自定义(测试可设小值,比如 2)参数提取器循环内部的处理逻辑,生成新变量ocr_2(b)变量赋值(关键步骤,解决循环结果带出的问题)ocr_1(或新变量ocr_outocr_2写入模式:覆盖(String 类型下)添加循环判定(Python 执行节点或条件判断节点)用于判断是否继续循环输出result,供循环节点作为退出判断1.5.1 版本无循环输出映射。

askein的博客 9530
上一篇: 一万两千字,解读智能应用开发最佳实践
下一篇: 终于有个简单的多Agent入门教程了,蚂蚁这次上大分
大模型产品经理
博客等级 码龄3年 1万+粉丝 1120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值