新鲜出炉-今天安装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
<class ‘vanna.ollama.ollama.Ollama’>
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次才成功,麻了】
然后开始运行
先在pycharm里面写这段代码,连接你的本地模型和数据库
这里也有个坑,为啥我的run里面写了参数,是因为她好像默认没有监听所有端口,所以要指定一下,还有端口也是,如果被占用了就得换一个。
搞定
顺便分享以下前两天在安装使用dify和ollama时候遇到的问题
1.如果第一次安装docker需要切换里面默认的镜像源地址
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。