MyOwnMCP - 自主学习命令行界面工具
一个轻量级的、可自我学习的命令行界面(CLI)工具,能够适应您的使用习惯并提供智能命令建议。
特性/功能
- 自我学习命令模式
- 智能自动补全建议
- 本地命令执行(MCP服务器)
- 训练数据导入/导出
- 完全本地化运营
技术架构
向量存储
目前使用scikit-learn的TF-IDF向量化器和最近邻算法进行命令相似度匹配。数据使用joblib进行持久化存储。
潜在改进措施:
- FAISS(快速应用索引库) - Facebook AI的高效相似度搜索
- 色度 - 开源嵌入式数据库
- Milvus(在中文语境中,该词可能直接音译或根据上下文意译为“鹰嘴豆”或保持原样使用,具体取决于使用场景和语境,但通常作为专有名词或技术术语时,直接音译较为常见) - 为可扩展相似度搜索构建的向量数据库
机器学习组件
- TF-IDF 向量化器:将命令转换为数值向量
- 最近邻算法:查找相似命令以提供建议
- Joblib:持久化存储模型和学习到的模式
本地大型语言模型集成(计划中)
你可以通过以下方式增强该工具: Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,但直接翻译其名称并无特定含义,因此此处保留原英文名称) 对于;为;给
- 更好地理解指令
- 自然语言处理
- 情境感知建议
示例集成模式:
# Using Ollama for command understanding
from langchain.llms import Ollama
from langchain.embeddings import OllamaEmbeddings
llm = Ollama(model="llama2")
embeddings = OllamaEmbeddings(model="llama2")安装
- 克隆仓库
- 安装依赖项:
pip install -r requirements.txt用法
运行CLI工具:
python mcp.py带有训练数据:
python mcp.py --training-data your_training_data.yaml技术文档
向量存储
该工具目前使用:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.neighbors import NearestNeighbors数据被持久化存储在 model.joblib 包含:
- 训练好的TF-IDF向量化器
- 最近邻模型
- 历史命令
学习过程
- 收到新指令 → 使用TF-IDF进行向量化
- 向最近邻模型中添加向量
- 模型重新训练
- 状态已持久化到磁盘
相关资源
- 向量数据库:
- 本地大型语言模型(LLMs):
- 机器学习:
