Skip to main content
Glama
jaskarn09

ai-due-diligence-copilot

by jaskarn09

AI Due Diligence Copilot

AI Due Diligence Copilot은 기업 공시 문서(10-K / 10-Q)를 입력받아 구조화된 재무 정보를 추출하고, 뒷받침하는 증거를 검색하며, 사용 가능한 가장 신뢰할 수 있는 출처를 사용하여 애널리스트 질문에 답변하는 엔드투엔드 금융 문서 분석 시스템입니다.

전적으로 LLM에 의존하는 많은 AI 애플리케이션과 달리, 이 시스템은 각 질문을 다음 중 하나로 지능적으로 라우팅합니다:

  • PostgreSQL에 저장된 구조화된 재무 데이터

  • RAG(Retrieval-Augmented Generation) 파이프라인을 통한 검색된 공시 증거

  • 두 가지의 조합

신뢰성을 높이기 위해, 생성된 답변은 검색된 증거가 주장을 뒷받침하는지 확인하는 PyTorch 기반 근거성(groundedness) 분류기를 사용하여 평가할 수 있습니다.


왜 이 프로젝트인가?

금융 애널리스트는 다음과 같은 답변을 자주 필요로 합니다:

  • 사실적으로 정확한

  • 설명 가능한

  • 원본 문서로 추적 가능한

기존의 LLM 기반 어시스턴트는 숫자를 환각하거나 뒷받침되지 않는 주장을 제공할 수 있습니다.

이 프로젝트는 다음을 통해 이 문제를 해결합니다:

  • 정량적 추론에 SQL 사용

  • 정성적 문서 이해에 RAG 사용

  • 증거 지원 평가에 근거성 평가 사용

  • 유료 API 없이도 완전히 작동하면서 선택적 Claude 기반 답변 합성 지원

더 자세한 구현 세부 사항과 설계 결정 사항은 다음을 참조하십시오:

ARCHITECTURE.md

Related MCP server: SEC-MCP

기능

문서 입력

  • 금융 공시 문서 업로드 (.txt, .pdf, .md)

  • 자동 문서 정리 및 청크 분할

  • 공시 메타데이터 추적

  • 영구 PostgreSQL 저장

구조화된 재무 지표 추출

현재 다음을 추출하여 저장합니다:

  • 매출(Revenue)

  • 영업이익률(Operating Margin)

  • 순이익(Net Income)

  • 연구개발비(R&D Expense)

  • 현금 및 현금성 자산(Cash & Cash Equivalents)

이러한 지표는 PostgreSQL에 저장되며 정량적 분석을 위해 직접 쿼리할 수 있습니다.

지능형 쿼리 라우팅

시스템은 질문이 다음을 통해 답변되어야 하는지 자동으로 결정합니다:

  • 구조화된 SQL 검색

  • 문서 검색(RAG)

  • SQL + RAG

예시:

질문

경로

영업이익률의 변화는 어땠나요?

SQL

회사가 직면한 공급업체 위험은 무엇인가요?

RAG

마진은 어떻게 변화했으며 그 이유는 무엇인가요?

SQL + RAG

MCP 도구 통합

MCP(Model Context Protocol) 도구를 구현합니다:

  • Company Lookup(회사 조회)

  • Financial Ratio Calculator(재무 비율 계산기)

  • Document Search(문서 검색)

근거성 평가

경량 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 지원 모드(선택 사항)

Anthropic API 키가 제공되면:

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. 종속성 설치

CPU 전용 PyTorch 설치:

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.

공시 문서 업로드

사용:

  • 티커(Ticker): 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 기반 추출 대체(fallback)

  • 다단계 에이전트 워크플로우

  • 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