프로젝트 소개

이 프로젝트는 Google의 Gemini 2.5 모델과 LangGraph 프레임워크를 사용하여 연구 기반 대화형 AI를 구축하는 방법을 보여주는 풀스택 예제 애플리케이션입니다. React 프론트엔드와 LangGraph 기반 백엔드 에이전트를 결합하여 사용자 질문에 인용과 함께 답변하기 위해 반복적인 웹 연구를 수행합니다. **주요 기능** - 풀스택 아키텍처: React (Vite) 프론트엔드 및 LangGraph/FastAPI 백엔드 - Gemini 모델을 사용한 동적 검색 쿼리 생성 - Google Search API를 통한 통합 웹 연구 - 지식 격차를 식별하고 검색을 개선하기 위한 반성적 추론 - 수집된 소스에서 인용과 함께 답변 생성 - 개발 중 프론트엔드 및 백엔드 모두에 대한 핫 리로딩 **프로젝트 구조** - `frontend/`: Vite로 구축되고 Tailwind CSS 및 Shadcn UI로 스타일링된 React 애플리케이션 - `backend/`: 연구 에이전트 로직을 포함하는 LangGraph/FastAPI 애플리케이션 **백엔드 에이전트 작동 방식** 1. 사용자 입력을 기반으로 초기 검색 쿼리 생성 2. Google Search와 함께 Gemini를 사용하여 각 쿼리에 대한 웹 연구 수행 3. 결과를 반성하여 지식 격차 식별 4. 검색을 반복적으로 개선 (구성 가능한 최대값까지) 5. 인용과 함께 최종 답변 종합 **시작하기** - Node.js, Python 3.11+ 및 Gemini API 키 필요 - 백엔드: `cd backend && pip install .` 및 `.env`에 `GEMINI_API_KEY` 설정 - 프론트엔드: `cd frontend && npm install` - `make dev`로 두 개발 서버 실행 - CLI 예제: `python backend/examples/cli_research.py "query"` **배포** - 프로덕션은 Redis(스트리밍용) 및 Postgres(영속성용)와 함께 Docker 사용 - `docker build -t gemini-fullstack-langgraph -f Dockerfile .`로 빌드 - `docker-compose up`으로 실행 (LangSmith API 키 필요) **기술**: React, Vite, Tailwind CSS, Shadcn UI, LangGraph, Google Gemini **라이선스**: Apache License 2.0