市场风险人工智能工具
一个基于人工智能的本地市场风险研究工具。用途 Qwen2.5-7B 在连接到的计算机上运行 SAJHA MCP服务器 通过Tavily进行实时网络搜索。
除了Tavily网络搜索,没有数据离开您的网络。LLM 100%在本地运行。
支持两个LLM后端:
- llama.cpp --适用于无法安装Ollama的企业PC
- 奥拉玛 --如果Ollama可用,则设置更简单
______________________________________________________________________
建筑
Browser (localhost:8000)
|
v
FastAPI Server (Python)
|
v
LangGraph ReAct Agent
|
+---> Qwen 2.5 7B (via llama.cpp OR Ollama, local)
|
+---> SAJHA MCP Server (localhost:3002)
|
+---> tavily_web_search
+---> tavily_news_search
+---> tavily_domain_search
+---> tavily_research_search______________________________________________________________________
开始前你需要什么
| 要求 | 为什么 | 如何检查 |
|---|---|---|
| Python 3.10+ | 运行代理服务器 | python --version |
| llama.cpp 或 奥拉玛 | 在本地运行Qwen LLM | llama-server --version 或 ollama --version |
| SAJHA MCP服务器 | 提供Tavily搜索工具 | 应在端口3002上运行 |
| 最低8 GB RAM | Qwen 7B需要~5GB RAM | |
| 10 GB可用磁盘 | 对于模型+依赖关系 | |
| Git | 克隆此仓库 | git --version |
______________________________________________________________________
选项A:使用llama.cpp进行设置(企业/无Ollama)
如果您的企业PC不允许安装Ollama,请使用此选项。
步骤1:克隆存储库
git clone https://github.com/algowizzzz/qwen-mcp-agent.git
cd qwen-mcp-agent这会下载所有内容,包括分块模型文件(总共约4.5 GB)。
步骤2:组装模型
该模型分为48个块,每个块约95MB。你需要把它们结合起来。
窗户:
assemble.batMac/Linux:
chmod +x assemble.sh
./assemble.sh这创造了 models/Qwen2.5-7B-Instruct-Q4_K_M.gguf (~4.4gb)。
步骤3:创建虚拟环境并安装软件包
窗户:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtMac/Linux:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt步骤4:确保SAJHA MCP服务器正在运行
启动代理之前,SAJHA MCP服务器必须在端口3002上运行。
打开浏览器并转到 http://localhost:3002。如果你看到SAJHA网络界面,你就很好了。
步骤5:启动骆驼服务器(终端/CMD窗口1)
窗户:
llama-server.exe -m models\Qwen2.5-7B-Instruct-Q4_K_M.gguf -c 4096 -ngl 99 --port 8080Mac/Linux:
llama-server -m models/Qwen2.5-7B-Instruct-Q4_K_M.gguf -c 4096 -ngl 99 --port 8080等到你看到 listening on http://0.0.0.0:8080. 让这扇窗户开着。
步骤6:启动代理(终端/CMD窗口2)
窗户:
.venv\Scripts\activate
set LLM_BACKEND=llamacpp
python -m uvicorn agent.server:app --host 0.0.0.0 --port 8000Mac/Linux:
source .venv/bin/activate
export LLM_BACKEND=llamacpp
python -m uvicorn agent.server:app --host 0.0.0.0 --port 8000或者使用一键脚本: start-llamacpp.bat (Windows)/ ./start-llamacpp.sh (Mac/Linux)。
步骤7:打开聊天界面
打开浏览器并转到:
http://localhost:8000你会看到 市场风险人工智能工具 聊天界面。键入问题并按Enter键。
够了,你完了。
______________________________________________________________________
选项B:使用Olama进行设置(更简单)
如果您安装了Ollama,请使用此功能。
步骤1:克隆存储库
git clone https://github.com/algowizzzz/qwen-mcp-agent.git
cd qwen-mcp-agent步骤2:运行安装脚本
窗户:
setup.batMac/Linux:
chmod +x setup.sh start.sh
./setup.sh这个脚本会自动执行5件事:
- 检查Python是否已安装
- 检查Ollama是否已安装
- 创建Python虚拟环境(
.venv文件夹) - 安装所有Python包(FastAPI、LangGraph等)
- 将Qwen 2.5 7B型号下载到Olama中(约4.4 GB下载)
步骤3:确保SAJHA MCP服务器在端口3002上运行
步骤4:启动代理
窗户:
start.batMac/Linux:
./start.sh第五步:打开http://localhost:8000在浏览器中
______________________________________________________________________
可用工具
该代理有4个Tavily驱动的搜索工具:
| 工具 | 它做什么 | 示例问题 |
|---|---|---|
tavily_web_search | 一般网络搜索 | “标普500指数目前的水平是多少?” |
tavily_news_search | 最近的新闻搜索 | “美联储利率的最新消息” |
tavily_domain_search | 搜索特定网站 | “在reuters.com上查找BMO收益” |
tavily_research_search | 主题深度研究 | “2024年银行业风险综合分析” |
______________________________________________________________________
配置
切换LLM后端
后端由控制 LLM_BACKEND 环境变量:
| 值 | 后端 | 何时使用 |
|---|---|---|
llamacpp | 端口8080上的llama.cpp服务器 | 企业PC,没有Ollama |
ollama | 端口11434上的Ollama | 带有Ollama的个人机器 |
默认值为 llamacpp 如果没有设置。
更改SAJHA MCP服务器地址
如果SAJHA在其他计算机或端口上运行,请编辑 agent/sajha_client.py:
SAJHA_BASE = "http://localhost:3002" # <-- change this
SAJHA_USER = "admin" # <-- change if needed
SAJHA_PASS = "admin123" # <-- change if needed更改LLM模型
编辑 agent/graph.py:
对于Ollama:
llm = ChatOllama(
model="qwen2.5:7b", # <-- change to any Ollama model
temperature=0,
num_ctx=4096,
)对于llama.cpp:
llm = ChatOpenAI(
base_url="http://localhost:8080/v1", # <-- llama-server address
api_key="not-needed",
model="qwen2.5-7b",
temperature=0,
max_tokens=2048,
)______________________________________________________________________
故障排除
服务器立即启动和关闭
手动运行以查看错误:
.venv\Scripts\activate
set LLM_BACKEND=llamacpp
python -m uvicorn agent.server:app --host 0.0.0.0 --port 8000常见原因:
- llama服务器未在端口8080上运行(请先启动)
- SAJHA MCP服务器未在端口3002上运行
- 缺少Python包(运行
pip install -r requirements.txt)
端口8000上的“连接被拒绝”
代理服务器未运行。跑 start-llamacpp.bat 或 start.bat.
端口8080上的“连接被拒绝”
llama服务器未运行。先开始:
llama-server.exe -m models\Qwen2.5-7B-Instruct-Q4_K_M.gguf -c 4096 -ngl 99 --port 8080端口3002上的“连接被拒绝”
SAJHA MCP服务器未运行。先开始吧。
“找不到模型”错误(Ollama模式)
ollama pull qwen2.5:7b找不到模型文件(llama.cpp模式)
首先运行汇编脚本:
assemble.bat代理速度很慢
对于CPU上的7B型号来说,这是正常的。第一个响应需要30-60秒。如果你有GPU,llama.cpp和Ollama都会自动使用它。
Tavily的“无效的API密钥”
Tavily API密钥配置在SAJHA MCP服务器的 config/application.properties不在这个项目中。检查文件是否有效 tavily.api.key.
Python包错误
确保您处于虚拟环境中:
.venv\Scripts\activate (Windows)
source .venv/bin/activate (Mac/Linux)
pip install -r requirements.txt______________________________________________________________________
文件结构
qwen-mcp-agent/
|-- agent/
| |-- __init__.py # Package marker
| |-- graph.py # LangGraph ReAct agent (supports llama.cpp + Ollama)
| |-- tools.py # Tavily tool definitions
| |-- sajha_client.py # HTTP client for SAJHA MCP Server
| |-- server.py # FastAPI web server
| |-- static/
| |-- index.html # Chat UI (Market Risk AI Tool)
|
|-- models/
| |-- chunks/ # 48 x 95MB model chunks
| |-- Qwen2.5-7B-Instruct-Q4_K_M.gguf # Assembled model (after assemble script)
|
|-- requirements.txt # Python dependencies
|-- setup.bat / setup.sh # One-click setup (Ollama mode)
|-- start.bat / start.sh # Start agent (Ollama mode)
|-- start-llamacpp.bat / .sh # Start agent (llama.cpp mode)
|-- assemble.bat / assemble.sh # Model assembly scripts
|-- Modelfile # Ollama model import config
|-- README.md # This file______________________________________________________________________
系统要求
| 资源 | 最小 | 推荐 |
|---|---|---|
| RAM | 8 GB | 16 GB |
| 磁盘 | 10 GB可用 | 14 GB可用 |
| GPU | 不需要 | 任何Metal/CUDA GPU都可以加速推理 |
| Python | 3.10+ | 3.12+ |
| 操作系统 | Windows 10+、macOS 12+、Linux |
______________________________________________________________________
型号详细信息
| 财产 | 价值 |
|---|---|
| 基本型号 | Qwen2.5-7B-说明书 |
| 量化 | Q4_K_M(4位,中等) |
| 文件大小 | ~4.4 GB(分为48个约95MB的块) |
| 上下文窗口 | 32K令牌(默认),为代理配置4K |
| 许可证 | Apache 2.0 |
