📈 Crypto LLM Assistant /h1>
🧠 加密货币大型语言模型助手——基于MCP、LangChain和Streamlit的多服务器AI系统
🚀 智能多服务器加密助手
这个项目是一个 完全模块化的加密分析系统 用……建造/构建 模型上下文协议(MCP)在这里,多台由人工智能驱动的服务器协同工作,提供实时市场数据、分析以及新闻——所有这些均由一个中央大型语言模型(LLM)客户端进行协调。
用户可以自然地进行查询(“BTC的当前价格是多少?”),系统会自动选择合适的工具/服务器,执行查询,并给出回复 自然人类语言。
______________________________________________________________________
🏗️ 项目架构
.
├── client/
│ ├── client_host.py # MCP Client that connects to all servers
│
├── servers/
│ ├── market_data_server.py # Fetches real-time crypto prices and top movers
│ ├── news_server.py # Retrieves crypto-related news from APIs
│ ├── analytics_server.py # Performs technical indicators (RSI, MACD, etc.)
│
├── ui/
│ ├── app.py # Streamlit UI Interface
│
├── .env # API keys and environment variables
├── pyproject.toml # Managed by UV for dependency & script control
├── README.md # You’re here
└── streamlit_app.py # (Optional) Streamlit UI for visual exploration______________________________________________________________________
🧩 使用的关键技术和工具
| 类别 | 工具/库 | 用途 |
|---|---|---|
| 🐍 Python 管理 | 紫外线 现代依赖项与虚拟环境管理 | |
| 🤖 人工智能与大型语言模型 | LangChain, OpenAI(GPT-3.5-Turbo) | 自然语言推理、工具规划、响应生成 |
| 🔌 协议层 | FastMCP(模型上下文协议) | 为模块化AI组件定义标准化的客户端-服务器通信 |
| 🌐 接口(APIs) | CoinGecko API, 加密货币新闻API | 实时加密货币数据与新闻 |
| 📊 用户界面层 | Streamlit(注:这是一个专有名词,通常直接音译为“斯特林利特”或保持原样,根据上下文可能无需翻译或直接使用原名) | 用于交互式加密助手的可视化前端 |
| 🧠 交响编排 | \asyncio\ 翻译成中文是“异步I/O”。, anyio(注:此词为专有名词或特定技术术语,直接翻译为“任意异步I/O”可能不够准确,具体含义需结合上下文理解,此处仅提供直译) | 并发服务器通信 |
| 🧰 环境 | dotenv(用于加载环境变量的库) | 安全的环境变量管理 |
______________________________________________________________________
⚙️ 功能
✅ 模块化架构 — 市场、新闻和分析服务器独立运行\ ✅ MCP协议 — 客户端与服务器之间的安全、标准通信\ ✅ LangChain 集成 — 智能提示处理和推理\ ✅ 动态工具执行 — LLM决定调用哪个服务器工具\ 通过CoinGecko API获取实时加密货币数据\ ✅ 自然语言响应(不向用户显示原始JSON)\ ✅ 使用Streamlit构建的前端,提供简洁、互动的用户体验\ ✅ 异步处理 —— 并发请求处理 asyncio\ ✅ 完全使用(某种工具/技术)构建并管理 紫外线 (不 requirements.txt!)
______________________________________________________________________
🧠 它的工作原理(概念流程)
- 用户查询 “比特币的价格是多少?”
- 这个(或“该”) 客户端(
client_host.py) 将查询发送给OpenAI的大型语言模型(LLM)。 - 大型语言模型(LLM)分析可用工具(如
get_price,get_crypto_news等) 来自所有MCP服务器。 - 大型语言模型(LLM)返回一个JSON指令,例如:
{"tool": "get_price", "arguments": {"symbol": "BTC"}}5\. 客户在正确的服务器(市场数据服务器)上运行该工具。 服务器获取实时数据(来自CoinGecko API)并返回JSON。 7\. 客户将该响应反馈给大型语言模型(LLM)。 8\. 大语言模型(LLM)用自然语言总结结果,例如:
“比特币(BTC)的当前价格约为67,421美元。”
##🧮 已实现的示例工具
###🪙 市场数据服务器
获取价格() 获取市场数据() 获取涨幅/跌幅最大的股票(或资产)
###📰 新闻服务器
获取加密货币新闻() 获取加密货币新闻(symbol: str)
###📈 分析服务器
获取相对强弱指数(RSI)(symbol: str) 获取MACD指标(symbol: str) 获取恐惧贪婪指数()
⚡ 安装指南
我们使用uv作为环境和依赖管理器。
1️⃣ 克隆仓库
git clone https://github.com/yourusername/crypto-llm-assistant.git
cd crypto-llm-assistant2️⃣ 创建虚拟环境
source .venv/bin/activate3️⃣ 安装依赖项
uv sync4️⃣ 添加环境变量
创建一个 .env 文件:
OPENAI_API_KEY=your_openai_api_key_here🚀 运行系统
运行整个客户端(主协调器)
uv run python client/client_host.py单独运行服务器(用于调试)
uv run python servers/market_data_server.py
uv run python servers/news_server.py
uv run python servers/analytics_server.py🧪 开发模式
单独检查任意服务器:
uv run fastmcp dev servers/market_data_server.py你会看到类似这样的日志:
✅ [Server] market_data_server starting up...💬 示例对话
输入查询:BTC的当前价格是多少?
当前比特币(BTC)的价格约为67,421美元。
输入查询:告诉我加密货币市场中表现最好的币种。
今日涨幅居前的股票包括PUMP(+16.5%)、IP(+12.6%)和MYX(+9.7%)。
输入查询:告诉我最新的加密货币新闻。
鲸鱼交易者从以太坊中套现17亿美元,交易所余额跌至9年来最低水平。。。
🧠 加密货币大型语言模型助手——基于MCP、LangChain和Streamlit的多服务器AI系统
______________________________________________________________________
🏗️ 项目架构
🌐 Streamlit 前端
一个轻量级的Streamlit仪表板让您能够以可视化方式与助手进行交互。 运行Streamlit应用
uv run streamlit run streamlit_app.py未来改进/增强
-集成交易模拟工具 -通过NLP模型添加情感分析功能 \- 扩展MCP服务器以支持股票和外汇数据
🙋♂️ 作者
阿卜杜拉·沙兹德\ 📧 电子邮件(或简称为“邮件”) 阿卜杜拉·洪吉拉(邮箱地址为abdullahhunjra@gmail.com)\ 🔗 LinkedIn(领英)\ 💻 电脑
______________________________________________________________________
