返回市场
最小值

最小值

作者:dmayboroda1012 星标更新:2025-08-14

项目介绍

<p align="center"> <a href="https://mnma.ai/" target="blank"><img src="assets/logo-full.svg" width="300" alt="MNMA Logo" /></a> </p>

Minima 是一个开源的本地化容器化的RAG系统,能够与ChatGPT和MCP集成。 Minima也可以作为一个完全本地化的RAG系统使用。

Minima目前支持三种模式:

  1. 隔离安装 – 完全在本地运行容器,无需依赖外部服务如ChatGPT或Claude。所有的神经网络(LLM、reranker、embedding)都在您的云或PC上运行,确保数据安全。

  2. 自定义GPT – 使用ChatGPT应用或网页查询您本地的文档,使用自定义GPT。索引器运行在您的云或本地PC上,而主要的LLM仍然是ChatGPT。

  3. Anthropic Claude – 使用Anthropic Claude应用查询您本地的文档。索引器运行在您的本地PC上,而Anthropic Claude作为主要的LLM。


作为容器运行

  1. 在项目的根目录下创建一个.env文件(您可以在那里找到env.sample)。将.env放在同一文件夹中,并从env.sample复制所有环境变量到.env

  2. 确保您的.env文件包括以下变量:

<ul> <li> LOCAL_FILES_PATH </li> <li> EMBEDDING_MODEL_ID </li> <li> EMBEDDING_SIZE </li> <li> OLLAMA_MODEL </li> <li> RERANKER_MODEL </li> <li> USER_ID </li> - 用于ChatGPT集成,只需使用您的电子邮件 <li> PASSWORD </li> - 用于ChatGPT集成,只需使用任意密码 </ul>
  1. 对于完全本地安装,请使用:docker compose -f docker-compose-ollama.yml --env-file .env up --build

  2. 对于启用ChatGPT的安装,请使用:docker compose -f docker-compose-chatgpt.yml --env-file .env up --build

  3. 对于MCP集成(使用Anthropic桌面应用):docker compose -f docker-compose-mcp.yml --env-file .env up --build

  4. 如果是启用ChatGPT的安装,从启动docker的终端复制OTP,并使用Minima GPT

  5. 如果您使用Anthropic Claude,请在**/Library/Application\ Support/Claude/claude_desktop_config.json**中添加以下内容:

{
    "mcpServers": {
      "minima": {
        "command": "uv",
        "args": [
          "--directory",
          "/path_to_cloned_minima_project/mcp-server",
          "run",
          "minima"
        ]
      }
    }
  }
  1. 要使用完全本地安装,请转到cd electron,然后运行npm installnpm start,这将启动Minima电子应用程序。

  2. 提问任何问题,您将基于{LOCAL_FILES_PATH}文件夹中的本地文件获得答案。


变量解释

LOCAL_FILES_PATH: 指定索引的根文件夹(在您的云或本地PC上)。索引是一个递归过程,意味着此根文件夹下的所有子文件夹中的文档也将被索引。支持的文件类型:.pdf, .xls, .docx, .txt, .md, .csv。

EMBEDDING_MODEL_ID: 指定要使用的嵌入模型。目前仅支持Sentence Transformer模型。已测试过sentence-transformers/all-mpnet-base-v2,但可以使用其他Sentence Transformer模型。

EMBEDDING_SIZE: 定义模型提供的嵌入维度,这是配置Qdrant向量存储所需的。确保此值与指定的EMBEDDING_MODEL_ID的实际嵌入大小相匹配。

OLLAMA_MODEL: 设置Ollama模型,使用Ollama网站上的可用ID。请在这里使用LLM模型,而不是嵌入。

RERANKER_MODEL: 指定重新排序模型。我们已经测试了BAAI重新排序器。您可以使用此链接探索所有可用的重新排序器。

USER_ID: 这里只需使用您的电子邮件,这是为了验证自定义GPT以搜索您的数据。

PASSWORD: 放置任意密码,这用于为上述电子邮件创建firebase账户。


示例

本地/本地使用示例的.env文件:

LOCAL_FILES_PATH=/Users/davidmayboroda/Downloads/PDFs/
EMBEDDING_MODEL_ID=sentence-transformers/all-mpnet-base-v2
EMBEDDING_SIZE=768
OLLAMA_MODEL=qwen2:0.5b # 必须是来自Ollama模型页面的LLM模型ID
RERANKER_MODEL=BAAI/bge-reranker-base # 请选择任何BAAI重新排序器模型

要使用聊天界面,请导航至http://localhost:3000

Claude应用示例的.env文件:

LOCAL_FILES_PATH=/Users/davidmayboroda/Downloads/PDFs/
EMBEDDING_MODEL_ID=sentence-transformers/all-mpnet-base-v2
EMBEDDING_SIZE= 768

对于Claude应用,请按照上述说明更改claude_desktop_config.json文件。

要使用GitHub Copilot的MCP:

  1. 在项目的根目录下创建一个.env文件(您可以在那里找到env.sample)。将.env放在同一文件夹中,并从env.sample复制所有环境变量到.env

  2. 确保您的.env文件包括以下变量:

    • LOCAL_FILES_PATH
    • EMBEDDING_MODEL_ID
    • EMBEDDING_SIZE
  3. 创建或更新.vscode/mcp.json,使用以下配置:

{
  "servers": {
    "minima": {
      "type": "stdio",
      "command": "path_to_cloned_minima_project/run_in_copilot.sh",
      "args": [
        "path_to_cloned_minima_project"
      ]
    }
  }
}

ChatGPT自定义GPT使用的示例.env文件:

LOCAL_FILES_PATH=/Users/davidmayboroda/Downloads/PDFs/
EMBEDDING_MODEL_ID=sentence-transformers/all-mpnet-base-v2
EMBEDDING_SIZE=768
USER_ID=user@gmail.com # 您的真实电子邮件
PASSWORD=password # 您可以在这里创建您想要的密码

此外,您还可以使用run.sh运行minima。


通过Smithery安装(MCP使用)

要通过Smithery自动安装Minima供Claude Desktop使用:

npx -y @smithery/cli install minima --client claude

对于MCP使用,请确保您的本地机器Python版本>=3.10且已安装'uv'。

Minima (https://github.com/dmayboroda/minima) 根据Mozilla Public License v2.0 (MPLv2) 授权。