🚀 parquet_mcp_server
parquet_mcp_server 是一個強大的 MCP(模型控制協議)服務器,它提供了用於執行網絡搜索和查找相似內容的工具。該服務器專為 Claude Desktop 設計,能為需要網絡搜索功能以及根據搜索查詢查找類似內容的應用程序和項目提供支持。
🚀 快速開始
parquet_mcp_server 是專為 Claude Desktop 設計的 MCP 服務器,可執行網絡搜索並查找相似內容。下面將為您介紹如何安裝、配置和使用該服務器。
✨ 主要特性
- 網絡搜索:執行網絡搜索並抓取結果。
- 相似性搜索:從之前的搜索中提取相關信息。
📦 安裝指南
通過 Smithery 安裝
要通過 Smithery 自動安裝 Parquet MCP Server for Claude Desktop,可使用以下命令:
npx -y @smithery/cli install @DeepSpringAI/parquet_mcp_server --client claude
克隆此倉庫
git clone ...
cd parquet_mcp_server
創建並激活虛擬環境
uv venv
.venv\Scripts\activate
source .venv/bin/activate
安裝依賴項
安裝項目所需的 Python 包:
pip install -r requirements.txt
📚 詳細文檔
配置
更新 config.py
文件,設置以下環境變量:
屬性 |
詳情 |
DB_HOST |
數據庫主機地址(默認:localhost) |
DB_PORT |
數據庫端口(默認:5432) |
DB_NAME |
數據庫名稱(默認:postgres) |
DB_USER |
數據庫用戶名(默認:postgres) |
DB_PASSWORD |
數據庫密碼 |
VECTOR_SIZE |
向量大小(默認:1024) |
使用
初始化數據庫
運行以下 SQL 命令初始化 PostgreSQL 數據庫:
CREATE EXTENSION IF NOT EXISTS pgvector;
插入數據
使用 insert_data.py
腳本將搜索結果插入到數據庫中:
python insert_data.py --metadata "{'source': 'example.com', 'timestamp': '2023-10-01'}" --text "這是一個示例文本。"
搜索數據
使用 search_data.py
腳本根據向量相似性搜索數據庫中的內容:
python search_data.py --query_embedding "0.5, 0.3, ..., 0.2" --threshold 0.7
測試
運行以下命令測試服務器:
uvicorn main:app --reload
訪問 http://localhost:8000/docs
查看 API 文檔。
故障排除
網絡搜索失敗
數據庫連接問題
- 確保 PostgreSQL 服務正在運行。
- 檢查數據庫憑據是否正確。
- 查看 PostgreSQL 日誌文件以獲取更多信息。
向量相似性搜索性能差
- 優化 PostgreSQL 查詢。
- 增加向量索引。
- 減少結果限制或降低相似性閾值。
PostgreSQL 函數用於向量相似性搜索
要使用 PostgreSQL 執行向量相似性搜索,可以使用以下函數:
CREATE OR REPLACE FUNCTION match_web_search(
query_embedding vector(1024),
match_threshold float,
match_count int
)
RETURNS TABLE (
id bigint,
metadata jsonb,
text TEXT,
date TIMESTAMP,
similarity float
)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY
SELECT
web_search.id,
web_search.metadata,
web_search.text,
web_search.date,
1 - (web_search.embedding <=> query_embedding) as similarity
FROM web_search
WHERE 1 - (web_search.embedding <=> query_embedding) > match_threshold
ORDER BY web_search.date DESC,
web_search.embedding <=> query_embedding
LIMIT match_count;
END;
$$;
此函數允許您在 PostgreSQL 數據庫中執行向量相似性搜索,返回滿足指定相似性閾值的結果,並根據用戶輸入限制結果數量。結果按日期和相似性進行排序。
PostgreSQL 表創建
CREATE TABLE web_search (
id SERIAL PRIMARY KEY,
text TEXT,
metadata JSONB,
embedding VECTOR(1024),
date TIMESTAMP DEFAULT NOW()
);
此表結構用於存儲網絡搜索結果,包括文本內容、元數據和向量表示。