앞서 배운 프롬프트 디자인, 대화 이력 메모리, JSON 구조화 및 함수 연동 기법을 하나로 융합하여 실무형 파이썬 AI 스마트 비서 모듈을 구현합니다.
1. 실전 파이썬 AI 비서 클래스 완전체 코드
import json
from openai import OpenAI
class EnterpriseAIAssistant:
def __init__(self, api_key):
self.client = OpenAI(api_key=api_key)
self.system_prompt = {
"role": "system",
"content": "너는 DAVHAVE의 스마트 수석 AI 비서야. 답변은 간결하고 전문적으로 작성해 줘."
}
self.history = [self.system_prompt]
def ask(self, user_text):
"""1. 일반 멀티턴 대화 수행"""
self.history.append({"role": "user", "content": user_text})
response = self.client.chat.completions.create(
model="gpt-4o-mini",
messages=self.history,
temperature=0.4
)
reply = response.choices[0].message.content
self.history.append({"role": "assistant", "content": reply})
return reply
def extract_tasks_json(self, document_text):
"""2. 업무 문서에서 할 일 목록을 JSON으로 자동 구조화 파싱"""
prompt = f"다음 문서에서 핵심 작업 목록과 기한을 JSON으로 파싱해 줘:
{document_text}"
res = self.client.chat.completions.create(
model="gpt-4o-mini",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "JSON format: {"tasks": [{"task": "", "due": ""}]}"},
{"role": "user", "content": prompt}
]
)
return json.loads(res.choices[0].message.content)
# 사용 테스트
assistant = EnterpriseAIAssistant(api_key="YOUR_API_KEY")
print(assistant.ask("안녕하세요! 오늘 마케팅 회의 준비를 도와주세요."))
2. 자주 묻는 질문 (Q&A)
Q. AI 비서를 서비스 서비스로 프로덕션 배포할 때 가장 중요한 고려 요소 3가지는? A. 1) API Key 보안 감추기 (환경변수/Secret 매니저), 2) **비동기 스트리밍(Streaming)**으로 답변 반응 시간 단축, 3) 토큰 비용 과금 모니터링입니다.