MindSQL

news2024/11/28 18:45:46

在这里插入图片描述

文章目录

    • 关于 MindSQL
    • 安装
    • 代码调用
    • 📁 项目代码结构
    • 其它


关于 MindSQL

MindSQL 是一个 Python RAG 库,旨在仅使用几行代码来简化用户与其数据库之间的交互。
MindSQL 与 PostgreSQL、MySQL、SQLite 等知名数据库无缝集成,还通过扩展接口将其功能扩展到 Snowflake、BigQuery 等主流数据库IDatabase。
该库利用 GPT-4、Llama 2、Google Gemini 等大型语言模型 (LLM),并支持 ChromaDB 和 Faiss 等知识库。

  • 官网:https://www.mindinventory.com/text-to-sql-mindsql.php
  • github : https://github.com/Mindinventory/MindSQL

结构

在这里插入图片描述


安装

需要 Python 3.10+

pip install mindsql

代码调用

# !pip install mindsql

from mindsql.core import MindSQLCore
from mindsql.databases import Sqlite
from mindsql.llms import GoogleGenAi
from mindsql.vectorstores import ChromaDB

# Add Your Configurations
config = {"api_key": "YOUR-API-KEY"}

# Choose the Vector Store. LLM and DB You Want to Work With And
# Create MindSQLCore Instance With Configured Llm, Vectorstore, And Database
minds = MindSQLCore(
    llm=GoogleGenAi(config=config),
    vectorstore=ChromaDB(),
    database=Sqlite()
)

# Create a Database Connection Using The Specified URL
connection = minds.database.create_connection(url="YOUR_DATABASE_CONNECTION_URL")

# Index All Data Definition Language (DDL) Statements in The Specified Database Into The Vectorstore
minds.index_all_ddls(connection=connection, db_name='NAME_OF_THE_DB')

# Index Question-Sql Pair in Bulk From the Specified Example Path
minds.index(bulk=True, path="your-qsn-sql-example.json")

# Ask a Question to The Database And Visualize The Result
response = minds.ask_db(
    question="YOUR_QUESTION",
    connection=connection,
    visualize=True
)

# Extract And Display The Chart From The Response
chart = response["chart"]
chart.show()

# Close The Connection to Your DB
connection.close()

📁 项目代码结构

  • _utils: 包含常量和记录器的实用程序模块。
  • _helper: 帮助模块。
  • core: 主要核心模块,minds_core.py.
  • 数据库: 数据库相关模块。
  • llms: 与语言模型相关的模块。
  • 测试: 测试脚本。
  • 矢量存储: 与矢量存储相关的模块。
  • 诗歌.lockpyproject.toml: 诗歌依赖项和配置文件。
  • 测试: 测试用例。

其它

  • 错误报告 : https://github.com/Mindinventory/MindSQL/blob/master/.github/ISSUE_TEMPLATE/bug-report.md
  • 功能请求 : https://github.com/Mindinventory/MindSQL/blob/master/.github/ISSUE_TEMPLATE/feature-request.md

2024-04-11(四)

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

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

相关文章

基于ssm的前后端分离鲜花销售系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本鲜花销售系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

async+await——用法——基础积累

对于asyncawait,我一直都不太会用。。。。 今天记录一下asyncawait的实际用法: 下面是一个实际的使用场景: 上面的代码如下: async fnConfirmCR(){let type this.crType;let crId this.crId;if(typeof crId object){let ne…

SXSSFWorkbook实现分页查询导出

继上一篇性能爆炸!SXSSFWorkbook原文件上追加写入&分页导出_sxssfworkbook 模板写入-CSDN博客 那篇其实还没有完全爆炸,但为啥不删除那一篇呢,因为那篇也算是一种思路。这篇文章是属于另外一种思路的玩法。上一篇是读取一个已有的excel再…

智能合约:未来数字经济的基石

智能合约是一种自动执行交易的计算机协议,它以代码形式规定了交易双方的权利和义务,具有高度的可靠性和安全性。随着数字经济的发展,智能合约的重要性日益凸显,将成为未来数字经济的基石。 首先,智能合约在金融领域的应…

深度学习Vue框架生命周期(三)

一.什么是生命周期? 在vue中,生命周期就是vue实例程序从创建到销毁的这个过程,在生命周期中,不同阶段我们可以做不同的事情。vue的生命周期是创建阶段、挂载阶段、更新阶段、销毁阶段 二.什么是钩子函数? 钩子函数就是…

数学杂谈之三:数学思想方法

数学杂谈之三:数学思想方法 数学杂谈之一:数学的形态 https://blog.csdn.net/cnds123/article/details/137437208 数学杂谈之二:数学中的概念和理解 https://blog.csdn.net/cnds123/article/details/137500537 数学思维、数学思想和数学方法…

1200/天,长期兼职贵么?

今天收到一个客户询盘,问公司长期招聘一个兼职程序员,包月的这种。问我多少钱一个月,在这种需求未明确的情况下,单纯的问价格其实意义不大的,只要报价不在客户心理预期范围内基本没戏的。 关于定价 关于程序员价格的定…

【进阶六】Python实现SDVRPTW常见求解算法——差分进化算法(DE)

基于python语言,采用经典差分进化算法(DE)对 带硬时间窗的需求拆分车辆路径规划问题(SDVRPTW) 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. 代码…

【spring】@Profile注解学习

Profile介绍 在Spring框架中,Profile注解用于根据特定的配置文件来有条件地激活或禁用Bean的定义。这在开发和测试过程中非常有用,因为它允许你为不同的环境(如开发、测试、生产)定义不同的配置。 Profile不仅可以标注在方法上&…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

第十五讲:C语言内存函数

目录 1、C语言内存函数 1.1、memcpy函数的使用和模拟 1.2、memmove函数的使用和模拟 1.3、memset函数的使用 1.4、memcmp函数的使用 1、C语言内存函数 注意:下面这些函数的使用要包含头文件:string.h 1.1、memcpy函数的使用和模拟 函数声明为&am…

2024年第十七届 认证杯 网络挑战赛 (C题)| 云中的海盐 | 辐射传输方程 Stefan-Boltzmann分析 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看认证杯 网络挑战赛 (C题)&#xff01…

PTA qls学画图

这一天qls在学校综合楼等电梯的时候看到了电梯数字的样子,突然觉得这样写数字特别有趣,于是自己想用程序跑出来。由于正常大小输出数字太小了,qls决定加大难度,他想画出不同大小的数字,你能帮他解决这个问题吗&#xf…

ELK,ELFK日志收集分析系统

ELK简介 ELK是一套完整的日志集中处理解决方案,将ElasticSearch,Logstash和Kibana三个开源工具配合使用,实现用户对日志的查询、排序、统计需求。 ELK工作原理 在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中…

渗透入门靶场大盘点

写给新手朋友入门,有了靶场丰富自己思路,也巩固自己的技术。当然新手老手都可以玩玩。 这期盘点渗透靶场,排名不分前后,还有其他靶场欢迎留言提出!以及在留言当中评论出你最喜欢的靶场并附上理由。 本期是盘点入门必刷…

用html写一个雨的特效

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雨特效</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"wrap-textu…

19 文件接口

文件概念 文件指的是文件内容属性&#xff0c;对文件的操作无外乎就是对内容或者属性的操作 为什么平时不用文件接口 我们运行程序访问文件&#xff0c;本质是进程在访问文件&#xff0c;向硬件写入内容&#xff0c;只有操作系统有这个权限。普通用户想写入内容呢&#xff1…

SpringBoot学习笔记四

SpringBoot学习笔记四-监听机制 1. SpringBoot监听器1.1 无需配置1.1.1 CommandLineRunner使用1.1.2 ApplicationRunner的使用1.1.3 CommandLineRunner与ApplicationRunner的区别 1.2 需要创建META-INF文件&#xff0c;并在其中创建spring.factories&#xff0c;配置相关的信息…

SpringMVC原理及工作流程

组件 SpringMVC的原理主要基于它的各个组件之间的相互协作交互&#xff0c;从而实现了Web请求的接收&#xff0c;处理和响应。 它的组件有如下几个&#xff1a; DispatcherServlet前端控制器 HandlerMapping处理器映射器 Controller处理器 ModelAndView ViewResolver视图…

make/makefile学习

文章目录 1、makefile函数1.1、字符串替换函数&#xff1a;subst1.2、模式字符串替换函数&#xff1a;patsubst1.3、去空格函数&#xff1a;strip1.4、查找字符串函数&#xff1a;findstring 2、、:、&#xff1f;区别 1、makefile函数 1.1、字符串替换函数&#xff1a;subst …