GraphRAG + AutoGen + Ollama + Chainlit UI = 本地多智能体RAG超级机器人
本应用程序将GraphRAG与AutoGen智能体集成,由Ollama提供的本地LLM驱动,实现免费且离线的嵌入和推理。主要亮点包括:
- 智能体RAG: - 通过函数调用将GraphRAG的知识搜索方法与AutoGen智能体集成。
- 离线LLM支持: - 配置GraphRAG(本地和全局搜索)以支持来自Ollama的本地模型进行推理和嵌入。
- 非OpenAI函数调用: - 扩展AutoGen以通过Lite-LLM代理服务器支持使用Ollama的非OpenAI LLM进行函数调用。
- 交互式UI: - 部署Chainlit UI以处理持续对话、多线程和用户输入设置。
有用链接 🔗
- 完整指南: 微软的GraphRAG + AutoGen + Ollama + Chainlit = 完全本地和免费的多智能体RAG超级机器人 Medium.com 📚
📦 Linux安装和设置
按照以下步骤设置和运行AutoGen GraphRAG本地版,配合Ollama和Chainlit UI:
-
安装LLMs:
访问Ollama网站获取安装文件。
ollama pull mistral ollama pull nomic-embed-text ollama pull llama3 ollama serve
-
创建conda环境并安装包:
conda create -n RAG_agents python=3.12 conda activate RAG_agents git clone https://github.com/karthik-codex/autogen_graphRAG.git cd autogen_graphRAG pip install -r requirements.txt
-
初始化GraphRAG根文件夹:
mkdir -p ./input python -m graphrag.index --init --root . mv ./utils/settings.yaml ./
-
使用Utils文件夹中的文件替换GraphRAG包文件夹中的'embedding.py'和'openai_embeddings_llm.py':
sudo find / -name openai_embeddings_llm.py sudo find / -name embedding.py
-
创建嵌入和知识图谱:
python -m graphrag.index --root .
-
启动Lite-LLM代理服务器:
litellm --model ollama_chat/llama3
-
运行应用:
chainlit run appUI.py
📦 Windows安装和设置
按照以下步骤在Windows上设置和运行AutoGen GraphRAG本地版,配合Ollama和Chainlit UI:
-
安装LLMs:
访问Ollama网站获取安装文件。
ollama pull mistral ollama pull nomic-embed-text ollama pull llama3 ollama serve
-
创建conda环境并安装包:
git clone https://github.com/karthik-codex/autogen_graphRAG.git cd autogen_graphRAG python -m venv venv ./venv/Scripts/activate pip install -r requirements.txt
-
初始化GraphRAG根文件夹:
mkdir input python -m graphrag.index --init --root . cp ./utils/settings.yaml ./
-
使用Utils文件夹中的文件替换GraphRAG包文件夹中的'embedding.py'和'openai_embeddings_llm.py':
cp ./utils/openai_embeddings_llm.py .\venv\Lib\site-packages\graphrag\llm\openai\openai_embeddings_llm.py cp ./utils/embedding.py .\venv\Lib\site-packages\graphrag\query\llm\oai\embedding.py
-
创建嵌入和知识图谱:
python -m graphrag.index --root .
-
启动Lite-LLM代理服务器:
litellm --model ollama_chat/llama3
-
运行应用:
chainlit run appUI.py