半衰期MCP
概述
引言
HL-MCP是一个专门的MCP(模型上下文协议)服务器,旨在为AMX Mod X和GoldSrc(半条命1引擎)插件和模组的开发工作流程增压。HL-MCP与Cline或Cursor等人工智能驱动的IDE无缝集成,利用Milvus Lite(一个轻量级的向量数据库)提供的精心策划的知识库,提供专门针对GoldSrc生态系统量身定制的精确、上下文感知的帮助。
______________________________________________________________________
管道
该系统实现了一个检索增强生成(RAG)工作流,使Cursor IDE(等)能够通过语义搜索访问最新的、特定于领域的知识。该管道由离线摄取阶段和运行时推理阶段组成。
- *数据摄入(一次性或定期)*
- 数据源:该过程从各种来源(例如文档、代码库、内部维基或公共网站)的结构化或非结构化数据开始。
- 使用Crawl4AI抓取:此组件从源代码中抓取并提取干净、相关的文本内容。
- 使用嵌入模型将文本结果转换为向量:提取的文本由嵌入模型处理,将每个文档转换为密集的向量表示。
- 将向量写入Milvus Lite数据库:生成的嵌入及其原始文本元数据存储在Milvus Lite中,这是一个轻量级的嵌入式向量数据库。此步骤通常执行一次(或在源更改时定期执行),而不是在查询时执行。
- *运行时交互(按需)*
- HL MCP被用作LLM代理的工具。这些工具检索有效的数据搜索查询并返回相关结果。然后将检索到的内容注入LLM提示符中,使Cursor能够提供准确、可靠和领域感知的响应。
由于矢量数据库是预先构建的,因此查询延迟仍然很低,系统可以有效地扩展以获得开发时的帮助,而无需在每次请求时重新处理源数据。
______________________________________________________________________
数据集概述
该数据集是从与AMX Mod X和半衰期改装相关的各种社区驱动和技术资源中汇编而成的。以下来源为数据集做出了贡献,并为每个来源标明了提取的页数:
- amxx-bg.info:2517页
- Amxmodx.org:784页
- amxxmodx.ru:564页
- wiki.alliedmods.net:48页
- dev-cs.ru:15页
- VipModular维基:10页
- aghl.ru:10页
- hlds.run:5页
- amxmodx.ucoz.ru:5页
- GitHub自述文件(选定的存储库):4页
- amx-x.ru:2页
- 其他次要来源:5页
总计:约3975个独立页面
该集合收集了广泛的文档、教程、插件参考和社区讨论,使其非常适合语义搜索、检索增强生成(RAG)或在传统建模生态系统中基于嵌入的应用程序。
______________________________________________________________________
用法
安装
按照以下步骤设置和配置项目:
1.克隆存储库
git clone https://github.com/your-username/hl-mcp.git
cd hl-mcp2.配置环境变量
创建一个 .env 通过复制示例模板来创建文件:
cp .env.example .env编辑 .env 根据需要归档并更新以下设置:
# Milvus Settings
MILVUS_URI="/path/to/db-file" # Path to your local Milvus database file
MILVUS_COLLECTION_NAME="valve" # Name of the Milvus collection to use
MILVUS_MAX_RESULTS=5 # Maximum number of search results to return
# Embedding Model Configuration
EMBEDDING_MODEL="path/to/embedding/model/dir"
# You can also use a Hugging Face model name directly, e.g.:
# EMBEDDING_MODEL="sentence-transformers/distiluse-base-multilingual-cased-v2"3.安装依赖项
安装所需的Python包:
pip install -r requirements.txt4.与IDE集成(MCP服务器设置)
该项目的功能是 MCP(模型控制协议) 服务器。要在首选IDE中使用它,请相应地配置MCP客户端。
例如,在 克莱恩,将以下条目添加到您的 cline_mcp_settings.json:
{
"mcpServers": {
"hl-mcp": {
"command": "python3",
"args": ["/path/to/hl-mcp/server.py"],
"timeout": 3600,
"env": {},
"transportType": "stdio"
}
}
}替换/path/to/hl-mcp/server.py实际绝对路径为server.py在您的克隆存储库中。
配置后,集成将在IDE中显示如下:
______________________________________________________________________
嵌入模型
您可能已经注意到,目录 database/{version}/ 包含几个 .db 文件夹。这些数据库中的每一个都是使用不同的文本嵌入模型生成的。下面是支持的模型列表,按计算复杂度和模型大小的增加顺序排列。
如果您希望使用此列表中未包含的嵌入模型,则需要使用所选模型生成的嵌入来生成新的向量数据库。
| 数据库文件 | 模型名称 | 模型卡/拥抱面链接 | 嵌入尺寸 | 最大序列长度 | 关键特征 |
|---|---|---|---|---|---|
hlr-distiluse-cv2-{version}.db | distiluse-base-multilingual-cased-v2 | 句子变换器/基于二歧化的多语言案例-v2 | 512 | 128 | 轻量级、快速推理;适用于基本的多语言语义搜索 |
hlr-e5-large-{version}.db | multilingual-e5-large-instruct | intfloat/多语言e5-large结构 | 1024 | 512 | 指令已调整;在检索任务上表现出色;支持100种语言 |
hlr-alibaba-gte-{version}.db | gte-multilingual-base | 阿里巴巴NLP/gte多语种库 | 768 | 8192 | 处理长上下文;支持密集和稀疏嵌入;良好的跨语言检索 |
hlr-baai-bge-m3-{version}.db | BGE-M3 | BAAI/bge-m3 | 1024 | 8192 | 多功能(密集、稀疏、ColBERT);支持100多种语言;多语言基准测试的最新性能 |
备注:要合并上面未列出的自定义嵌入模型,您必须重新嵌入文档集合并相应地创建新的向量数据库。
______________________________________________________________________
数据集扩展
如果您想扩展数据集或在Milvus中使用自己的嵌入模型,请使用Jupyter目录中准备好的Colab笔记本。它包含添加新数据和集成自定义嵌入模型所需的所有代码。
