안녕하세요,
HCX를 활용한 통화 분석을 테스트해보고 있는 유저입니다. 다름이 아니라, HCX 활용 중에 질문이 생겨 문의드리게 되었습니다.
우선 제 현 상황에 대해 말씀드리겠습니다.
HCX의 통화 분석 성능을 확인하기 위해 플레이그라운드에서 아래와 같이 총 2400자 가량의 프롬프트를 작성하였고, 플레이그라운드 상에서 이뤄진 대화는 준수한 답변을 얻었습니다.
역할 정의
평가 지표
<답변 예시>
사용자: <질문>
AI: <답변>
위 프롬프트를 기반으로 생성된 테스트 앱에서 아래와 같이 preset_text가 생성됐습니다. 저는 user 입력을 추가해 새로운 질문에 대한 답변을 요청했습니다.
{"role":"system","content": <역할 정의> <평가 지표>},
{"role":"user","content": <사용자 질문>},
{"role":"assistant","content": <예시 답변>},
{"role":"user","content": <Input 질문>}
그러나 질문을 입력하고 실행했을 때, 텍스트 길이 초과로 에러가 발생하였습니다. 맥스 토큰은 최대인 4096으로 설정한 상태입니다.
event:error
data:{"status":{"code":"40003","message":"Text too long"}}
여기서 몇 가지 질문이 있는데요,
1. 플레이그라운드와 API로 호출한 HCX의 토큰 제한에 차이가 있나요? API에선 플레이그라운드에서 작성한 프롬프트만 입력해도 Text too long 에러가 발생합니다.
1-1. 토큰의 길이에 프리셋 텍스트 내용도 포함되는 걸까요? 플레이그라운드 설명에 "결괏값을 생성할 때~" 라고 설명되어 입력 토큰 제한은 없다고 생각했습니다. 만약 그렇다면, 프롬프트 설명이 길고 상세할수록 답변은 상대적으로 짧아질 수 밖에 없지 않나요?
2. HCX가 {"role":"assistant", "content": <예시 답변>}에서 예시 답변과 동일한 포맷의 답변을 반환하길 원해서 system -> user -> assistant -> user(실제 input) 순으로 프리셋 텍스트를 설정했습니다. 간단히 답변 형식만 정해주는 수준이라면 올바른 사용 방식이 맞나요? 텍스트 초과로 답변을 볼 수 없었지만, 플레이그라운드 상에선 프롬프트의 예시만으로 원하는 형식으로 답변이 잘 출력되긴 했습니다.
3. 현 상황에서 튜닝이 필요한지에 대한 고민이 있습니다. 튜닝을 하면 예시 답변을 넣지 않아 토큰 절약에 도움은 될 것 같습니다. 그러나 1. 답변 형식이 단순해서 프롬프트만으로 출력이 가능하다는 점, 2. 튜닝을 할만큼 많은 데이터가 없다는 점, 3. 예시 답변의 길이가 길지 않고 역할 정의와 평가 지표에 대한 설명이 길다는 점 등으로 그 효용이 크진 않을 것 같다는 것이 개인적인 생각입니다. 이 부분에 대해 어떻게 생각하시는지 궁금합니다.
4. 입력으로 통화 내역을 넣다보니 Input 자체가 길다는 특징이 있습니다. 이렇게 토큰이 초과되는 상황은 어떻게 핸들링해야 할까요? 사용 가능한 최대 토큰을 더 늘릴 수는 없을까요?
지식이 짧아 두서 없이 많은 질문을 드리게 됐습니다. 아무쪼록 답변 주시면 많은 도움이 될 것 같습니다.
감사합니다.