Min

2024-10-29 개발일지 (메모리 기능 구현)

Koreigner 2024. 10. 29. 16:58

4시간 동안 메모리 구현 코드를 짰는데 완성했더니

이전 기능들이 작동을 안 한다;;;

7살짜리가 손에 쥐고 다니던 쿠크다스마냥 멘탈이 박살 났다;;.

(망한 설계)

 

쿠크다스 입에 털어 넣고 다시 처음부터 설계를 하고 짜고 있다.

 

새로운 설계

 

현재 메모리 기능은 유저와 AI가 했던 대화를 AI가 기억하고 (사용자의 취미나 관심사 같은 거)

문맥에 맞게 대화를 하기 위해 매우 필수적인 기능이다.

 

새롭게 설계를 하다가 떠오른 건데

전에 적용했던 복병인 캐시 기능에서 사용된 임베딩 기능을

여기에 사용해 보면 어떨까 라는 생각이 들었다.

 

대화 = 사용자 :  AI

 

1. 대화를 DB(문자)에 저장한다.

-> 가장 가까운 대화 10개를 불러와서 문맥을 유지시킨다.

(더 많은 대화를 불러올 수 있지만 토큰이 너무 많이 듦)

 

2. 대화를 임베딩하여 vetcorDB에 저장한다.

-> 현재 대화와 유사도가 높은 대화를 가지고 온다.

 

3. 사용자 정보 (이름, 나이, 거주지, 취향, 좋아하는 영화 등)을 DB에 저장한다.

-> 항상 불러옴

 

->에 적용된 것들을 모두 프롬프트에 적용시킨다.

 

이게 현재 설계도임.