Info Ranking 是一个面向本地部署和自托管场景的信息质量评估服务。它提供 FastAPI 后端和 Streamlit 前端,可用于网页内容打分、特征提取、结果对比和批量排序。
- 为 AI Agent 或检索系统增加内容质量过滤层
- 对单个 URL 做质量评分与解释
- 对多个 URL 做排序与筛选
- 提取来源信誉、内容质量、网络信号等结构化特征
- 在本地环境中验证 ICP、LLM、DataForSEO 等可选能力
- 默认支持本地部署
- 默认使用
SQLite - 不依赖固定域名、内部配置中心或内部部署平台
- 外部服务全部通过环境变量配置
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python scripts/start_api.py --reload另开一个终端启动前端:
source .venv/bin/activate
bash scripts/start_streamlit_network.sh启动后可访问:
- 前端:
http://localhost:8501 - 后端:
http://localhost:8000 - API 文档:
http://localhost:8000/docs
- 单个 URL 质量评分
- 两个 URL 的差异对比
- 批量 URL 排序
- 特征提取与结构化返回
- 可选接入
ICP、LLM、DataForSEO
- 后端:
FastAPI、SQLAlchemy、Pydantic - 前端:
Streamlit、Plotly - 特征处理:
BeautifulSoup4、Playwright、NLTK - 排序与建模:
scikit-learn、XGBoost - 可选依赖:
Redis
项目通过 .env 和 configs/*.yml 组合加载配置,建议从 .env.example 开始。
ENVIRONMENT=development
DATABASE_URL=sqlite:///./data/sentinel.db
REDIS_URL=redis://localhost:6379/0
API_BASE_URL=http://localhost:8000
LOG_LEVEL=INFO
# 可选:LLM
LLM_PROVIDER=deepseek
MODELARTS_API_KEY=
DOUBAO_API_KEY=
OPENROUTER_API_KEY=
# 可选:DataForSEO
DATAFORSEO_USERNAME=
DATAFORSEO_PASSWORD=
# 可选:ICP
ICP_ENABLED=true
ICP_API_URL=https://capi.tianyancha.com/cloud-search-seo/icp/search
ICP_REFERER=https://www.tianyancha.com/如果你的后端不是本地地址,可以在启动前端前覆盖:
export API_BASE_URL="http://localhost:8000"健康检查:
curl http://localhost:8000/health文档评分:
curl -X POST "http://localhost:8000/api/v1/document_score" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'文档特征:
curl -X POST "http://localhost:8000/api/v1/document_features" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'批量排序:
curl -X POST "http://localhost:8000/api/v1/rank_documents" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com","https://example.org"],"top_k":1}'Info-ranking/
├── sentinel/ # FastAPI 后端、特征提取、模型与工具
├── streamlit_app/ # Streamlit 前端
├── configs/ # YAML 配置
├── scripts/ # 启动与维护脚本
├── data/ # 本地数据文件(默认不提交私有内容)
├── tests/ # 测试
├── README.md
├── requirements.txt
└── pyproject.toml
- 架构说明:
sentinel/ARCHITECTURE.md - Streamlit 前端说明:
streamlit_app/README.md - 贡献指南:
CONTRIBUTING.md - 安全说明:
SECURITY.md - 开源发布检查清单:
OPEN_SOURCE_RELEASE_CHECKLIST.md - 环境变量示例:
.env.example
欢迎通过 Issue 和 Pull Request 提交问题、建议和改进。
本项目基于 MIT License 开源,详见 LICENSE。