wordpress使用七牛图像服务关键词seo培训

news/2025/9/23 6:58:24/文章来源:
wordpress使用七牛图像服务,关键词seo培训,自己有域名要怎么制作网站,自己做一个购物网站文章目录 vanna简介及使用vanna的原理vanna的源码理解总结参考资料 vanna简介及使用 vanna是一个开源的利用了RAG的SQL生成python框架#xff0c;在2024年3月已经有了5.8k的star数。 Vanna is an MIT-licensed open-source Python RAG (Retrieval-Augmented Generation) fram… 文章目录 vanna简介及使用vanna的原理vanna的源码理解总结参考资料 vanna简介及使用 vanna是一个开源的利用了RAG的SQL生成python框架在2024年3月已经有了5.8k的star数。 Vanna is an MIT-licensed open-source Python RAG (Retrieval-Augmented Generation) framework for SQL generation and related functionality. Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using RAG 使用pip即可安装vannapip install vanna。 vanna的使用主要分为三步1. 确认所用的大模型和向量数据库2. 将已有数据库的建表语句、文档、常用SQL及其自然语言查询问题进行向量编码存储到向量数据库只用进行一次除非数据有更改3. 使用自然语言查询数据库。 ## 第一步假设使用 OpenAI LLM ChromaDB 向量数据库 from vanna.openai.openai_chat import OpenAI_Chat from vanna.chromadb.chromadb_vector import ChromaDB_VectorStoreclass MyVanna(ChromaDB_VectorStore, OpenAI_Chat):def __init__(self, configNone):ChromaDB_VectorStore.__init__(self, configconfig)OpenAI_Chat.__init__(self, configconfig)vn MyVanna(config{api_key: sk-..., model: gpt-4-...})## 第二步将已有数据库相关信息存储起来 # 建表语句ddl vn.train(ddlCREATE TABLE IF NOT EXISTS my-table (id INT PRIMARY KEY,name VARCHAR(100),age INT) ) # 数据库相关文档 documentation vn.train(documentationOur business defines XYZ as ...) # 常用SQL vn.train(sqlSELECT name, age FROM my-table WHERE name John Doe)## 第三步就可以直接使用自然语言来查询数据了 vn.ask(What are the top 10 customers by sales?)常用vanna函数更多参见vanna 文档 # 训练实际是添加数据到向量数据库 vn.train(ddl) #建表语句 vn.train(documentation) #文档 vn.train(sql, question) #问题和sql对 vn.train(sql) #只有sql没有提供问题会使用LLM来生成相应的问题 vn.train(plan) #一般是根据提供的数据库来生成训练计划最终写入到向量数据库的还是ddl、documentation、sql/question三类# 查看已经加入到向量数据库的数据 vn.get_training_data() #所有数据 vn.get_related_sql() #sql vn.get_related_ddl() #ddl# 查询 vn.ask() # 查询实际上是由下面四个函数依次执行的 vn.generate_sql() #生成sql语句 vn.run_sql() #执行sql语句 vn.generate_plotly_code() #根据执行结果生成plotly绘图代码 vn.get_plotly_figure() #使用plotly绘图vanna的原理 下图是来自vanna文档用来解释vanna的原理。 vanna是基于检索增强(RAG)的sql生成框架会先用向量数据库将待查询数据库的建表语句、文档、常用SQL及其自然语言查询问题存储起来。在用户发起查询请求时会先从向量数据库中检索出相关的建表语句、文档、SQL问答对放入到prompt里(DDL和文档作为上下文、SQL问答对作为few-shot样例)LLM根据prompt生成查询SQL并执行框架会进一步将查询结果使用plotly可视化出来或用LLM生成后续问题。 如果用户反馈LLM生成的结果是正确的可以将这一问答对存储到向量数据库可以使得以后的生成结果更准确。 这篇博客记录了vanna尝试不同LLM和添加不同的上下文到prompt时生成SQL的准确率表明在prompt中加入相关SQL问答对作为few-shot对于提升结果准确性很重要GPT-4是效果最好的LLM。 vanna的源码理解 vanna所谓的训练(即vn.train())最终分为三类数据ddl、documentation、sql/question。使用向量数据库chromadb的实现时创建了三个collection也就是三类数据将分别存储和检索。对于sql/question会将数据变成{question: question,sql: sql}json字符串存储。如果用户在训练时只提供了sql没有提供问题会使用LLM来生成相应的问题使用的prompt为The user will give you SQL and you will try to guess what the business question this query is answering. Return just the question without any additional explanation. Do not reference the table name in the question.。 在查询阶段的vn.ask()由vn.generate_sql() 、vn.run_sql() 、vn.generate_plotly_code() 、vn.get_plotly_figure() 四个函数组成。其中最关键的是vn.generate_sql()它分为以下关键几步: get_similar_question_sql(question, **kwargs)去向量数据库中检索与问题相似的sql/question对 get_related_ddl(question, **kwargs) 去向量数据库中检索与问题相似的建表语句ddl get_related_documentation(question, **kwargs) 去向量数据库中检索与问题相似的文档 get_sql_prompt(question,question_sql_list,ddl_list,doc_list, **kwargs) 生成prompt, ## prompt 分为下面几个部分 initial_prompt The user provides a question and you provide SQL. You will only respond with SQL code and not with any explanations.\n\nRespond with only SQL code. Do not answer with any explanations -- just the code.\n## 如果有相关ddl,且没超过上下文窗口大小 if len(ddd_list)0:initial_prompt You may use the following DDL statements as a reference for what tables might be available. Use responses to past questions also to guide you:\n\nfor ddl in ddl_list:initial_prompt f{ddl}\n\n ## 如果有相关documentation,且没超过上下文窗口大小 if len(doc_list)0:initial_prompt f\nYou may use the following documentation as a reference for what tables might be available. Use responses to past questions also to guide you:\n\nfor documentation in doc_list:initial_prompt f{documentation}\n\n ## 如果有相关documentation,且没超过上下文窗口大小 if len(question_sql_list)0:initial_prompt f\nYou may use the following SQL statements as a reference for what tables might be available. Use responses to past questions also to guide you:\n\nfor question in question_sql_list:initial_prompt f{question[question]}\n{question[sql]}\n\nsubmit_prompt(prompt, **kwargs) 提交prompt到大模型生成sql extract_sql(llm_response) 使用正则从LLM的回复中获取sql 总结 vanna使用RAG的方式来提高text2sql的准确性个人觉得将prompt中的上下文分为DDL(建表语句schema)、数据库文档、相关问题和sql三大类是vanna框架里很重要的一个思路。从代码来看对这三类数据编码和检索的向量模型是同一个这对向量模型的通用表征能力要求很高。在实际使用时与其他RAG应用一样document的分块对于检索准确率同样有很大影响。 参考资料 vanna githubvanna 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站动画用什么程序做培训机构有哪些

在实际项目中,如果遇到需要大计算量的操作,按需fork(分叉)其实不是一个好的选择。因为fork的子进程也是V8(NodeJS的核心引擎)的新实例,每创建一个新实例,需要约30毫秒启动时间&#…

泉州网站制作企业搜索引擎推广和优化方案

qt5的中文乱码问题一直没有很明确的处理方案。 今天处理进程间通信时,也遇到了qt5乱码问题,一边是设置的GBK,一边设置的是UTF8,单向通信约定采用UTF8。 发送端保证发的是UTF8字符串,因为UTF8在网络数据包中没有字节序…

做国际网站需要多少钱wordpress文章内容语音

文章目录 🐒个人主页🏅算法思维框架📖前言: 🎀选择排序 时间复杂度O(n^2)🎇1. 算法步骤思想🎇2.动画实现🎇 3.代码实现 🐒个人主页 🏅算法思维框架 &#x1f…

淮南装饰公司网站建设玉溪网站建设

FL Studio All Plugins Edition【中文完整版 Win/Mac】适合音乐制作人/工作室使用,全套插件!(20.9新增Vintage Chorus,Pitch Shifter变调插件)FL Studio是超多顶级音乐人的启蒙首选!包括百大DJ冠军Martin Garrix&…

营销网站建设软件下载收费用的网站怎么做

题库查询系统 选择题 题目:以下哪个不属于数字签名的功能( ) 答案: A、不可伪造的 B、可重用的 C、可信的 D、不可抵赖的 题目:前缀为Worm的病毒是( ) 答案: A、蠕虫病毒 B、后门病毒 C、杩 D、脚本病毒 题目:下面关于…

贵阳网站设计模板wordpress任务

我们在这里所讲到的流媒体服务器&#xff0c;从本质上来讲&#xff0c;根本目的也是为了满足顾客这方面的要求。但相对于目前大多数网吧采用的系统来说&#xff0c;主要基于我们吸引顾客&#xff0c;在影视点播方面体现本网吧区别于其他竞争对手的特色。 <?xml:namespace p…

280亿国产AI独角兽,惹怒“地表最强法务部”

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087估值高达40亿美元(折合人民币约280亿元)的中国AI独角兽MiniMax,…

网站用自己的电脑做服务器效果图设计费收费标准

vi显示行号 :set nu 带行号查看&#xff0c;并不改变文件内容:set nonu 取消带行号查看在每个用户的主目录下,都有一个 vi 的配置文件".vimrc"或".exrc"用户可以编辑它,使这些设置在每次启动 vi 时,都有效.例如,加入如下设置行:set nu 显示行号…

商务定制网站重钢建设公司官方网站

众所周知&#xff0c;我们在实际采购光纤收发器当中&#xff0c;价格跟性能是一个很重要的衡量因素&#xff0c;特别是一些中小型企业。我们一般认为&#xff0c;几百元的产品足以能够满足一般的企业的需求了&#xff0c;除非是一些特殊的行业&#xff0c;例如电信、军事等。当…

校园网网站建设规划书上海装修公司一览表

设计内容与要求&#xff1a; 通过手机摄像头捕获身份证信息&#xff0c;将身份证上的姓名、性别、出生年月、身份证号码保存在数据库中。1&#xff09;所开发Apps软件至少需由3-5个以上功能性界面组成。要求&#xff1a;界面美观整洁、方便应用&#xff1b;可以使用Android原生…

龙华区城市建设局网站如何做搞笑原创视频网站

流程控制 1.复合语句 复合语句&#xff0c;也称为代码块&#xff0c;是一组Java语句&#xff0c;用大括号 {} 括起来&#xff0c;它们可以被视为单个语句。复合语句通常用于以下情况&#xff1a; - 在控制结构&#xff08;如条件语句和循环&#xff09;中包含多个语句。 - …

建网站的网络公司网络营销的概念可译为

闲着没事将这三个组件合成在一起做个功能强大的编辑器&#xff0c;可以起到代码高亮的作用。 效果呢和博客园的编辑器功能差不多。功能可以直接定制&#xff0c;有需要的朋友可以下载一份看看&#xff0c;如果在使用中有什么问题可以和我交流&#xff0c;当然如果如果有更好的方…

网站宝建站助手公司网站开发 flask

学习鸿蒙开发是否需要报培训班&#xff0c;取决于个人的学习需求和实际情况。 对于初学者来说&#xff0c;参加培训班可以提供系统的学习资源&#xff0c;有专业的老师指导&#xff0c;能够帮助快速入门&#xff0c;掌握基本知识和技能。同时&#xff0c;培训班通常会提供实践…

用jsp做网站需要的知识wordpress调用图片

vue请求后端无法传参问题 问题描述处理过程总结 问题描述 在学习vue时&#xff0c;使用axios调用后端&#xff0c;发现无法把参数正确传到后端&#xff0c;现象如下&#xff1a; 使用vue发起请求&#xff0c;浏览器上已经有传参&#xff0c;但是后端没接收到对应的用户名密码&…

镇江网站建设公司手机可以做软件开发吗

开源社区慌不慌&#xff1f;又一个 Linux 发行版宣告死亡 现在越来越多的人都在使用基于Linux的操作系统&#xff0c;Win 10的用户反馈一直不好&#xff0c;所以这种现象就见怪不怪了。按理来说&#xff0c;在这种情况下&#xff0c;Linux应该能借机发展&#xff0c;然而并没有…

怎做视频网站澄迈网站新闻建设

科技感界面 在强调简洁的科技类产品相关设计中&#xff0c;背景多数分为&#xff1a;颜色或写实图片两种。 颜色很好理解&#xff0c;大多以深色底为主。强调一种神秘感和沉稳感&#xff0c;同时可以和浅色的文字内容形成很好的对比。 而图片背景的使用&#xff0c;就要求其…

应用安全 --- IDA Pro脚本 之 批量导出反编译和反汇编

应用安全 --- IDA Pro脚本 之 批量导出反编译和反汇编import idc import idaapi import idautils import os import redef sanitize_filename(name, max_length=100):"""清理文件名,移除非法字符并限制…

国内最大的c2c网站企业网站关键词优化排名应该怎么做

前言 闲来无事在家偶然翻到了之前整理的文档和面试要做到准备路线&#xff0c;虽然内容有点多&#xff0c;但是技多不压身&#xff0c;多多益善 本部分内容是关于Android进阶的一些知识总结&#xff0c;涉及到的知识点比较杂&#xff0c;不过都 是面试中几乎常问的知识点&…

内蒙古网站建设百度怎么优化整站

一、概念 java.util.Properties 继承于Hashtable &#xff0c;来表示一个持久的属性集。它使用键值结构存储数据&#xff0c;每个键及其对应值都是一个字符串。该类也被许多Java类使用&#xff0c;比如获取系统属性时&#xff0c;System.getProperties 方法就是返回一个Proper…

上海网站建设lv cn长兴县城乡建设局网站

给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff1a;[[0,0,0],[0,1,0],[0,0,0]] 输入…