部署RAGFlow + Vanna

RAGFlow


如何部署RAGFlow

从git种拉取ragflow项目

$ git clone https://github.com/infiniflow/ragflow.git


使用docker创建容器

$ cd ragflow/docker
$ docker compose -f docker-compose.yml up -d


运行容器启动ragflow


Vanna

什么是Vanna?

在学习Vanna之前,需要了解的是什么Vanna?

Vanna简单来说是一种基于大模型的信息检索框架,也就是RAG框架,主要研究的方向是通过自然语言生成SQL语句。


为什么需要使用Vanna?

用特定的数据训练Vanna,就能够实现通过生成对应的sql,就能够直接从数据库中检索出有用的信息,这对数据检索是一种新的方向。


如何部署Vanna

Vanna的部署十分的简单,事实上,你只需要下载Vanna的库就能够使用Vanna了。

pip install vanna

使用示例:

class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
def __init__(self, config=None):
ChromaDB_VectorStore.__init__(self, config=config)
OpenAI_Chat.__init__(self, config=config)

vn_chroma = MyVanna(config={'api_key': OPENAI_API_KEY, 'model': 'gpt-3.5-turbo'})
vn_chroma.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')

def test_vn_chroma():
existing_training_data = vn_chroma.get_training_data()
if len(existing_training_data) > 0:
for _, training_data in existing_training_data.iterrows():
vn_chroma.remove_training_data(training_data['id'])

df_ddl = vn_chroma.run_sql("SELECT type, sql FROM sqlite_master WHERE sql is not null")

for ddl in df_ddl['sql'].to_list():
vn_chroma.train(ddl=ddl)

sql = vn_chroma.generate_sql("What are the top 7 customers by sales?")
df = vn_chroma.run_sql(sql)
print(df)
assert len(df) == 7

if __name__ == '__main__':
test_vn_chroma()
AI/BI
黄晓锋 2025年3月16日
分析这篇文章

存档
登录 留下评论
​kafka-connect同步问题参考