Skip to main content
Glama
jaskarn09

ai-due-diligence-copilot

by jaskarn09

AI Due Diligence Copilot

AI Due Diligence Copilot — это комплексная система анализа финансовых документов, которая обрабатывает корпоративные отчеты (10-K / 10-Q), извлекает структурированную финансовую информацию, находит подтверждающие доказательства и отвечает на вопросы аналитиков, используя наиболее надежный доступный источник.

В отличие от многих AI-приложений, полностью полагающихся на LLM, эта система интеллектуально направляет каждый вопрос либо:

  • к структурированным финансовым данным, хранящимся в PostgreSQL

  • к извлеченным доказательствам из документов через конвейер генерации с дополненной выборкой (RAG)

  • к комбинации обоих подходов

Для повышения достоверности сгенерированные ответы могут быть оценены с помощью классификатора обоснованности на основе PyTorch, который проверяет, подтверждаются ли утверждения извлеченными доказательствами.


Зачем этот проект?

Финансовым аналитикам часто нужны ответы, которые:

  • Фактически точны

  • Объяснимы

  • Прослеживаются до исходных документов

Традиционные ассистенты на основе LLM могут галлюцинировать цифры или предоставлять неподтвержденные утверждения.

Этот проект решает эту проблему следующим образом:

  • Использование SQL для количественных рассуждений

  • Использование RAG для качественного понимания документов

  • Использование оценки обоснованности для проверки поддержки доказательствами

  • Поддержка необязательного синтеза ответов на основе Claude, при этом система полностью функциональна без каких-либо платных API

Для более детального описания реализации и проектных решений см.:

ARCHITECTURE.md

Related MCP server: SEC-MCP

Возможности

Загрузка документов

  • Загрузка финансовых отчетов (.txt, .pdf, .md)

  • Автоматическая очистка и разбиение документов на фрагменты

  • Отслеживание метаданных отчетов

  • Постоянное хранение в PostgreSQL

Извлечение структурированных финансовых показателей

В настоящее время извлекаются и сохраняются:

  • Выручка

  • Операционная маржа

  • Чистая прибыль

  • Расходы на НИОКР

  • Денежные средства и их эквиваленты

Эти показатели хранятся в PostgreSQL и могут быть запрошены напрямую для количественного анализа.

Интеллектуальная маршрутизация запросов

Система автоматически определяет, должен ли вопрос быть обработан через:

  • Структурированный SQL-запрос

  • Поиск по документам (RAG)

  • SQL + RAG

Примеры:

Вопрос

Маршрут

Как изменилась операционная маржа?

SQL

С какими рисками поставщиков сталкивается компания?

RAG

Как изменилась маржа и почему?

SQL + RAG

Интеграция MCP-инструментов

Реализованы инструменты Model Context Protocol (MCP):

  • Поиск компании

  • Калькулятор финансовых коэффициентов

  • Поиск по документам

Оценка обоснованности

Легковесный классификатор на PyTorch оценивает, подтверждаются ли сгенерированные утверждения извлеченными доказательствами.

Выходные данные включают:

  • Оценки обоснованности

  • Классификацию поддержки на уровне утверждений

  • Индикаторы уверенности

Тестовый стенд для оценки

Встроенная система оценки, измеряющая:

  • Точность маршрутизации

  • Релевантность поиска

  • Обоснованность

  • Задержку

Интерактивная панель управления

Веб-интерфейс для:

  • Загрузки отчетов

  • Ответов на вопросы

  • Просмотра решений о маршрутизации

  • Просмотра использования инструментов

  • Просмотра оценок обоснованности


Архитектура системы

                    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

Режимы генерации ответов

1. Офлайн / локальный режим (по умолчанию)

Не требует ключей API.

Система отвечает на вопросы, используя:

  • Финансовые данные PostgreSQL

  • Поиск RAG

  • Экстрактивную генерацию ответов

  • Оценку обоснованности на PyTorch

Этот режим использовался во время разработки и тестирования.


2. Режим с поддержкой Claude (необязательно)

Если предоставлен ключ API Anthropic:

ANTHROPIC_API_KEY=your_api_key_here

извлеченные доказательства могут быть переданы в Claude для генерации ответов на естественном языке.

Конвейер:

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

Claude используется только для синтеза ответов.

Система не зависит от Claude для:

  • Поиска

  • Маршрутизации запросов

  • Финансовых расчетов

  • Оценки обоснованности

Если ключ API отсутствует, приложение автоматически переключается на локальный экстрактивный конвейер.


Технологический стек

Бэкенд

Технология

Назначение

FastAPI

API-фреймворк

Uvicorn

ASGI-сервер

Pydantic

Валидация данных

База данных

Технология

Назначение

PostgreSQL

Основная база данных

SQLAlchemy

ORM

Машинное обучение

Технология

Назначение

PyTorch

Классификатор обоснованности

Scikit-Learn

Конвейер поиска

NumPy

Числовые операции

Поиск

Компонент

Назначение

TF-IDF

Векторизация документов

Truncated SVD

Плотное семантическое представление

Cosine Similarity

Ранжирование результатов поиска

AI-инструменты

Компонент

Назначение

MCP Tools

Структурированный доступ к инструментам

Query Router

Выбор маршрута

Groundedness Evaluator

Проверка доказательств


Структура проекта

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

Установка

Предварительные требования

  • Python 3.11+

  • PostgreSQL 16+ (протестировано на PostgreSQL 17.11)

  • Git


1. Клонирование репозитория

git clone <repository-url>
cd diligence-copilot

2. Создание виртуального окружения

Windows

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

Linux / macOS

python -m venv venv
source venv/bin/activate

3. Установка зависимостей

Установите PyTorch только для CPU:

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

Установите требования проекта:

pip install -r requirements.txt

4. Настройка PostgreSQL

Выполните:

psql -U postgres -f scripts/setup_postgres.sql

Это создаст:

  • базу данных diligence_copilot

  • пользователя diligence_app

  • необходимые разрешения


5. Создание набора данных для обоснованности

python -m app.ml.build_dataset

6. Обучение классификатора обоснованности

python -m app.ml.groundedness

7. Запуск приложения

uvicorn app.main:app --reload

Приложение:

http://localhost:8000

Документация API:

http://localhost:8000/docs

Docker

docker-compose up --build

Проверка работы

Создание тестового отчета

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.

Загрузка отчета

Используйте:

  • Тикер: TEST

  • Компания: Test Company

  • Фискальный период: FY2024

Пример вывода:

Done: 1 chunks, 3 financial metrics extracted.

Тестирование финансовых рассуждений

Вопрос:

What was the change in operating margin?

Пример вывода:

operating_margin moved from 10.1 (FY2023)
to 12.5 (FY2024), a change of 23.76%.

Маршрут:

SQL

Инструмент:

financial_ratio_calculator

Тестирование поиска

Вопрос:

What supplier risks does the company face?

Пример вывода:

The company faces significant risk from a single supplier located in Vietnam.

Примечание: для очень маленьких отчетов, которые помещаются в один фрагмент, поиск может вернуть весь фрагмент, а не отдельное предложение.

Маршрут:

RAG

Запуск оценки

python -m app.eval.run_eval

Результаты

Проверено на всем конвейере:

  • Загрузка документов

  • Извлечение финансовых показателей

  • Сохранение в PostgreSQL

  • Маршрутизация запросов

  • Финансовые рассуждения на основе SQL

  • Анализ рисков на основе поиска

  • Оценка обоснованности

  • Развертывание FastAPI

Пример результатов оценки

Метрика

Значение

Точность маршрутизации

1.00

Средняя релевантность поиска

0.67

Средняя задержка

~30ms

Классификатор обоснованности

Метрика

Значение

Точность

0.70 – 0.90

Полнота

0.75 – 1.00

Результаты немного варьируются, потому что набор данных для оценки намеренно небольшой.


Ограничения

  • Классификатор обоснованности обучен на 38 размеченных примерах

  • Извлечение финансовых показателей в настоящее время использует правила на основе шаблонов

  • Поиск использует TF-IDF + SVD вместо трансформерных эмбеддингов

  • Векторный индекс находится в памяти и оптимизирован для демонстрационных нагрузок

  • Интеграция с Claude необязательна и не требуется для основной функциональности


Будущие улучшения

  • Эмбеддинги на основе трансформеров

  • Гибридный поиск (ключевые слова + векторный)

  • Более крупные наборы данных для обоснованности

  • Резервное извлечение на основе LLM

  • Многошаговые агентные рабочие процессы

  • Интеграция pgvector

  • Сравнение нескольких документов

  • Автоматическая генерация аналитических отчетов

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