어제 소프트웨어개발자 의 조언대로 카테고리를 확실히 나누고 목표설정에 대한 구체화를 진행하라는 피드백이 있었다.
번뜩 아이디어가 떠올랐고 AI 관점에서 AI 가 다해주겠지라는 막연한 생각과 함께 구조화 파이프라인을 하지 않았다. 그래서 그런지 항상 파운데이션 모델을 만드는것처럼 뭔가 자꾸 데이터를 합쳐서 튜닝을 한다던지 생각만 했었다. PLM 은 당연히 클러스터링이 잘 되지 않는다면 할루시네이션을 반복할 것이다.
1. RAG기반의 챗봇을 Vector DB를 나눠서 카테고리가 입력한 타겟에 대한 답변을 유도할 수 있도록 한다.
-> 포럼 자동봇에는 대응이 가능하다. 포럼자체도 카테고리를 입력해야 글을 쓸 수 있으니 그건 개발자와 협의해서 코드를 수정하면 되는 부분 아마 신뢰성은 많이 올라갈 것이다.
2. 실시간 챗봇
-> 위의 구조로 하자니 유저들이 쿼리를 어떻게 쓸지에 대한 고민이었다. 우리가 뻔하게 입력하는 수준이 아니기 때문에 서비스화는 예측을 할 수가 없다 간략하게 1번의 구조대로 챗봇을 구성하는 경우에는 신한은행, 우리은행 챗봇처럼 먼저 카테고리를 선택하게끔 UI 를 구성하는 챗봇의 방법이 있을것이다. 사실 그렇게 하면 프론트만 UI 만 잘 구성해주면 되는 쉬운 작업일수도?
그러나 ChatGPT 처럼 대화형 챗봇으로 하려고한다면 조금 생각해야할게 많아질 것 같다. 처음에 오픈카톡에서 방법을 고려해보라했던 텍스트유사도 모델을 만들어서 User_query 를 분석한 후 벡터DB를 호출시켜서 인퍼런스 하는 방법이 떠올랐는데, 이게 문제가 고도화의 기술이 되버려서 아마 레이턴시도 고려하면 조금 애매 하고 당장의 백엔드 작업을 할 수 있는 사람이 없다. 뭐물론 응답속도는 느려도 결국 신뢰성있는 답변을 주면, 우리의 타겟에선 그게 정답이기 때문에 응답속도는 고려하지 않는다. 과연 Insturction 을 통해서, LLM 아키텍처로 저 작업을 할 수 있지 않을까 생각했다. 1) 유저 쿼리가 들어오면 LLM 은 문맥을 이해하고, 이 쿼리가 우리 지정해둔 카테고리중 어디로 호출 시킬지 판단을 해준다. 2) 그 후 OutputParsar를 통해서 값을 뽑아내고 그 값을 통해 Vector DB를 호출해서 시멘틱 서치를 한 후 , 컨텍스트로 가져오는 것이다 3) 컨텍스트기반의 리스폰을 출력한다. 이게 과연 W5500 , w6100 다양한 벡터에서 가져오려할때 어떤 아키텍처로 구성해야할까라는 생각이 들었다. 결국 모델의 예측값이 있기 때문에 쓰레쉬홀드로 설정해줘야하는것인지 감이 잘 오지 않는다.
일단 그냥 해봐야겠다. 뭐든 그냥하다보면 되기마련이고 고민보다 그냥하는것이 효율적이기 떄문에 어떻게든 되겠지..라는 생각이다
'AI > 개발일지' 카테고리의 다른 글
WIZnet 챗봇 개발일지 - 데이터 정제 과정 (0) | 2024.02.07 |
---|---|
챗봇 구축 방법론을 생각해보다 (4) | 2024.01.29 |
나만의 챗봇 Service해보기(2) : WIZnet Doc에 있는 데이터를 학습시키자! (4) | 2024.01.19 |
나만의 챗봇 Service해보기(1) - 결과부터 보자. (3) | 2024.01.18 |
[Simon] 챗봇개발일지 - (1) (25) | 2024.01.11 |