创建矢量数据库并运行MCP服务器 运行Docker与向量数据库交互:
- 运行docker桌面并播放与此应用程序相关的容器
- 如果您没有为此应用程序设置的容器,请运行以下命令。
用于窗口bash
docker run -p 6333:6333 -p 6334:6334 \
-v /$(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant对于mac或linux终端,或者如果使用Git Bash
docker run -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant- 运行以下命令以创建或更新矢量数据库,并运行mcp服务器
python mcp_server.py端口6333 → Qdrant的主要REST API端点。基于HTTP的可读JSON。 *转到Qdrant仪表板* http://localhost:6333/dashboard *前往Qdrant收藏* http://localhost:6333/collections
端口6334 → Qdrant的gRPC API终结点。gRPC是来自Google的二进制协议。比REST更快、更高效。您不直接在浏览器中使用它,而是从客户端库(如Python、Node.js或Go)连接到if。
- 如果您已经设置了docker-compose.yaml,请运行以下命令,此文件的作用与上面的docker run命令相同\[仅适用于您首次设置时\]
docker compose up 运行MCP客户端
*备注* 如果你想选择工具问候和添加,而不是运行 python mcp_server.py,你应该跑 python simpleMCPserver.py
python simpleMCPClient.py选择您的抹布或油布工具
停止Qdrant和Docker的正确方法:
- 优雅地停止Qdrant容器:
打开终端并运行:
docker stop 这个命令告诉Qdrant完成任何写入并干净地关闭。
- 等待几秒钟以确保所有数据都已刷新到磁盘。
- 停止所有容器后,您可以安全地停止Docker Desktop或关闭计算机。
不要:
- 在容器运行时强制退出Docker Desktop。
- 在不停止容器的情况下关闭计算机。
漏洞: 现在每次停止docker,我们都必须重建向量数据库,以便能够看到向量数据库中的所有点
______________________________________________________________________
使用pyenv设置Python环境 该项目使用pyenv来管理Python版本和虚拟环境。按照以下步骤设置您的环境:
- 安装pyenv
按照\[pyenv安装|https://github.com/pyenv/pyenv#installation\]导游 为您的系统。 对于Windows,使用\[pyenv-win|https://github.com/pyenv-win/pyenv-win\].
- 安装所需的Python版本
该项目配置为使用Python 3.10.4(或根据需要更新到其他版本)。
pyenv install 3.10.4- 设置本地Python版本
在项目文件夹中,设置Python版本:
cd myproject
pyenv local 3.10.4这将在项目中创建一个.python版本文件。
- 创建虚拟环境
如果您安装了pyenv-virtualenv,请创建一个命名环境:
pyenv virtualenv 3.10.4 myproject-env
pyenv local myproject-env如果你更喜欢内置的venv:
python -m venv venv
source venv/bin/activate # macOS/Linux
source venv/Scripts/activate # Windows- 安装依赖项
pip install --upgrade pip
pip install -r requirements.txt- 运行项目
python mcp_server.py______________________________________________________________________
运行数据加载器脚本
该项目包括用于不同文件格式的数据加载器脚本。您可以在根文件夹中以两种方式测试它们:
选项1:直接运行脚本(推荐)
python ./loader/testing/load_csv.py [file_path]
python ./loader/testing/load_json.py [file_path]
python ./loader/testing/load_yaml.py [file_path]
python ./loader/testing/load_markdown.py [file_path]
python ./loader/testing/load_text.py [file_path]选项2:作为模块运行
python -m loader.testing.load_csv [file_path]
python -m loader.testing.load_json [file_path]
python -m loader.testing.load_yaml [file_path]
python -m loader.testing.load_markdown [file_path]
python -m loader.testing.load_text [file_path]示例:
# Using default files
python loader/load_csv.py
python loader/load_json.py
# Using custom files
python loader/load_csv.py ./data/my_data.csv
python loader/load_json.py ./data/my_data.json如何安全地停止Qdrant/Docker(防止数据损坏) 为什么? 如果你突然停止Docker或Qdrant容器(例如在Qdrant运行时关闭Docker桌面或关闭计算机),你就有损坏Qdrant数据库文件的风险。这可能会导致以下错误 OutputTooSmall { expected: 4, actual: 0 } 以及矢量数据的丢失。
