공공기관의 시민 서비스 향상과 업무 효율성 증대를 위한 AI 기반 통합 솔루션입니다.
**📁
res/demo.mp4
이 프로젝트는 툴콜링 최적화를 위한 Gemstone AI 레포지토리를 fork하여 구현되었습니다.
대시보드 AI Agent를 만드는 AI Agent 시스템을 구상하였으나, 시간 제약으로 인해 완전한 구현에는 도달하지 못했습니다.
- POV 1: 바쁜 직장인 시민들이 도시재생사업 정보에 쉽고 빠르게 접근하고 싶어하지만, 정보가 분산되어 있고 실시간 문의가 어려운 상황
- POV 2: 도시재생지원센터 직원들이 전문적인 기획업무에 집중하고 싶어하지만, 반복적인 민원 응답으로 핵심 업무 시간이 부족한 상황
- 시민들이 24시간 언제든지 필요한 정보를 얻을 수 있게 하기
- 반복적인 민원 응답을 자동화하기
- 시민과 기관 간의 양방향 소통을 활성화하기
"정보 접근성 향상 및 민원 응대 부담 해소용 대시보드 통합형 공공기관 챗봇 시스템"
기본 섹션 (7개)
- Main 랜딩 페이지: 기관 간단 소개
- Introduction 페이지: 기관 소개, 진행하는 행사 목록 및 일정
- 시민 참여형 페이지: 민원 접수, 행사 참여 신청
- 월별 기관 실적 분석: 월간 성과 지표 및 트렌드
- 년도별 기관 실적 분석: 연간 성과 비교 및 분석
- 사례 소개: 성공 사례 및 Before/After
- 기타 자료 목록: 다운로드 가능한 문서 및 자료
추가 확장 섹션 (5개)
- 실시간 현황 모니터링: 진행 중인 사업 현황 맵
- 시민 소통 허브: 의견 수렴 및 투표 시스템, Q&A 게시판 (챗봇 연동)
- �️ 공공기관 특화 - 민원, 사업정보, 공지사항 등 공공기관 업무에 특화된 AI 챗봇
- 🎯 맞춤형 응답 - 기관별 맞춤형 정보 제공 및 민원 안내
- 📊 통합 대시보드 - 실시간 모니터링 및 관리 기능
- 💾 로컬 AI 처리 - 개인정보 보호를 위한 온디바이스 AI 모델 지원
- 🔄 실시간 통신 - WebSocket 기반 실시간 채팅
- 🌐 웹 기반 인터페이스 - 별도 설치 없이 웹 브라우저에서 바로 사용
- FastAPI - 고성능 웹 API 프레임워크
- Transformers & PyTorch - 트랜스포머 모델 서빙 (INT4/INT8 양자화)
- Llama-cpp-python - GGUF 모델 서빙
- BitsAndBytes - 메모리 효율적인 모델 양자화
- Astro - 정적 사이트 생성기
- Tailwind CSS - 유틸리티 우선 CSS 프레임워크
- Flowbite - Tailwind CSS 컴포넌트 라이브러리
- 외부 AI API 사용 제한: 개인정보 이슈로 인해 외부 인공지능 API 사용 불가
- 채팅 기록 비저장: 사용자와의 채팅 내역 저장하지 않음
- KT Mi:dm 2.0 Base (11.5B 4bitQ Instruct) - 한국어 특화 대화형 AI 모델
- 하드웨어 제약: 낮은 공공기관 PC 사양으로 인한 로컬 LLM 추론 한계 => 온디바이스로 서빙은 불가능
- 배포 해결방안: Hugging Face Space Pro 요금제 활용 (Sleep 모드 지원, 고정 요금)
- 사업정보 조회 (
api/functions/business.py) - 지원사업, 보조금 정보 - 공지사항 안내 (
api/functions/notice.py) - 최신 공지사항 및 정책 변경사항 - 민원 안내 (
api/functions/info.py) - 민원 접수 절차 및 문의사항 - 프로그램 정보 (
api/functions/program.py) - 교육, 행사 프로그램 안내 - 관광정보 (
api/functions/tour.py) - 지역 관광 정보 제공 - 뉴스 브리핑 (
api/functions/news.py) - 기관 관련 뉴스 요약
- 날씨 정보 (
api/utils/weather.py) - 실시간 기상 정보 - 환율 정보 (
api/utils/currency.py) - 실시간 환율 조회 - 일정 관리 (
api/utils/calendar.py) - 공공기관 일정 안내 - 계산기 (
api/utils/calculator.py) - 각종 계산 기능 - 웹 검색 (
api/utils/web_search.py) - 실시간 정보 검색
{
"role": "user",
"content": "대전시 창업지원 사업에 대해 알려주세요"
}응답 예시:
{
"role": "assistant",
"content": "대전시에서 제공하는 창업지원 사업을 안내해드리겠습니다.\n\n� **주요 창업지원 사업**\n- 청년창업지원센터 운영\n- 스타트업 보육 프로그램\n- 창업자금 융자 지원\n- 멘토링 및 컨설팅 서비스\n\n� **신청 방법**\n1. 대전시 홈페이지 접속\n2. 창업지원 메뉴 선택\n3. 온라인 신청서 작성\n4. 필요 서류 첨부\n\n자세한 내용은 대전시청 경제진흥과(☎ 042-270-xxxx)로 문의해주세요."
}퍼블리카이는 공공기관 홈페이지에 쉽게 통합 가능한 형태로 설계되었으며, 개인정보 보호와 관리 편의성을 고려한 모듈형 아키텍처를 기반으로 합니다:
📁 PUBLIKAI/
├── 🎯 api/ # AI 모델 서버 및 API
│ ├── models/ # AI 모델 관리
│ ├── functions/ # 공공기관 특화 기능
│ ├── utils/ # 유틸리티 기능
│ └── settings.py # 시스템 설정
├── 📊 dashboard/ # 관리자 대시보드
│ ├── components/ # UI 컴포넌트
│ ├── modules/ # 기능 모듈
│ ├── pages/ # 페이지 라우팅
│ └── services/ # 데이터 서비스
├── 📄 data/ # 샘플 데이터 및 문서 (JSON 형태)
│ └── pdf/ # 벡터 DB 임베딩용 PDF 문서
└── 🚀 app.py # 메인 애플리케이션
- 데이터 처리: 기관에서 모든 데이터 가공 및 분석을 담당하고, 대시보드는 분석 완료된 결과만 표시
- 데이터 저장: DB 대신 JSON 형태로 데이터 관리하여 기관에서 쉽게 관리 가능
- GitHub Template 제공: 코드 clone 없이 GitHub에서 직접 데이터 수정 가능
- 벡터 DB 자동화: PDF 문서를 data/pdf 폴더에 저장하면 시작 시 자동으로 임베딩 진행
- 사용자 입력 → 웹 인터페이스 또는 API
- 요청 처리 → FastAPI 라우터
- AI 모델 추론 → 로컬 또는 클라우드 모델
- 기능 실행 → 공공기관 특화 함수 호출
- 응답 반환 → 구조화된 JSON 응답
Hugging Face Space (ZeroGPU) 활용
- 문제: 기존 공공기관 PC 사양으로는 LLM 추론 불가능
- 해결: HF Space Pro 요금제 사용
- 사용하지 않을 때 자동 Sleep 모드
- 고정 월 요금제로 비용 효율성 확보
- GPU 서버 대비 안정적인 서비스 운영
- Python 3.12+
- Git
- Node.js 18+ (대시보드 사용 시)
- CUDA 호환 GPU (선택사항, GPU 가속용)
git clone https://github.com/thisisthepy/PUBLIKAI.git
cd PUBLIKAIuv syncnpm run build
python app.pynpm install
npm run devapi/system.py에서 시스템 프롬프트 및 환영 메시지 수정:
system_prompt = """
당신은 [기관명]의 AI 어시스턴트입니다.
시민들의 문의사항에 친절하고 정확하게 답변해주세요.
"""
welcome_message = """
안녕하세요! [기관명] AI 어시스턴트입니다.
무엇을 도와드릴까요?
"""- 기본 AI 챗봇 시스템 (Tool Calling 지원)
- 공공기관 특화 기능 모듈 (민원, 사업정보, 공지사항 등)
- 대시보드 유지보수용 AI Agent 시스템: 시간 제약으로 완전한 구현 미완료
- LoRA 기반 2Bit 모델 최적화: Tool Calling 능력 복구를 위한 RULER Training 필요
- AI Agent 시스템 완성: AI 챗봇 대시보드를 자동으로 생성하는 Meta-AI Agent 구현
- 모델 최적화: KT Intelligence와 협력하여 경량화 모델 Tool Calling 능력 개선
- 확장 기능 개발: 실시간 현황 모니터링 및 시민 참여 기능
- GitHub Template 완성: 다른 공공기관이 쉽게 사용할 수 있는 템플릿 제공
퍼블리카이 프로젝트에 기여해주셔서 감사합니다!
- 이슈 트래커 사용
- 재현 가능한 상세한 설명 제공
- 플랫폼 및 버전 정보 포함
- 기존 기능 요청 확인
- 명확한 사용 사례와 함께 새로운 아이디어 제안
- 구현 복잡도 고려
- 저장소 포크
- 기능 브랜치 생성 (
git checkout -b feature/AmazingFeature) - 변경사항 커밋 (
git commit -m 'Add some AmazingFeature') - 브랜치에 푸시 (
git push origin feature/AmazingFeature) - Pull Request 생성
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- Gemstone AI - 툴콜링 최적화 기반 코드 제공
- Hugging Face - Transformers 라이브러리 및 Space 플랫폼 제공
- Llama.cpp - 효율적인 로컬 모델 서빙
- FastAPI - 고성능 웹 프레임워크
- Astro & Flowbite - 현대적인 웹 인터페이스
- KT Intelligence - Mi:dm 2.0 모델 제공
- 천안시 도시재생지원센터 - 실제 사용 사례 및 요구사항 제공
�️ 공공기관의 디지털 혁신을 함께 만들어갑니다!