본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 15. 10:24

Retrieval-Augmented Generation (RAG) 엔진을 활용한 ESG 분석

요약

RAG 기술을 활용하여 CSRD, GRI 등 최신 ESG 규제 프레임워크를 분석하는 차세대 플랫폼입니다. 계층적 검색과 쿼리 분해 기술을 통해 복잡한 ESG 데이터를 정밀하게 분석하고 컴플라이언스 격차를 식별합니다.

핵심 포인트

  • RAG 기반의 다단계 문서 검색 및 재순위화 기술 적용
  • CSRD, EU Taxonomy 등 글로벌 ESG 표준 완벽 지원
  • 하이브리드 검색 및 쿼리 분해를 통한 분석 정확도 향상
  • ChromaDB, Pinecone 등 다양한 벡터 스토어 지원
  • Streamlit 기반의 대화형 UI 및 마이크로서비스 아키텍처 제공

최첨단 Retrieval-Augmented Generation (RAG) 기술을 활용하여 지속가능성 보고 및 컴플라이언스 (Compliance) 분석을 혁신하는 차세대 ESG (Environmental, Social, Governance) 분석 플랫폼입니다. CSRD, EU Taxonomy 및 기타 진화하는 ESG 프레임워크를 포함한 2025년 규제 환경에 맞춰 구축되었습니다.

프레임워크 (Framework)범위 (Coverage)상태 (Status)
CSRD완전한 ESRS 표준✅ 전체
GRIUniversal Standards 2021✅ 전체
SASB산업 표준✅ 전체
TCFD2023 프레임워크✅ 전체
EU Taxonomy환경 목표✅ 전체
SEC Climate제안된 규칙✅ 전체

환경 (Environmental): 기후, 오염, 물, 생물 다양성, 순환 경제
사회 (Social): 인력, 가치 사슬, 지역 사회, 소비자
지배구조 (Governance): 기업 행동, 리스크 관리, 윤리

계층적 검색 (Hierarchical Retrieval): 재순위화 (Re-ranking)를 포함한 다단계 문서 검색
쿼리 분해 (Query Decomposition): 복잡한 ESG 질문을 하위 쿼리로 분해
하이브리드 검색 (Hybrid Search): 최적의 결과를 위해 의미론적 (Semantic) 검색과 키워드 검색을 결합
동적 컨텍스트 (Dynamic Context): 쿼리 복잡성에 따른 적응형 컨텍스트 창 (Context window)

프레임워크 준수 (Framework Compliance): CSRD, GRI, SASB, TCFD, EU Taxonomy, SEC Climate
격차 분석 (Gap Analysis): 컴플라이언스 격차 및 리스크의 자동 식별
베스트 프랙티스 (Best Practices): 산업 표준에 기반한 AI 기반 권장 사항
이중 중요성 (Double Materiality): 영향 및 재무적 중요성 평가 지원

마이크로서비스 아키텍처 (Microservices Architecture): 확장 가능한 컨테이너화된 서비스
다중 벡터 스토어 (Multiple Vector Stores): ChromaDB, Pinecone, Qdrant 지원
포괄적 모니터링 (Comprehensive Monitoring): 구조화된 로깅을 포함한 LangSmith 통합
운영 보안 (Production Security): API 인증, 속도 제한 (Rate limiting), 데이터 암호화

RESTful API: OpenAPI 문서가 포함된 포괄적인 API
스트리밍 응답 (Streaming Responses): 실시간 응답 생성
배치 처리 (Batch Processing): 효율적인 대량 문서 처리
대화형 UI (Interactive UI): 분석 대시보드가 포함된 현대적인 Streamlit 인터페이스

┌─────────────────────────────────────────────────────────────┐
│ ESG 분석 플랫폼 (ESG Analysis Platform) │
├─────────────────┬─────────────────┬─────────────────────────┤
...

저장소 복제하기 (Clone the repository)

git clone https://github.com/mominalix/ESG-Analysis-Using-Retrieval-Augmented-Generation-Engine.git
cd ESG-Analysis-Using-Retrieval-Augmented-Generation-Engine
...

가상 환경 생성하기 (Create virtual environment)

python -m venv .venv
source .venv/bin/activate # Linux/Mac
...

ESG-Analysis-Platform/
├── src/ # 소스 코드 (Source code)
│ ├── api/ # FastAPI 애플리케이션
...

.env 파일의 주요 설정 옵션 (Key configuration options in .env)
:

# LLM 설정 (LLM Configuration)
OPENAI_API_KEY="your-openai-api-key"
DEFAULT_MODEL="gpt-4o-mini"
...

최적의 사용처: 로컬 개발, 소규모~중규모 데이터셋 (Local development, small to medium datasets)
설정: 추가 구성 불필요 (No additional configuration required)
저장소: 로컬 파일 시스템 (Local file system)

최적의 사용처: 프로덕션 환경, 대규모 배포 (Production, large-scale deployments)
설정: Pinecone API 키 및 인덱스 생성 필요 (Requires Pinecone API key and index creation)
저장소: 클라우드 관리형 (Cloud-managed)

최적의 사용처: 자체 호스팅 프로덕션, 하이브리드 배포 (Self-hosted production, hybrid deployments)
설정: docker-compose에 포함됨 (Included in docker-compose)
저장소: 자체 관리형 (Self-managed)

post /api/v1/query
{
"question": "CSRD 기후 공시 요구사항은 무엇인가요?",
...

post /api/v1/upload
Content-Type: multipart/form-data

  • file: <ESG 문서>
    ...
post /api/v1/documents/search
{
"query": "기후 위험 평가",
...

GET /health

개발 모드(development mode)로 실행 시, 대화형 API 문서는 다음에서 접근 가능합니다:

Swagger UI: http://localhost:8000/docs
ReDoc: http://localhost:8000/redoc

# CSRD 프레임워크 문서 업로드 (Upload CSRD framework document)
curl -X POST "http://localhost:8000/api/v1/upload" \
-H "Content-Type: multipart/form-data" \
...
curl -X POST "http://localhost:8000/api/v1/query" \
-H "Content-Type: application/json" \
-d '{
...
curl -X POST "http://localhost:8000/api/v1/query" \
-H "Content-Type: application/json" \
-d '{
...
curl -X POST "http://localhost:8000/api/v1/query/stream" \
-H "Content-Type: application/json" \
-d '{
...

구조화된 로깅 (Structured Logging): 상관관계 ID (correlation IDs)가 포함된 JSON 형식의 로그
성능 지표 (Performance Metrics): 응답 시간, 신뢰도 점수 (confidence scores), 검색 정확도 (retrieval accuracy)
상태 확인 (Health Checks): 서비스 상태 모니터링 및 의존성 체크
오류 추적 (Error Tracking): 포괄적인 오류 로깅 및 알림

고급 트레이싱 (tracing)을 위해 LangSmith를 설정하세요:

export LANGSMITH_API_KEY="your-langsmith-key"
export LANGSMITH_PROJECT="esg-analysis-platform"
export ENABLE_TRACING=true

http://localhost:3000 (admin/admin)에서 모니터링 대시보드에 접속하세요:

  • API 성능 지표 (API Performance Metrics)
  • 문서 처리 통계 (Document Processing Statistics)
  • 쿼리 분석 트렌드 (Query Analysis Trends)
  • 시스템 리소스 사용량 (System Resource Usage)

API 키 (API Keys): 환경 변수 또는 비밀 관리 (secret management) 사용
인증 (Authentication): 적절한 JWT 또는 OAuth2 구현
속도 제한 (Rate Limiting): 사용 사례에 맞는 적절한 제한 설정
HTTPS: 모든 외부 통신에 대해 TLS 암호화 활성화
데이터 프라이버시 (Data Privacy): GDPR 및 기타 규정 준수 보장

add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
...
import requests
# ESG 분석 클라이언트 초기화
class ESGAnalysisClient:
...
# 문서 처리를 위한 웹훅 (Webhook) 엔드포인트
@app.post("/webhooks/document-processed")
async def handle_document_processed(payload: dict):
...

API 확장 (API Scaling): 로드 밸런서(load balancer) 뒤에 여러 개의 FastAPI 인스턴스 배치
벡터 데이터베이스 (Vector Database): 분산 벡터 저장소 (Pinecone, Weaviate 클러스터)
백그라운드 처리 (Background Processing): 문서 처리를 위한 Celery 워커 (workers)
캐싱 (Caching): 응답 캐싱을 위한 Redis 클러스터

청킹 전략 (Chunking Strategy): 사용 사례에 맞춰 청크 크기 및 중첩 (overlap) 최적화
임베딩 캐싱 (Embedding Caching): 계산량을 줄이기 위한 임베딩 캐싱
쿼리 캐싱 (Query Caching): 빈번한 쿼리 결과 캐싱
비동기 처리 (Async Processing): I/O 작업을 위한 async/await 활용

# 개발 의존성 설치
pip install -r requirements.txt
pip install -e .
...

지속 가능한 미래를 위해 ❤️로 제작되었습니다

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0