Skip to main content
Glama
jaskarn09

ai-due-diligence-copilot

by jaskarn09

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.md

Related 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 Response

Modos 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_here

la evidencia recuperada puede pasarse a Claude para la generación de respuestas en lenguaje natural.

Pipeline:

User Query
    ↓
Retrieval / SQL
    ↓
Claude
    ↓
Groundedness Evaluation
    ↓
Final Response

Claude 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.md

Instalación

Requisitos previos

  • Python 3.11+

  • PostgreSQL 16+ (probado en PostgreSQL 17.11)

  • Git


1. Clonar el repositorio

git clone <repository-url>
cd diligence-copilot

2. Crear el entorno virtual

Windows

python -m venv venv
.\venv\Scripts\Activate.ps1

Linux / macOS

python -m venv venv
source venv/bin/activate

3. Instalar las dependencias

Instale PyTorch solo para CPU:

pip install torch --index-url https://download.pytorch.org/whl/cpu

Instale los requisitos del proyecto:

pip install -r requirements.txt

4. Configurar PostgreSQL

Ejecute:

psql -U postgres -f scripts/setup_postgres.sql

Esto crea:

  • La base de datos diligence_copilot

  • El usuario diligence_app

  • Los permisos necesarios


5. Construir el conjunto de datos de fundamentación

python -m app.ml.build_dataset

6. Entrenar el clasificador de fundamentación

python -m app.ml.groundedness

7. Iniciar la aplicación

uvicorn app.main:app --reload

Aplicación:

http://localhost:8000

Documentación de la API:

http://localhost:8000/docs

Docker

docker-compose up --build

Recorrido 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:

SQL

Herramienta:

financial_ratio_calculator

Probar 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:

RAG

Ejecutar la evaluación

python -m app.eval.run_eval

Resultados

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

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for SEC EDGAR that provides real-time access to filings, financial statements, and full-text search across all EDGAR documents.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for analyzing SEC filings (10-K, 10-Q, 8-K) with industry-aware financial extraction and BERT-based NLP.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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
  • A
    license
    A
    quality
    B
    maintenance
    An 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.
    8
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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