# finllm-eval
**Repository Path**: mirrors/finllm-eval
## Basic Information
- **Project Name**: finllm-eval
- **Description**: 金融行业具有高专业、强合规、低容错的核心特性,对金融数据高敏感,对幻觉容忍度低
- **Primary Language**: Python
- **License**: BSD-3-Clause
- **Default Branch**: main
- **Homepage**: https://www.oschina.net/p/finllm-eval
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2026-01-19
- **Last Updated**: 2026-02-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
finLLM-Eval: 针对大模型金融领域逻辑、事实和数据准确性评测方法
---
## 📕 简介
金融行业具有高专业、强合规、低容错的核心特性,对金融数据高敏感,对幻觉容忍度低。本工程提供大模型金融场景逻辑一致性、事实准确性和金融数据准确性的评测方法。强化了金融场景幻觉评测能力,在行业内首次提出无 GroundTruth 下金融数据准确性的评测方案。
---
## 📖 功能特色
- 🚀 针对大模型生成:提供金融事实准确性、逻辑一致性的模型幻觉评测能力
- 🚀 针对大模型应用:提供无 GroundTruth 下,基于真实用户问答的大模型应用端到端的金融数据准确性评测能力
- 🚀 Agent As Judger:无需人工标注
---
## 📝 原理
✒️ 具体详见:[大模型金融场景逻辑、事实、数据准确性评测](docs/cn/大模型金融场景逻辑、事实、数据准确性评测.pdf)
### 🚀 逻辑一致性&事实准确性
在模型的评测中,使用用户的真实Query和应用层带的RAG内容,做为LLM输入。大模型的回答Output中往往涉及多个金融事实(如分析股价的研报会包含多个金融指标数据),本文称为事实点, 以及基于事实的逻辑分析推论,本文称为逻辑链。
评测Agent将结合RAG和Answer,从模型回答中,提取全部事实点和全部逻辑链。针对每个事实点,逐一核查事实点与RAG的符合性。
针对每条逻辑链,提取论点和论据,进行逻辑链条一致性核查。初判结果经LLM二次复核后输出。
如下图:
### 🚀 金融数据准确性
模型生成的回答往往涉及多个标的、不同时间范围及多项金融指标,我们从中提取出一组结构化的“事实三要素”清单(标的、时间和指标)。在提取出相关金融数据后,我们借助内部构建的大规模、经过验证的金融数据库及配套的 MCP 调用工具链,对常见金融指标进行查询与比对。
如下图:
---
## 🛠 使用方法
本工程仅支持逻辑一致性和事实准确性评测,端到端金融数据准确性评测涉及内部金融数据库,暂不支持。
### 1.安装
本工程需要python版本>=3.6.8,下载本工程:
```
git clone {本工程url}
```
安装依赖:
```
pip install -r requirements.txt
```
### 2.准备评测集
使用用本文的[评测集](dataset/fin.jsonl)或自备评测集提前通过被测模型拉取答案,参照[data.xlsx](data.xlsx)格式准备输入excel文件。
格式如下:
| model | query | prompt | answer |
|--- |--- |--- |--- |
| openai-gpt-5-response | 2022~2024年每年,GDP | 【相关资讯】:来源序号:1标题:解读中国经济“答卷”,2023年中国经济回升向好...... | 以下为中国2022—2024年GDP(现价总量)...... |
说明:
```
- model:模型名称
- query: 评测问题
- prompt: RAG内容
- answer: 模型回答
```
### 3.配置评判AI接口
配置config/config.py,填入用来评判的AI接口:
```python
llm_config = {
"model_url": "{评判AI的接口url}",
"access_token": "{评判AI的token}",
}
```
在llm/llm.py里修改请求和响应格式:
```python
...
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + {评判AI的api token}
}
...
# 请求格式,按需修改
payload = {
"contents": [
{
"role": "user",
"parts": [
{
"text": user_prompt
}
]
}
]
}
...
```
### 4.评测
执行:
```bash
python eval_main.py data.xlsx
```
### 5.输出结果
结果会保存在“***事实逻辑评测结果-{model}.xlsx***”,输出汇总格式示例:
|总得分题数|事实得分题数|逻辑得分题数|答案总长度|总错误点数|事实错误点数|逻辑错误点数|千字幻觉率|评分|评测日期|
|----|----|----|----|----|----|----|----|----|----|
|74|151|122|383441|517|230|287|1.35|26.62|2025/10/11|
---
## 📎 引用
如果您觉得本工程对您的研究有用,欢迎按以下方式进行引用:
```
@misc{finLLM-Eval
author={Lichang Liang and Shaohui Wu and Yunlong Zhang and Yeyang Tang and Fanyang Lu},
title={finLLM-Eval: 针对大模型金融领域逻辑、事实和数据准确性评测方法},
howpublished={\url{https://www.github.com/Tencent/finLLM-Eval}},
year={2025},
}
```
---
## 🤝 贡献指南
我们欢迎来自学术界、工业界及社区的开发者共同参与项目建设。欢迎通过Star、Fork、Issue、Pull Request 参与数据扩展与评测改进,共同推动项目迭代与完善,促进大模型在AI金融领域的产业落地与学术研究。
### 共建方向
- 评测策略优化:共创金融场景下准确性评测策略
- 讨论与建议: 欢迎任何形式的参与与支持,包括提出改进建议、分享最佳实践或参与社区讨论。