// education

실전 프로젝트: 나만의 AI 비서 애플리케이션 구축

지금까지 배운 프롬프트 엔지니어링 4대 원칙, LLM API 호출, 대화 이력 관리, JSON 구조화 기술을 종합하여 나만의 AI 통합 업무 비서를 직접 구현해 봅니다.


1. AI 통합 비서 아키텍처


2. 파이썬 실전 AI 비서 통합 코드

import json
from openai import OpenAI

class AIAssistant:
    def __init__(self, api_key):
        self.client = OpenAI(api_key=api_key)
        self.history = [
            {
                "role": "system", 
                "content": "너는 사용자의 생산성을 돕는 스마트 AI 비서야. 친절하고 명확하며, 핵심 위주로 정리해 줘."
            }
        ]

    def ask(self, user_message):
        # 1. 대화 이력에 사용자 메시지 저장
        self.history.append({"role": "user", "content": user_message})

        # 2. LLM 응답 생성
        response = self.client.chat.completions.create(
            model="gpt-4o-mini",
            messages=self.history,
            temperature=0.3
        )

        reply = response.choices[0].message.content
        
        # 3. AI 답변을 대화 이력에 저장
        self.history.append({"role": "assistant", "content": reply})
        return reply

    def summarize_json(self, long_text):
        """긴 문서를 구조화된 JSON으로 요약 추출하는 메쏘드"""
        res = self.client.chat.completions.create(
            model="gpt-4o-mini",
            response_format={"type": "json_object"},
            messages=[
                {"role": "system", "content": "입력 문서를 요약하여 JSON으로만 반환해 줘. Keys: title, summary_bullets(array), action_items(array)"},
                {"role": "user", "content": long_text}
            ]
        )
        return json.loads(res.choices[0].message.content)

# 실행 테스트
# assistant = AIAssistant("YOUR_API_KEY")
# print(assistant.ask("내일 아침 9시 회의 준비 체크리스트 만들어 줘."))

3. AI 앱 프로젝트 발전 방향

  1. Streamlit / Gradio 프론트엔드 연동: 파이썬 전용 웹 UI 라이브러리를 붙여 웹 페이지 챗봇 서비스로 확장.
  2. FastAPI 백엔드 서버 구축: 모바일 앱이나 웹 프론트엔드와 통신하는 AI REST API 서버 구축.
  3. RAG 챗봇 확장: 내 컴퓨터의 PDF 파일들을 읽어 답변하는 나만의 문서 질의응답 비서 구축.

4. 자주 묻는 질문 (Q&A)

Q. AI 비서 프로젝트를 포트폴리오로 만들 때 강조해야 할 핵심은? A. 단순히 API를 부르는 것에 그치지 않고, 예외 처리(API 실패 처리), 보안(API Key 관리), 비용 절감(슬라이딩 윈도우), 그리고 UX(JSON 처리 및 빠른 답변 속도)를 고민한 흔적을 담아내는 것이 중요합니다.

← 이전임베딩(Embedding)과 RAG(검색 증강 생성) 기초 다음 →