영리의 테크블로그

Agent 만들기 [8] - 분신 성격 업데이트: LLM과 상호작용 분석을 활용한 페르소나 발전 본문

dev/AI

Agent 만들기 [8] - 분신 성격 업데이트: LLM과 상호작용 분석을 활용한 페르소나 발전

영리0 2024. 11. 21. 12:31

OpenAI의 GPT-4o 모델과 Firebase, Redis, Firestore, LangChain 활용.


주요 동작 원리

1. 상호작용 데이터 수집

Redis와 Firestore를 사용하여 사용자의 대화와 행동 데이터를 저장

async def store_user_interaction(uid: str, interaction_data: dict):
    # Redis 및 Firestore에 상호작용 저장
    ...

2. LLM 기반 분석

LangChain을 활용해 OpenAI GPT-4 모델로 사용자 상호작용 데이터를 분석.

analysis_template = """
당신은 사용자의 분신 페르소나를 발전시키는 전문가입니다.
...
"""

3. 페르소나 업데이트

분석 결과를 Firestore에 저장된 기존 페르소나와 결합하여 업데이트.

async def analyze_and_update_persona(uid: str):
    # 상호작용 데이터 분석 및 Firestore 업데이트
    ...

상호작용 데이터 예시

분석에 사용된 상호작용 데이터는 다음과 같이 Redis에 저장:

[
    {"timestamp": "2024-11-21T10:00:00", "type": "message", "message": "안녕! 오늘 기분 어때?"},
    {"timestamp": "2024-11-21T10:05:00", "type": "message", "message": "나는 새로운 프로젝트를 시작했어."}
]

업데이트 결과

다음과 같이 페르소나를 업데이트: