WeKnora Ragas Eval
独立的 WeKnora Ragas 评估项目。它只调用 WeKnora 公开 API,不依赖 WeKnora 内置的 /evaluation 接口。
安装
python -m venv .venv
source .venv/bin/activate
pip install -e .
如果需要更好的 PDF 解析能力:
pip install -e ".[pdf]"
开发和测试工具:
pip install -e ".[dev,pdf]"
配置
cp .env.example .env
编辑 .env 后确认:
-
WEKNORA_BASE_URL指向 WeKnora API v1,例如http://localhost:9090/api/v1 -
WEKNORA_API_KEY是 WeKnora API Key -
WEKNORA_KB_ID是目标知识库 ID;如果还没有,先运行python scripts/00_create_kb.py -
WEKNORA_KB_NAME是创建知识库时使用的名称 -
OPENAI_API_KEY、OPENAI_BASE_URL、RAGAS_*_MODEL是评估侧模型配置 - 如果 LLM 和 embedding 分开部署,使用
RAGAS_LLM_BASE_URL指向 vLLM 的/v1,使用RAGAS_EMBEDDING_BASE_URL指向 Infinity 的/v1
首轮 Pilot
把原始文件放到:
data/raw_docs/pdf/data/raw_docs/xlsx/
按顺序执行:
python scripts/00_create_kb.py
python scripts/01_upload_docs.py
python scripts/02_wait_ingestion.py
python scripts/03_export_chunks.py
python scripts/04_parse_docs.py
python scripts/05_generate_testset.py
python scripts/06_review_testset.py
python scripts/07_run_weknora_qa.py
python scripts/08_build_ragas_input.py
python scripts/09_run_ragas_eval.py
python scripts/10_report.py
首轮建议只使用 2 个 PDF、1 个 XLSX 和 10 条审核通过 QA,确认 retrieved_contexts、response、Ragas 输入字段都正常后再扩展样本量。
主要产物
data/exported/knowledge.jsonldata/exported/chunks.jsonldata/parsed_docs/documents.jsonldata/parsed_docs/parse_summary.jsondata/testsets/testset.raw.jsonldata/testsets/testset.reviewed.jsonldata/runs/weknora_answers.jsonldata/runs/ragas_input.jsonldata/reports/ragas_scores.csvdata/reports/summary.md