Dify智能体实现Text2SQL -- 知识铺
Agent是具有自主性、适应性、反应性、预动性和社会性的程序或系统,能够在特定环境中独立运作并完成特定任务。在人工智能领域,Agent可以是简单的软件程序,也可以是复杂的智能体,能够从数据中学习并不断优化自己行为。
系列文章:https://blog.csdn.net/qq_43128256/article/details/139652995中提到,智能体开发得两种模式,即Agent和工作流。
其中:
一般Agent实现与工作流相比,省去了对数据、模型、工具、逻辑判别等步骤的次序设计规划,这是由于应用开发框架已经于底层设计了一套利用大模型自身能力对工具、流程进行规划的机制。
具体机制可参考下图:
AGI 实现方式对比分析
一般Agent构建模式
优势
- 高效性:开发者只需输入主题方向,平台自动生成详尽的人物设定和行为Prompt,提升开发速度和便捷性。
不足
- 依赖性:对模型能力依赖较强,难以应对逻辑复杂且对稳定性要求高的任务流程。
工作流模式
优势
- 复杂性:能够设计复杂庞大的工作流程,利用逻辑结构如意图跳转、条件分支(if/else逻辑)、循环等,构建精细的业务流程。
缺陷
- 上手成本:开发时间较长,上手成本较高。
AGI 实现方式选择
根据上述对比,一般Agent构建模式更符合AGI(通用人工智能)的想象,它比一般AI更高级,目标是创造能像人类一样思考、学习、执行多种任务的系统。本文以text2sql应用场景为例,展示如何使用大模型和Dify开发平台创造AGI。
实战示例
tool.py
以下是一个实战示例,展示了如何在Dify开发平台上使用大模型创建AGI。
|
|
注意:以上代码仅为示例,实际开发中需要根据具体需求进行编写。
|
|
该文件通过启动API得形式提供可用于Dify使用的tool,定义一个数据库table_info得获取工具,一个SQL语句的执行工具。
进入Dify Agent页面配置工具和LLM
Prompt如下:
|
|
其中wqx、mysql是本地数据库的名字。
配置本地数据库权限:
|
|
其中172.20.32.127为dify应用所在的服务器IP。
可见,只提供数据库table_info得获取工具,一个SQL语句的执行工具,让大模型自身设计调配逻辑、工作流程,并让其根据需求自身生成SQL语句,实现了一定程度上的AGI。
这可能是很接近大家理想中的智能体吧!
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek002/post/202411/Dify%E6%99%BA%E8%83%BD%E4%BD%93%E5%AE%9E%E7%8E%B0Text2SQL--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com