Skip to content

YBIGTA/26th-conference-OneMaSol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

자영업자를 위한 생산성 향상 맞춤비서 AI Agent

25-1 YBIGTA 컨퍼런스

LLM과 LangGraph를 활용하여 사용자의 질의를 이해하고, RAG, 웹 검색, 캘린더 관리 등 복합적인 작업을 자율적으로 수행하는 멀티 에이전트 시스템을 개발하고 모바일 애플리케이션으로 구현한 프로젝트

목차

문제 정의

자영업자들은 세금, 4대 보험 등 사업 행정·세무 절차에 대한 질문 처리에 어려움을 겪지만, 세무사 고용 비용에는 보수적인 성향을 보입니다. 또한, 인건비를 절감해야 하기에 본인 스스로 많은 업무를 처리하다 보니 일정관리에 어려움을 겪습니다.

솔루션

이에, 도메인 지식이 필요한 질문과 일정관리를 하나로 묶어 통합된 AI Agent 솔루션을 통해 해결하고자 합니다. 즉, 자영업자를 위한 생산성 향상 맞춤비서 Agent를 제안합니다.

세부 목표

  • Agent Router 구현: 사용자의 질의를 분석하여 RAG(정보 검색), 캘린더 관리, 웹 검색 등 적절한 작업으로 자동 분기하는 라우터 구현
  • **RAG 시스템 구축 **: 법률 문서와 같은 전문 자료를 기반으로 정확한 답변을 제공하는 RAG(Retrieval-Augmented Generation) 시스템 구축
  • 자연어 기반 캘린더 관리: 자연어 명령을 통해 구글 캘린더의 일정을 생성, 조회, 수정, 삭제(CRUD)하는 에이전트 개발
  • 안정적인 모델 서빙: 로컬 GPU 환경에 LLM을 배포하고, API 서버를 통해 전체 시스템을 안정적으로 운영
  • 사용자 친화적 인터페이스: 모바일 환경(React Native)에서 사용자가 손쉽게 상호작용할 수 있는 애플리케이션 개발 및 배포

접근 방법

  1. 태스크 (세부 목표를 달성하기 위한 구체적인 태스크)

    • Agent 아키텍처 설계: LangGraph를 기반으로 태스크 라우터, RAG 에이전트, 캘린더 에이전트, 웹 검색 에이전트가 유기적으로 상호작용하는 멀티 에이전트 구조 설계

    • RAG 파이프라인 구축: 식품위생법 등 특정 문서를 청킹 및 벡터화하여 MongoDB Atlas 벡터 DB에 저장하고, 유사도 검색을 통해 관련 정보를 추출하는 파이프라인을 구현

    • 모델 서빙 및 백엔드 개발: Vessl GPU 인스턴스에 Ollama를 이용해 Exaone 3.5 모델을 배포하고, FastAPI를 사용하여 모델 서버와 백엔드 API를 구축

    • RDB 관리 : AWS RDS를 활용하여 Postgre SQL반 RDB구축 및 설계, 배포

    • 모바일 애플리케이션 개발: React Native를 사용하여 모바일 캘린더 앱을 개발하고, Google OAuth 인증 및 Zustand를 이용한 상태 관리

    • 시스템 통합: 프론트엔드, 백엔드 API, 모델 서빙 서버를 연동하여 사용자의 요청부터 최종 응답까지 이어지는 전체 파이프라인을 완성

  2. 데이터셋 (사용한 데이터셋, API 등)

    • 식품위생법 시행규칙 [별표 14] 업종별 시설기준: RAG 시스템의 정보 검색을 위한 법률 문서 데이터
    • 식약처 발간 일반음식점 위생교육교재: RAG 시스템의 정보 검색을 위한 교육 자료
    • Google Custom Search JSON API: 일반 질의에 대한 웹 검색 기능 구현을 위해 사용
    • Google OAuth 2.0 및 Firebase Auth: 사용자의 소셜 로그인 및 인증 상태 관리를 위해 사용
    • 자체 구현된 모델 호출 및 일정관리용 CRUD API : 프론트-모델 단의 소통을 위한 호출용 API와 유저의 Task, Event에 관련된 CRUD 로직 및 인증인가 처리와 연동된 API 활용
  3. 모델링/아키텍쳐 등

    • LLM: Exaone 3.5 (7.8B) 모델을 Ollama를 통해 Vessl GPU 환경에서 서빙
    • Embedding 모델: jhgan/ko-sbert-nli 모델을 사용하여 한국어 텍스트를 임베딩
    • Agent 프레임워크: LangGraph를 사용하여 상태(State) 기반으로 각 에이전트와 라우터가 동작하는 유연한 멀티 에이전트 시스템을 구축했습니다.
    • Vector DB: MongoDB Atlas를 활용하여 벡터 데이터를 저장하고 검색하는 환경을 구성
    • 서비스 아키텍처: React Native(프론트엔드) ↔ FastAPI(백엔드) ↔ LangGraph Agent (모델) ↔ Vessl GPU (모델 서빙)으로 이어지는 다층 구조로 설계

결과 및 주요 기능

  • LangGraph 기반 멀티 에이전트 시스템: 사용자 질의를 일정, 질문 등으로 분류하고, RAG, 웹 검색, 캘린더 관리 등 각기 다른 능력을 가진 에이전트로 작업을 동적으로 할당하는 시스템을 구현
  • MongoDB Atlas 기반 RAG 파이프라인: '식품위생법'과 같은 특정 문서에 대한 질의에 대해, 벡터 DB에서 관련 정보를 찾아 LLM이 정확한 답변을 생성하도록 하는 RAG 기능을 구현
  • CRUD 기능을 갖춘 캘린더 에이전트: "내일 3시에 회의 잡아줘"와 같은 자연어 명령을 해석하여 캘린더에 일정을 생성하고 관리하는 기능을 자동화
  • 통합 서빙 및 API: LLM과 임베딩 모델을 Vessl GPU 인스턴스에 배포하고, FastAPI로 엔드포인트를 설계하여 프론트엔드와 모델을 연결하는 전체 파이프라인을 구축
  • React Native 모바일 앱: Google 소셜 로그인을 지원하며, 사용자가 캘린더를 확인하고 에이전트와 채팅할 수 있는 모바일 애플리케이션을 개발

팀 구성

이름 역할 주요 기여
목종원 리드, 백엔드 FastAPI 활용 RDB 관련 API 설계, Google OAuth 인가 API 구현, Github Action을 활용한 CD 설계
김현운 모델 총괄 LangGraph 기반 멀티 에이전트 시스템 아키텍처 설계, 상태 기반 흐름 제어 및 프롬프트 엔지니어링
이재우 모델 Task Router 및 Calendar Agent 구현, LangGraph 기반 멀티 에이전트 시스템 아키텍처 구성
최서영 모델 리서치 및 기획, RAG 파이프라인 담당, 데이터 수집 및 청킹 등 전처리, 임베딩 파이프라인 구현, MongoDB Atlas 기반 벡터 DB 구축 및 검색 기능 구현, LagnGraph기반 RAG Agent 구현
김이지 백엔드, 모델 서빙 모델 서빙 환경 구축(Vessl, Ollama), FastAPI 기반 API 서버 및 DB 스키마 설계, 전체 시스템 파이프라인 통합
조요셉 프론트엔드 React Native 모바일 앱 개발, Google OAuth 인증 구현, UI/UX 설계 및 네비게이션 구조화

본 프로젝트는 어플리케이션 개발을 지속하여 수익화를 목표로 하기에 보안 등의 이유로 최종 소스코드를 공개하지 않습니다.

About

26th-conference-OneMaSol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •