Vanna使用ollama分析本地MySQL数据库

        上一章节中已经实现了vanna的本地运行,但是大模型和数据库都还是远程的,因为也就没办法去训练,这节一起来实现vanna分析本地mysql数据库,因为要使用本地大模型,所以开始之前需要给本地安装好大模型,我这里用ollama下载了llama3,这节就用llama3作为大模型分析,如果本地没有ollama的可以参考我之前的章节安装一下,同时本地还需要安装mysql数据库,并创建一个表作为接下来用大模型分析的对象。

我这里的数据表如下:

        因为需要连接mysql数据库,因此需要安装mysql-connecter-python,同时我们将向量数据库换为ChromDB,在pycharm的命令提示符执行

pip install vanna
pip install ollama
pip install ChromaDB
pip install mysql-connector-python
pip install 'vanna[chromadb,ollama,mysql]'

安装完成后,按照vanna的官方文档,实现MyVanna的方法

class MyVanna(ChromaDB_VectorStore, Ollama):
    def __init__(self, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        Ollama.__init__(self, config=config
### 使用 Ollama 进行 Vanna 项目开发 #### 安装与配置环境 为了使用 Ollama 开发 Vanna 项目,首先需要安装并配置好运行环境。确保已安装 Python 及其他依赖项。 ```bash pip install ollama ``` 此命令会下载并安装最新版本的 Ollama 库[^1]。 #### 初始化项目结构 创建一个新的目录用于存放 Vanna 项目的文件,并初始化必要的文件夹和文件: ```plaintext vanna_project/ ├── data/ │ └── database_config.json ├── models/ └── main.py ``` `database_config.json` 文件应包含连接到 MySQL 数据库所需的信息,如主机名、端口、用户名和密码等设置。 #### 编写主程序逻辑 在 `main.py` 中编写核心业务逻辑代码来实现数据查询功能。下面是一个简单的例子展示如何利用 Ollama 和 Wren AI 来处理来自用户的自然语言请求并将这些转换成 SQL 查询语句执行于 MySQL 上面: ```python import json from ollama import create_llm, query_database def load_db_config(): with open('data/database_config.json') as f: config = json.load(f) return config if __name__ == "__main__": db_config = load_db_config() llm_model = create_llm(model_name="meta-llama", api_key="<your_api_key>") user_input = input("请输入您的问题:") sql_query = llm_model.generate_sql(user_input=user_input) result = query_database(sql=sql_query, **db_config) print(result) ``` 这段代码展示了怎样加载数据库配置信息、实例化大型语言模型 (LLM),接收用户输入并通过调用 LLM 的方法将其转化为 SQL 查询字符串最后发送给 MySQL 执行获取返回的结果集打印出来。
评论 152
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baker_zhuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值