지금까지 배운 프롬프트 엔지니어링 4대 원칙, LLM API 호출, 대화 이력 관리, JSON 구조화 기술을 종합하여 나만의 AI 통합 업무 비서를 직접 구현해 봅니다.
1. AI 통합 비서 아키텍처
- 역할: 사용자의 일정을 정리하고, 텍스트 요약 및 키워드 추출을 수행하며, 대화 맥락을 기억하는 스마트 업무 비서.
- 사용 모델: OpenAI
gpt-4o-mini또는 Googlegemini-1.5-flash
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 앱 프로젝트 발전 방향
- Streamlit / Gradio 프론트엔드 연동: 파이썬 전용 웹 UI 라이브러리를 붙여 웹 페이지 챗봇 서비스로 확장.
- FastAPI 백엔드 서버 구축: 모바일 앱이나 웹 프론트엔드와 통신하는 AI REST API 서버 구축.
- RAG 챗봇 확장: 내 컴퓨터의 PDF 파일들을 읽어 답변하는 나만의 문서 질의응답 비서 구축.
4. 자주 묻는 질문 (Q&A)
Q. AI 비서 프로젝트를 포트폴리오로 만들 때 강조해야 할 핵심은? A. 단순히 API를 부르는 것에 그치지 않고, 예외 처리(API 실패 처리), 보안(API Key 관리), 비용 절감(슬라이딩 윈도우), 그리고 UX(JSON 처리 및 빠른 답변 속도)를 고민한 흔적을 담아내는 것이 중요합니다.