본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 10. 03:30

ruizguille/tech-trends-chatbot: 기술 트렌드 기반 RAG 챗봇 애플리케이션

요약

이 저장소는 Python, FastAPI, React 및 OpenAI GPT-4o를 활용한 RAG 풀스택 챗봇 애플리케이션을 제공합니다. 세계은행 등 주요 기관의 보고서를 기반으로 기술 트렌드에 답변하며, 사용자가 자체 데이터 소스를 쉽게 통합하고 커스터마이징할 수 있도록 설계되었습니다.

핵심 포인트

  • RAG 원리를 적용한 풀스택 챗봇 구현 예시입니다.
  • FastAPI 백엔드와 React 프론트엔드로 구성되어 있습니다.
  • RedisJSON 및 RediSearch를 활용하여 벡터 데이터베이스 기능을 제공합니다.
  • 사용자 데이터를 쉽게 교체하고 로딩 스크립트를 통해 지식 기반을 구축할 수 있습니다.

이 저장소는 Python, FastAPI, Redis, React 및 OpenAI의 GPT-4o로 구축된 검색 증강 생성(Retrieval-Augmented Generation, RAG) 풀스택 챗봇 애플리케이션을 담고 있습니다. 이 챗봇은 세계은행(World Bank), 세계경제포럼(World Economic Forum), McKinsey, Deloitte 및 OECD와 같은 주요 기관의 최신 보고서를 기반으로 새로운 기술 트렌드에 대한 질문에 답변하도록 특화되어 있습니다.

이 애플리케이션은 쉽게 사용자 정의할 수 있도록 설계되었으며, 사용자 자체 데이터 소스를 통합하고 다양한 사용 사례에 맞게 조정할 수 있습니다.

코드와 사용된 기술에 대한 자세한 워크스루는 이 블로그 게시물을 참조하세요: Building an AI Chatbot Powered by Your Data.

저장소는 두 개의 주요 폴더로 구성되어 있습니다:

backend/

: Python FastAPI 백엔드 코드와 테스트용 로컬 Python 버전을 포함합니다.
frontend/

: React 프론트엔드 코드를 포함합니다. 빌드 도구 및 번들러로 Vite.js를 사용합니다.

  • Python 3.11+.

  • Node.js 18+.

  • Poetry (Python 패키지 관리자).

  • Redis Stack Server. 설치 및 실행 지침을 따르세요. 이 애플리케이션은 RedisStack Server에 포함된 RedisJSON 및 RediSearch 모듈이 필요합니다. 또는, 필요한 모듈을 직접 설치하여 추가할 수 있습니다.

백엔드 폴더로 이동하여 Poetry를 사용하여 Python 종속성을 설치하세요:

cd backend poetry install

제공된 .env.example 파일을 복사하여 백엔드 폴더에 .env 파일을 생성하고 다음 필수 환경 변수를 설정하세요:OPENAI_API_KEY
: 사용자의 OpenAI API 키.

  • 이 애플리케이션은 구성 관리를 위해 Pydantic Settings를 사용합니다. backend/app/config.py에서 구성 기본값을 조정하거나 환경 변수를 사용하여 구성 변수를 직접 설정할 수 있습니다.

프론트엔드 폴더로 이동하여 JavaScript 종속성을 설치하세요:

cd frontend npm install

제공된 .env.example 파일을 복사하여 프론트엔드 폴더에 .env.development 파일을 생성하고 다음 필수 환경 변수를 포함시키세요:VITE_API_URL

API 백엔드에 연결할 URL입니다.

풀스택 애플리케이션을 실행하기 전에, 소스 문서를 로드하고 지식 기반(knowledge base)을 구축해야 합니다. 로딩 스크립트를 실행하기 전에 Redis Stack Server가 실행 중인지 확인하세요:

cd backend
poetry run load

이 스크립트는 backend/data/docs 디렉터리에 있는 문서를 처리하고, 벡터 임베딩(vector embeddings)을 생성하여 Redis 데이터베이스에 저장합니다.

자신만의 데이터 소스로 이 챗봇을 커스터마이징할 수 있습니다:

  • backend/data/docs의 기존 PDF 파일을 자신만의 데이터 소스로 교체하세요.
  • 필요한 경우, 다른 파일 형식을 처리하도록 backend/app/loader.pyprocess_docs 함수를 조정하세요.
  • 특정 사용 사례에 맞게 backend/app/assistants/prompts.py의 어시스턴트 프롬프트(assistant prompts)를 조정하세요.
  • 위에 표시된 대로 poetry run load 스크립트를 실행하세요.

풀스택 챗봇 애플리케이션을 실행하려면:

  • Redis Stack Server가 실행 중인지 확인합니다.
  • 백엔드용 가상 환경을 활성화하고 백엔드 서버를 시작합니다:
cd backend poetry shell fastapi dev app/main.py
  • 별도의 터미널에서 프론트엔드 서버를 시작합니다:
cd frontend npm run dev
  • 웹 브라우저를 열고 http://localhost:3000에 접속하여 애플리케이션을 사용하세요.

테스트를 위해 로컬 Python 애플리케이션을 콘솔에서 실행할 수 있습니다. 제공된 Poetry 스크립트를 사용하세요:

cd backend
poetry run local

모든 대화 기록(conversation chats)을 backend/data 디렉터리의 JSON 파일로 내보내려면:

cd backend
poetry run export

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0