Skip to content

Repository files navigation

TruthForge

TruthForge 是一个面向互联网传闻的多智能体事实核查系统。它使用 LangGraph 编排主张拆解、RAG-first 证据检索、来源与时间线审查、红队复核、引用校验和可追溯报告生成。

前置条件

  • macOS、Linux 或其他可运行 Conda 与 Python 3.11 的环境;
  • Conda(项目不使用 venv);
  • 用于真实模型调用的 OpenAI-compatible API Key 与 Base URL;
  • 用于实时联网搜索的 Tavily API Key。

完整联网复现需要模型 Key 和 Tavily Key 两者。模型 Key 只负责 Agent 调用,不能替代实时搜索服务。

从零开始配置

在仓库根目录执行:

conda env create -f environment.yml
conda activate truthforge
cp .env.example .env

编辑 .env,填入私下交付的受限 Key 和对应服务地址:

# OpenAI-compatible LLM
OPENAI_API_KEY=your_llm_key
OPENAI_BASE_URL=https://your-llm-endpoint/v1
TRUTHFORGE_MODEL_PROVIDER=openai_compatible
TRUTHFORGE_MODEL_NAME=your_model_name

# Live web search
TRUTHFORGE_SEARCH_MODE=live
TRUTHFORGE_SEARCH_PROVIDER=tavily
TAVILY_API_KEY=your_tavily_key

.env 已被 Git 忽略。不要提交、压缩或分享该文件;提交前使用 scripts/verify_submission.py 检查压缩包。

初始化 hash-verified 本地来源快照的 RAG 索引和已验证案例记忆:

conda run -n truthforge python scripts/init_data.py

初始化会在 data/runtime/ 创建可再生索引与运行数据,不修改受控来源快照。

完整联网复现

以下命令启用真实模型和实时搜索:

conda run -n truthforge python main.py \
  --query "待核查的互联网传闻" \
  --search-mode live

该命令运行完整多 Agent 图:主张拆解、案例记忆、RAG-first 检索、必要时的 Tavily 联网搜索与正文提取、来源可信度与时间线审查、裁决、红队复核、引用校验和报告生成。

--search-mode live 会在 Evidence Agent 选择联网搜索后直接调用 Tavily。系统仍是 RAG-first:如果 manifest-backed 本地快照已足够支撑某个主张,Evidence Agent 可以正确地不调用 Web 工具。若需要演示真实联网链路,使用时间敏感、且不被本地快照覆盖的传闻;在 JSONL 运行日志中确认出现 web_searchtext_extract,并检查结果中的快照、来源和引用状态。

真实网页内容只有在正文提取、保存本地快照、登记到 EvidenceRegistry 且通过 CitationGuard 后,才能支撑最终结论。搜索摘要不能单独支撑确定性结论。

Streamlit 工作台

conda run -n truthforge streamlit run app.py

页面只接受直接输入。初始设置选择 live 搜索和已配置的真实模型;点击“开始核查”之前不会发送外部请求。运行期间会显示 Agent、工具和路由进度,完成后可查看结论、证据、运行事件、人工复核项和导出内容。

验证与提交检查

conda run -n truthforge python scripts/verify_corpus.py
conda run -n truthforge ruff check .
conda run -n truthforge pytest -q
conda run -n truthforge python scripts/verify_release.py
conda run -n truthforge python scripts/verify_submission.py /path/to/submission.zip

提交前可运行语料校验、静态检查、测试与提交结构校验;这些命令不会替代上述真实模型与实时搜索的全量联网运行。

运行产生的 Chroma/SQLite 数据、联网搜索缓存和 live snapshots 位于 data/runtime/;报告、JSONL 审计日志和评测结果位于 outputs/。两者均不纳入版本控制或提交压缩包。

About

[SUBMISSION VERSION FOR AI LAB 2026 SYSU] TruthForge is an open-source multi-agent fact-checking system that verifies online claims using traceable evidence, source snapshots, and bounded retrieval.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages