ai-due-diligence-copilot
AI Due Diligence Copilot
AI Due Diligence Copilot es un sistema de análisis de documentos financieros de extremo a extremo que ingiere presentaciones corporativas (10-K / 10-Q), extrae información financiera estructurada, recupera evidencia de respaldo y responde preguntas de analistas utilizando la fuente más fiable disponible.
A diferencia de muchas aplicaciones de IA que dependen por completo de un LLM, este sistema enruta inteligentemente cada pregunta a:
Datos financieros estructurados almacenados en PostgreSQL
Evidencia de presentaciones recuperada mediante un pipeline de Generación Aumentada por Recuperación (RAG)
Una combinación de ambos
Para mejorar la fiabilidad, las respuestas generadas pueden evaluarse mediante un clasificador de fundamentación basado en PyTorch que comprueba si las afirmaciones están respaldadas por la evidencia recuperada.
¿Por qué este proyecto?
Los analistas financieros necesitan con frecuencia respuestas que sean:
Fácticamente precisas
Explicables
Rastreables hasta los documentos fuente
Los asistentes tradicionales basados en LLM pueden alucinar cifras o proporcionar afirmaciones sin respaldo.
Este proyecto aborda ese problema:
Usando SQL para el razonamiento cuantitativo
Usando RAG para la comprensión cualitativa de documentos
Usando la evaluación de fundamentación para valorar el respaldo de la evidencia
Ofreciendo síntesis opcional de respuestas basada en Claude, sin dejar de ser totalmente funcional sin ninguna API de pago
Para obtener más detalles de implementación y decisiones de diseño, consulte:
ARCHITECTURE.mdRelated MCP server: SEC-MCP
Características
Ingestión de documentos
Subir presentaciones financieras (
.txt,.pdf,.md)Limpieza y fragmentación automática de documentos
Seguimiento de metadatos de presentaciones
Almacenamiento persistente en PostgreSQL
Extracción estructurada de métricas financieras
Actualmente extrae y almacena:
Ingresos
Margen operativo
Beneficio neto
Gastos de I&D
Efectivo y equivalentes de efectivo
Estas métricas se almacenan en PostgreSQL y pueden consultarse directamente para el análisis cuantitativo.
Enrutamiento inteligente de consultas
El sistema determina automáticamente si una pregunta debe responderse mediante:
Recuperación estructurada mediante SQL
Recuperación de documentos (RAG)
SQL + RAG
Ejemplos:
Pregunta | Ruta |
¿Cuál fue el cambio en el margen operativo? | SQL |
¿Qué riesgos de proveedores afronta la empresa? | RAG |
¿Cómo cambiaron los márgenes y por qué? | SQL + RAG |
Integración de herramientas MCP
Implementa herramientas del Protocolo de Contexto de Modelo (MCP):
Búsqueda de empresa
Calculadora de ratios financieros
Búsqueda de documentos
Evaluación de fundamentación
Un clasificador ligero de PyTorch evalúa si las afirmaciones generadas están respaldadas por la evidencia recuperada.
Las salidas incluyen:
Puntuaciones de fundamentación
Clasificación de respaldo a nivel de afirmación
Indicadores de confianza
Banco de pruebas de evaluación
Marco de evaluación integrado que mide:
Precisión del enrutamiento
Relevancia de la recuperación
Fundamentación
Latencia
Panel interactivo
Interfaz web para:
Subida de presentaciones
Respuesta a preguntas
Visualización de decisiones de enrutamiento
Visualización del uso de herramientas
Visualización de puntuaciones de fundamentación
Arquitectura del sistema
Financial Filing
│
▼
Document Ingestion
│
▼
Chunking
│
▼
Metric Extraction + Vectorization
(TF-IDF + SVD)
│ │
▼ ▼
PostgreSQL Vector Store
▲ ▲
│ │
User Query ───► Query Router ───┘
│
┌──────────┴──────────┐
▼ ▼
SQL Financial Route RAG Retrieval
▼ ▼
Financial Metrics Evidence Search
└──────────┬──────────┘
▼
Answer Generation
▼
Groundedness Evaluation
▼
Final ResponseModos de generación de respuestas
1. Modo sin conexión / local (predeterminado)
No se requieren claves de API.
El sistema responde preguntas utilizando:
Datos financieros de PostgreSQL
Recuperación RAG
Generación de respuestas extractivas
Evaluación de fundamentación con PyTorch
Este modo se utilizó durante el desarrollo y las pruebas.
2. Modo asistido por Claude (opcional)
Si se proporciona una clave de API de Anthropic:
ANTHROPIC_API_KEY=your_api_key_herela evidencia recuperada puede pasarse a Claude para la generación de respuestas en lenguaje natural.
Pipeline:
User Query
↓
Retrieval / SQL
↓
Claude
↓
Groundedness Evaluation
↓
Final ResponseClaude solo se utiliza para la síntesis de respuestas.
El sistema no depende de Claude para:
La recuperación
El enrutamiento de consultas
Los cálculos financieros
La puntuación de fundamentación
Si no hay ninguna clave de API, la aplicación recurre automáticamente al pipeline extractivo local.
Stack tecnológico
Backend
Tecnología | Propósito |
FastAPI | Framework de API |
Uvicorn | Servidor ASGI |
Pydantic | Validación de datos |
Base de datos
Tecnología | Propósito |
PostgreSQL | Base de datos principal |
SQLAlchemy | ORM |
Aprendizaje automático
Tecnología | Propósito |
PyTorch | Clasificador de fundamentación |
Scikit-Learn | Pipeline de recuperación |
NumPy | Operaciones numéricas |
Recuperación
Componente | Propósito |
TF-IDF | Vectorización de documentos |
SVD truncado | Representación semántica densa |
Similitud coseno | Ranking de recuperación |
Herramientas de IA
Componente | Propósito |
Herramientas MCP | Acceso estructurado a herramientas |
Enrutador de consultas | Selección de ruta |
Evaluador de fundamentación | Validación de evidencia |
Estructura del proyecto
diligence-copilot/
│
├── app/
│ ├── db/
│ ├── ingestion/
│ ├── ml/
│ ├── rag/
│ ├── mcp_tools/
│ └── main.py
│
├── data/
│
├── scripts/
│ └── setup_postgres.sql
│
├── tests/
│
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── ARCHITECTURE.md
└── README.mdInstalación
Requisitos previos
Python 3.11+
PostgreSQL 16+ (probado en PostgreSQL 17.11)
Git
1. Clonar el repositorio
git clone <repository-url>
cd diligence-copilot2. Crear el entorno virtual
Windows
python -m venv venv
.\venv\Scripts\Activate.ps1Linux / macOS
python -m venv venv
source venv/bin/activate3. Instalar las dependencias
Instale PyTorch solo para CPU:
pip install torch --index-url https://download.pytorch.org/whl/cpuInstale los requisitos del proyecto:
pip install -r requirements.txt4. Configurar PostgreSQL
Ejecute:
psql -U postgres -f scripts/setup_postgres.sqlEsto crea:
La base de datos
diligence_copilotEl usuario
diligence_appLos permisos necesarios
5. Construir el conjunto de datos de fundamentación
python -m app.ml.build_dataset6. Entrenar el clasificador de fundamentación
python -m app.ml.groundedness7. Iniciar la aplicación
uvicorn app.main:app --reloadAplicación:
http://localhost:8000Documentación de la API:
http://localhost:8000/docsDocker
docker-compose up --buildRecorrido de verificación
Crear una presentación de prueba
Total revenue for fiscal year 2024 was $500 million.
Operating margin for fiscal year 2024 was 12.5%, compared to 10.1% in fiscal year 2023.
The company faces significant risk from a single supplier located in Vietnam.Subir la presentación
Utilice:
Ticker: TEST
Empresa: Test Company
Período fiscal: FY2024
Salida de ejemplo:
Done: 1 chunks, 3 financial metrics extracted.Probar el razonamiento financiero
Pregunta:
What was the change in operating margin?Salida de ejemplo:
operating_margin moved from 10.1 (FY2023)
to 12.5 (FY2024), a change of 23.76%.Ruta:
SQLHerramienta:
financial_ratio_calculatorProbar la recuperación
Pregunta:
What supplier risks does the company face?Salida de ejemplo:
The company faces significant risk from a single supplier located in Vietnam.Nota: En el caso de presentaciones muy pequeñas que caben en un solo fragmento, la recuperación puede devolver el fragmento completo en lugar de una sola frase.
Ruta:
RAGEjecutar la evaluación
python -m app.eval.run_evalResultados
Validado de extremo a extremo en:
Ingestión de documentos
Extracción de métricas financieras
Persistencia en PostgreSQL
Enrutamiento de consultas
Razonamiento financiero basado en SQL
Análisis de riesgos basado en recuperación
Evaluación de fundamentación
Despliegue con FastAPI
Resultados de evaluación de muestra
Métrica | Valor |
Precisión del enrutamiento | 1.00 |
Relevancia media de la recuperación | 0.67 |
Latencia media | ~30ms |
Clasificador de fundamentación
Métrica | Valor |
Exactitud | 0.70 – 0.90 |
Recall | 0.75 – 1.00 |
Los resultados varían ligeramente porque el conjunto de datos de evaluación es intencionadamente pequeño.
Limitaciones
Clasificador de fundamentación entrenado con 38 ejemplos etiquetados
La extracción de métricas financieras utiliza actualmente patrones basados en reglas
La recuperación utiliza TF-IDF + SVD en lugar de embeddings de transformadores
El índice vectorial está en memoria y optimizado para cargas de trabajo a escala de demostración
La integración con Claude es opcional y no es necesaria para la funcionalidad principal
Mejoras futuras
Embeddings basados en transformadores
Búsqueda híbrida (palabras clave + vectorial)
Conjuntos de datos de fundamentación más grandes
Respaldo de extracción basado en LLM
Flujos de trabajo de agentes multi-paso
Integración de pgvector
Comparación multi-documento
Generación automatizada de informes de analistas
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for SEC EDGAR that provides real-time access to filings, financial statements, and full-text search across all EDGAR documents.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceMCP server for analyzing SEC filings (10-K, 10-Q, 8-K) with industry-aware financial extraction and BERT-based NLP.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides deterministic finance tools for SEC filing analysis, enabling LLMs to compute financial ratios, fetch filings, and perform equity research without hallucinated numbers.MIT
- AlicenseAqualityBmaintenanceAn MCP server that wraps SEC EDGAR APIs to provide company financial data, screening metrics, and disclosure signals for investment diligence, with every figure traced to its source filing.8MIT
Related MCP Connectors
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
MCP server for nonprofit financials via ProPublica — IRS Form 990 data for 1.8M+ nonprofits.
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaskarn09/ai-due-diligence-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server