Quick Start Guide
快速开始
从安装到跑通第一个分析任务,大概 5 分钟。如果你之前用过 Python 的 pip,会更快。
1. 安装
Python 3.10 或更高版本。低于 3.10 会报语法错误,因为我们用了 match/case 和一些新的类型标注。
# 推荐用 venv 隔离环境 python -m venv muyuan-env source muyuan-env/bin/activate # Windows: muyuan-env\Scripts\activate # 安装 pip install muyuan-ai
安装完成后验证一下:
muyuan --version
# 输出: muyuan-ai 0.3.0
如果你想从源码安装(比如要改代码或者跑测试):
git clone https://github.com/muyuan-ai/muyuan-ai.git cd muyuan-ai pip install -e ".[dev]" # 安装开发依赖 pytest # 跑一遍测试确认环境没问题
2. 最小可运行示例
下面这段代码做了三件事:抓取最近 24 小时的科技行业新闻,跑一遍趋势分析,然后输出投资建议。大概 15 行代码。
from muyuan import Collector, Analyzer, Advisor # 1. 初始化收集器,指定数据源和过滤条件 collector = Collector( sources=["sina_news", "eastmoney"], filters={ "sector": "technology", "min_relevance": 0.6 } ) # 2. 抓取数据 data = collector.fetch(period="24h") print(f"抓到 {len(data.articles)} 篇文章") # 3. 分析 insights = Analyzer.run(data, model="sentiment_v2") # 4. 生成建议 advice = Advisor.generate( insights, risk_level="moderate", horizon="medium_term" ) # 5. 输出 print(advice.summary) print("---") for rec in advice.recommendations: print(f"[{rec.confidence:.0%}] {rec.action} {rec.target} — {rec.reason}")
运行后你会看到类似这样的输出:
抓到 47 篇文章
科技板块短期承压,但 AI 基建方向中长期确定性高。
---
[82%] 关注 算力基础设施 — 三大运营商资本开支计划超预期
[71%] 观望 消费电子 — 需求复苏信号不明确,等待 Q2 财报
[65%] 减持 在线教育 — 政策风险仍在释放中
提示:第一次运行会比较慢(大概 30-60 秒),因为要下载情感分析模型。后续运行会缓存模型,通常 5-10 秒出结果。
3. 配置文件
第一次运行 muyuan init 会在当前目录生成 config.yaml。你也可以手动创建。
# config.yaml — 目远AI 配置文件 app: name: "my-muyuan-instance" log_level: "info" # debug / info / warning / error cache_dir: "~/.muyuan/cache" collector: default_sources: - "sina_news" - "eastmoney" - "xueqiu" fetch_interval: 3600 # 抓取间隔,单位秒 max_articles: 500 # 单次最大抓取量 proxy: null # HTTP 代理,格式 "http://host:port" analyzer: model: "sentiment_v2" # 分析模型版本 language: "zh" # zh / en / auto min_confidence: 0.5 # 低于此阈值的分析结果会被丢弃 advisor: risk_level: "moderate" # conservative / moderate / aggressive horizon: "medium_term" # short_term / medium_term / long_term max_recommendations: 10 database: url: "postgresql://localhost:5432/muyuan" pool_size: 5 redis: url: "redis://localhost:6379/0" ttl: 7200 # 缓存过期时间,单位秒
关键字段说明
| 字段 | 说明 | 默认值 |
|---|---|---|
| collector.fetch_interval | 自动抓取的间隔。设太小会被数据源限速 | 3600 |
| analyzer.model | v1 是基础版,v2 加了情感分析,v2 需要约 800MB 磁盘空间 | sentiment_v2 |
| advisor.risk_level | 影响建议的激进程度。conservative 几乎不会推荐买入 | moderate |
| database.url | PostgreSQL 连接串。不配置的话会用 SQLite 本地文件 | sqlite:///muyuan.db |
4. 数据源配置
目远AI 内置了 12 个数据源。你也可以写自己的。
内置数据源
| 名称 | 类型 | 覆盖范围 | 需要 API Key |
|---|---|---|---|
| sina_news | 新闻 | 新浪财经新闻 | 否 |
| eastmoney | 新闻 + 数据 | 东方财富资讯和行情 | 否 |
| xueqiu | 社交 | 雪球社区讨论 | 否 |
| cninfo | 公告 | 巨潮资讯上市公司公告 | 否 |
| sse_announce | 公告 | 上交所公告 | 否 |
| szse_announce | 公告 | 深交所公告 | 否 |
| tushare | 行情数据 | A 股历史和实时行情 | 是 |
| akshare | 行情数据 | 多市场行情数据 | 否 |
自定义数据源
写一个继承 BaseCollector 的类就行。下面是个最简单的例子:
from muyuan.collectors.base import BaseCollector, Article from datetime import datetime import httpx class MyRSSCollector(BaseCollector): """从 RSS 源抓取文章""" name = "my_rss" requires_api_key = False def __init__(self, feed_url: str): self.feed_url = feed_url async def fetch(self, since: datetime) -> list[Article]: async with httpx.AsyncClient() as client: resp = await client.get(self.feed_url) entries = self._parse_feed(resp.text) return [ Article( title=e["title"], content=e["summary"], source=self.name, published_at=e["published"], url=e["link"], ) for e in entries if e["published"] >= since ]
然后在 config.yaml 里注册:
collector: custom_sources: - module: "my_collectors.rss" class: "MyRSSCollector" args: feed_url: "https://example.com/finance/rss.xml"
5. 常见问题
pip install 报错 "Python version not supported"
你的 Python 版本低于 3.10。运行 python --version 确认一下。macOS 自带的 Python 通常是 3.9,需要用 brew 或 pyenv 装新版本。
运行时报 "No API key for tushare"
tushare 数据源需要 API key。去 tushare.pro 注册一个免费账号,然后在 config.yaml 里加上:
secrets: tushare_token: "你的 token"
或者设环境变量 MUYUAN_TUSHARE_TOKEN。环境变量优先级高于配置文件。
PostgreSQL 连不上
不装 PostgreSQL 也能跑。不配置 database.url 的话,默认用 SQLite。SQLite 对个人使用完全够了,只有在需要多进程并发写入时才需要 PostgreSQL。
抓取速度很慢
检查两件事:一是网络环境(部分数据源在海外需要代理),二是 collector.max_articles 设得太大。建议先用 100 试试,确认流程通了再调大。
模型下载失败
情感分析模型托管在 HuggingFace 上,国内访问可能不稳定。两个办法:设 HF_ENDPOINT=https://hf-mirror.com 用镜像站,或者手动下载模型文件放到 ~/.muyuan/models/ 目录下。
