Skip to content

jia6261/minecraft-ai-rag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minecraft AI RAG 助手

这是一个本地运行的 AI 助手,它利用 RAG (检索增强生成) 技术,结合大型语言模型 (LLM),来回答关于你本地 Minecraft 知识库的问题。你可以将反编译的 Minecraft 源代码、Mod 文档、服务器配置、个人笔记等放入知识库,AI 将能理解并基于这些内容进行回答。

该项目通过 Ollama 驱动本地模型,使用 FastAPI 提供 API 服务,并可以通过 Chatbox 等客户端进行交互,提供了一个完整且专业的本地 AI 问答解决方案。

架构与原理

该系统采用 FastAPI + LangChain + Ollama + ChromaDB 的专业架构:

  1. 知识库 (ChromaDB):存储你本地 Minecraft 文件(代码、文档)的向量化数据。
  2. 检索增强 (LangChain):接收用户问题,从 ChromaDB 中检索最相关的知识片段。
  3. API 服务 (FastAPI):将检索到的知识和问题打包成 Prompt,发送给 Ollama,并将 Ollama 的回答流式返回给前端。
  4. 模型 (Ollama):在本地运行 LLM (默认是为 1660 Ti 优化的 Phi-3 模型),负责生成最终答案。
  5. 前端 (Chatbox):提供类似 ChatGPT 的图形化聊天界面。

如何使用

1. 环境准备

  • 硬件: 建议拥有 NVIDIA 显卡 (6GB VRAM 或以上) 的 Windows 电脑。

  • Python: 安装 Python 3.8 或更高版本,并确保在安装时勾选了 "Add Python to PATH"。

  • Ollama: 从 ollama.com 下载并安装 Ollama。然后下载项目所需的模型。

    默认模型 (推荐给 GTX 1660 Ti 用户):

    ollama pull phi3:3.8b-mini-instruct-q3_K_S

    高性能模型 (推荐给 16GB+ VRAM 用户):

    ollama pull deepseek-coder:6.7b-instruct

    下载后请确保 Ollama 应用在后台运行。

2. 填充知识库

  1. 解压项目文件。
  2. 找到 my_mc_knowledge_base 文件夹。
  3. 将你所有的 Minecraft 相关文件(如反编译的 .java 源代码文件夹、.txt 笔记、.md 文档等)放入这个文件夹内。

3. 一键启动

  1. 双击 开始.bat 文件。
  2. 首次运行: 脚本会自动创建 Python 虚拟环境、安装所有依赖库,并根据 my_mc_knowledge_base 的内容构建向量数据库 (mc_local_db 文件夹)。这个过程可能需要较长时间,请耐心等待。
  3. 后续运行: 脚本会跳过安装和构建步骤,直接启动 AI 服务。
  4. 服务成功启动后,会显示服务地址 http://127.0.0.1:8000

4. 连接 Chatbox

  1. 下载并安装 Chatbox
  2. 进入 设置 -> 模型提供商 -> 自定义
  3. API 地址: http://127.0.0.1:8000
  4. API 路径: /api/chat (我们的 api_server.py 已为此优化)
  5. 模型名称: 任意填写,如 Minecraft-AI-Local
  6. 请求体: 选择 自定义,并填入 {"prompt": "{{prompt}}"}
  7. 响应解析: 在 JSON Path 字段中填入 answer
  8. 保存设置,然后在 Chatbox 主界面选择你刚创建的模型,即可开始对话!

文件结构

  • 开始.bat: 用户双击运行的一键启动脚本。
  • requirements.txt: 项目所需的 Python 依赖库列表。
  • main_build_db.py: 用于构建向量数据库的脚本。
  • api_server.py: 提供 API 接口的 FastAPI 服务端程序。
  • my_mc_knowledge_base/: 用户需要填充的知识库文件夹。
  • mc_local_db/: 自动生成的向量数据库文件夹。
  • venv/: 自动创建的 Python 虚拟环境文件夹。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published