Dify+ollama+vanna 实现text2sql 智能数据分析 -01

06-01 1468阅读

新鲜出炉-今天安装vanna踩过的坑

今天的任务是安装vanna这个工具,因为dify中自己写的查询向量数据库和执行sql这两步太慢了大概要20S,所以想用下这个工具,看是否会快一点。后面会把这个vanna封装成一个工具让dify调用。

环境说明

我是在本地windows电脑安装的这几个软件,安装前需要一些基础环境,例如docker+python

以下以我正常安装的顺序把遇到的问题和解决方法写一下

1.vanna是基于pyhon安装的所以要先安装python环境和pycharm

2.然后再pycharm里面执行pip install ‘vanna[chromadb,ollama,mysql]’

记得更新pip install : python -m pip install --upgrade pip setuptools

这个时候会报错,因为没有安装c++ 环境,

所以要先点击vs_build工具,在安装程序里,勾选 “使用 C++ 的桌面开发” 工作负载。

检查环境变量:where cl.exe

重新安装:pip install vanna[chromadb,mysql,ollama] (不用重启电脑)

3.运行python代码时需要保证ollama时启动状态的

ollama serve 启动ollama

ollama run qwen2.5:3b 运行一个模型

http://192.168.5.55:11434/ 浏览器访问看ollama是否正常,ip地址使用ipconfig查看

4.python程序会报错,可能是anna、chromadb 或 ollama没有正确的安装到环境里面

需要:1。右键点击 PowerShell → 以管理员身份运行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

2.重新创建并激活虚拟环境:python -m venv .venv

.venv\Scripts\activate

3.升级pip : python.exe -m pip install --upgrade pip

4.重新安装:pip install vanna[chromadb,ollama]

5.验证安装结果:pip list | Where-Object { $.StartsWith(“vanna”) -or $.StartsWith(“chroma”) -or $_.StartsWith(“ollama”) }

预期输出应包含:

plaintext

vanna 0.7.6

chroma-hnswlib 0.7.6

chromadb 0.6.3

ollama 0.4.7

8.python -c “from vanna.ollama.ollama import Ollama; print(Ollama)”

如果成功,输出应为:

plaintext

9. Python 3.8 或更高版本 python --version

10.ok回到pychram界面,发现还是报错,怎么办?

11.可能是因为安装vanna路径不能被识别到,所以类似需要添加到环境变量里面:

1.点击顶部菜单栏的 File → Settings。展开 Project: vanna → 选择 Python Interpreter。点击右上角的齿轮图标 → 选择 Add Interpreter。在弹出的窗口中,选择 Existing environment → System Interpreter。点击右侧的文件夹图标(浏览)→ 导航到以下路径:C:\Users\xxx\PycharmProjects\vanna.venv\Scripts\python.exe点击 OK 确认。

12.添加了发现并没有刷新怎么办?退掉重新进

13.重新进来还是没有怎么办?File → Invalidate Caches/Restart。勾选 Invalidate and Restart → 点击 Invalidate。

14.好了,结束。

15.还是没有怎么办:C:\Users\xxx\PycharmProjects\vanna.venv\Lib\site-packages 检查这个下面有没有安装的vanna[chromadb,mysql,ollama]如果没有,则重新安装。

16。再pycharm小窗口界面执行python -m venv new_venv

# 激活新环境(在PyCharm终端)

new_venv\Scripts\activate

pip install vanna[chromadb,ollama]

17.再回到解释器的界面看是否成功【9次才成功,麻了】

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/825322af72b441caa2dbcec90f657f0c.png

然后开始运行

先在pycharm里面写这段代码,连接你的本地模型和数据库

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d15090378aff40a1bddea5ff583d9187.png![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/970aba7d6c17460c84e9e7ba9542e878.png

这里也有个坑,为啥我的run里面写了参数,是因为她好像默认没有监听所有端口,所以要指定一下,还有端口也是,如果被占用了就得换一个。

搞定

Dify+ollama+vanna 实现text2sql 智能数据分析 -01

顺便分享以下前两天在安装使用dify和ollama时候遇到的问题

1.如果第一次安装docker需要切换里面默认的镜像源地址

Dify+ollama+vanna 实现text2sql 智能数据分析 -01

2.ollama启动之后再dify中就是添加不成功,原因也是监听不到的问题

解决办法:在 PowerShell 中运行以下命令来设置 OLLAMA_HOST 环境变量,将监听地址指定为 0.0.0.0:11434。

• 然后再docker里面访问这个地址,如果可以访问呢成功则添加即可

• curl http://192.168.5.55:11434 ipconfig查看ip地址

• $env:OLLAMA_HOST = “0.0.0.0:11434”

• ollama serve

• [System.Environment]::SetEnvironmentVariable(“OLLAMA_HOST”, “0.0.0.0:11434”, [System.EnvironmentVariableTarget]::User)

3.再dify中使用可视化的时候,第一次一直再预览界面出不来图表,展示的一直是字符,但是产品是支持echarts的,就弄了好久。最后发现先把任务发布,然后再预览界面去访问就好了,可能是个bug。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码