您的位置:首页 > 新闻 > 热点要闻 > 北京网站营销与推广_北京网页制作网络公司_外贸seo公司_优化站点

北京网站营销与推广_北京网页制作网络公司_外贸seo公司_优化站点

2025/2/28 1:04:33 来源:https://blog.csdn.net/qq_52950402/article/details/145874005  浏览:    关键词:北京网站营销与推广_北京网页制作网络公司_外贸seo公司_优化站点
北京网站营销与推广_北京网页制作网络公司_外贸seo公司_优化站点

文章目录

    • Vanna概要
      • 工作原理
    • 技术介绍
      • 1.基于检索增强(RAG)
      • 2.大型语言模型(LLM)
      • 3.向量数据库
    • 如何使用Vanna
      • 1.安装环境依赖
      • 2.配置向量数据库与使用的LLM
      • 3.连接数据库
      • 4.训练 RAG
        • DDL 建表语句训练
        • 文档训练(告知模型特殊字段含义等)
        • 示例 SQL 查询训练
      • 其他
        • vanna核心功能:
        • vanna具备web应用功能
      • 总结

本文章讲解的是生成SQL模型与工具,能够通过文字转为SQL命令 简化SQL命令。
我是AIdenwei,一个"鳝鱼"分享干货的博主
大家也可以叫我鳝鱼干博主。
在此分享文章内容的同时还是需要大家多看多学多实践。更多知识可以关注博主进行了解。大家点赞评论关注三连,才有更强的更新动力。谢谢!

Vanna概要

Vanna是一个基于检索增强(RAG)的SQL生成框架,使用大型语言模型(LLM)来生成SQL查询。

工作原理

训练阶段:通过将建表语句(DDL)、相关SQL查询示例以及对表或字段的注释等文档信息转化为向量形式(Embedding),并存储在向量数据库中。
问题处理与SQL生成阶段:当用户提出问题时,系统会在向量库中搜索与问题最相关的信息,然后将这些信息传递给LLM,由LLM生成SQL查询。

技术介绍

1.基于检索增强(RAG)

定义:RAG 旨在通过在生成文本的过程中引入外部知识检索,来增强生成模型的性能和效果。它允许模型在生成内容时,能够动态地从大规模的知识数据库中检索相关信息,并将这些信息融合到生成的文本中。

原理:RAG 模型一般由检索器和生成器两部分组成。检索器负责根据输入的提示或问题,从预先构建的知识图谱、文档库等数据源中检索出最相关的信息片段。生成器则以检索到的信息以及输入提示为条件,利用**生成式模型(如 Transformer 架构)**来生成自然流畅的文本。

大白话:人工智能在 “说话” 或者 “创作” 的时候,能先去 “查资料”,然后把查到的有用信息揉到它说的话或者写的内容里

2.大型语言模型(LLM)

大型语言模型(Large Language Model,LLM)是一种基于深度学习技术的人工智能模型,具有强大的语言理解和生成能力,在自然语言处理领域取得了显著的成果

3.向量数据库

向量数据库是一种专门用于存储、索引、查询和检索高维向量数据的数据库系统,特别适合处理非结构化数据(如图像、音频、文本等),能够实现传统数据库难以完成的高级分析和相似性搜索
适用于非结构化数据 存储的是向量 类似关系型数据库
Milvus:开源的高性能向量数据库
ChromaDB: 开源的向量数据库

如何使用Vanna

1.安装环境依赖

安装 Vanna
安装向量数据库
安装 LLM 客户端

2.配置向量数据库与使用的LLM

初始化向量数据库
配置 LLM(openai)
结合向量数据库和 LLM (如chromadb向量数据库,openai)

3.连接数据库

连接数据库(如mysql)mysq可以通过容器启动使用

4.训练 RAG

DDL 建表语句训练
vn.train(ddl="""
CREATE TABLE `goods` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(150) NOT NULL,`cate_name` varchar(40) NOT NULL,`brand_name` varchar(40) NOT NULL,`price` decimal(10,3) NOT NULL DEFAULT '0.000',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
""")
文档训练(告知模型特殊字段含义等)
vn.train(documentation="""
goods表中的字段cate_name为电脑类型,包括:笔记本、游戏本、超极本、平板电脑、台式机、服务器/工作站、笔记本配件
""")
示例 SQL 查询训练
vn.train(question="华硕品牌的笔记本的平均价格是多少?",sql="SELECT AVG(price) AS avg_price FROM goods WHERE brand_name = '华硕' AND cate_name = '笔记本';"
)

详细的vanna实操演示

其他

vanna核心功能:
  • vanna.train 训练使用
  • vanna.ask 接收一个自然语言问题作为输入,输出生成的 SQL 查询语句。
  • vanna.run_sql 接执行查询并获取结果 可以结合vanna.ask一起使用
vanna具备web应用功能

能够在界面上进行操作使用,用户可以无需编写 SQL 代码,即可通过自然语言交互完成复杂的数据查询和分析。降低数据分析的技术门槛。

总结

Vanna目前使用较多以及较为熟知,遇到问题更容易上网找到答案解决。
目前还有其他SQL模型与框架(SQLCoder,SQLGPT等)可以自行尝试。

感谢您的阅读!如果您喜欢这篇文章,不妨打赏一杯咖啡,让我更有动力继续分享更多优质内容。

博主其他文章

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com