AI_agent_vanna 数据表

Vanna 2.0

 网上的资源多是之前版本的,使用2.0有所不同
 agent  --<llm tools memory >   
	User 
        agent--- LLM  Tool Database memory
    Servers		

Vanna三个主要基础设施

Database ,即需要进行查询的关系型数据库
VectorDB ,即需要存放RAG“模型”的向量库
LLM      ,即需要使用的大语言模型,用来执行Text2SQL任务		 

安装

 pip install vanna[chromadb,openai,duckdb,mysql]

1.模型

    class OllamaLlmService(LlmService)  src/vanna/integrations/ollama/llm.py
	class OpenAILlmService(LlmService): src/vanna/integrations/openai/llm.py

2.向量数据库

    class DemoAgentMemory(AgentMemory)   src/vanna/integrations/local/agent_memory/in_memory.py
    class MarqoAgentMemory(AgentMemory)  src/vanna/integrations/marqo/agent_memory.py 向量数据库 Marqo
	class MilvusAgentMemory(AgentMemory): src/vanna/integrations/milvus/agent_memory.py
	src/vanna/integrations/opensearch/agent_memory.py
	src/vanna/integrations/pinecone/agent_memory.py	 
	class CloudAgentMemory(AgentMemory): src/vanna/integrations/premium/agent_memory/premium.py
	class QdrantAgentMemory(AgentMemory) src/vanna/integrations/qdrant/agent_memory.py
	src/vanna/integrations/weaviate/agent_memory.py
	
   Vanna已经内置支持的LLM和VectorDB。OpenAI_Chat和 ChromaDB_VectorStore 
      Chroma      轻量级、Python原生、快速原型开发   中小团队MVP验证             单机百万级,延迟200ms          开源免费  
      Qdrant      Rust内存安全、标量过滤、稀疏向量支持 高并发实时检索              单节点百万级QPS,延迟<50ms     开源免费,云托管
	      docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
	
	ChromaDB 支持两种主要模式:
        持久化模式(PersistentClient):数据存本地文件夹。
        内存模式(HttpClient/Ephemeral):数据只在内存,重启丢失。    

3.数据库

   class MySQLRunner(SqlRunner): src/vanna/integrations/mysql/sql_runner.py  
   src/vanna/integrations/oracle/sql_runner.py
   src/vanna/integrations/postgres/sql_runner.py
### Import MySQL tool
from vanna.tools import RunSqlTool
from vanna.integrations.mysql import MySQLRunner

# Set up database connection
db_tool = RunSqlTool(
    sql_runner=MySQLRunner(
        host="localhost",
        database="your_database",
        user="your_user",
        password="your_password",
        port=3306
    )
)

使用示例

vanna安装:pip install vanna,可选扩展如 vanna[chromadb,ollama,mysql] 支持本地化部署。

连接数据库:自定义 run_sql 方法(如 MySQL 需通过 mysql.connector 返回 Pandas DataFrame)。

训练模型:通过 DDL、文档或 SQL 示例训练,
  例如:vn.train(ddl=“CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100))”)。
  这些例子是过去版本的了,新版本使用了agent的方式

提问与查询:调用 vn.ask(“查询销售额最高的产品”),生成并执行 SQL

在线的方式CDN 版本加载的是什么?
     https://cdn.tailwindcss.com 实际做了什么?
     直接在浏览器端生成完整版 Tailwind CSS   
     包含:
        所有颜色
        所有 spacing
        所有 responsive 变体
        所有 hover / focus / dark 等状态
        最终结果:
        
        一个通常 超过 3MB(未压缩) 的 CSS 文件
    CDN 模式下: 浏览器运行时生成 CSS
 
实质上意味着您可以指示浏览器首先使用默认浏览器的字体,直到Google字体文件可用。当浏览器完成下载谷歌字体文件时,它会交换显示并使用谷歌字体。

报错

 新版 Chroma(>=0.5.x)默认就是:all-MiniLM-L6-v2 
   Chroma Embeddings算法是一种用于生成文本嵌入向量(text embeddings)的方法,主要在ChromaDB中应用	 
    ~/.cache/huggingface/hub/
	
from chromadb.utils import embedding_functions
openai_ef = embedding_functions.OpenAIEmbeddingFunction(
    model_name="text-embedding-ada-002")	

  openai API端点URL:

    https://api.openai.com/v1/chat/completions
    https://api.openai.com/v1/completions
    https://api.openai.com/v1/embeddings
    https://api.openai.com/v1/models

参考

https://vanna.ai/docs/configure/ollama/mysql
posted @ 2026-03-16 11:11  辰令  阅读(7)  评论(0)    收藏  举报