Page History
...
- GPT의 분석을 실시간 제공이아닌~ 인덱스된 최근항목을 제공하고 요청이 있을시 GPT의 최신 정보가 추가되어 다음 요청시 준비된 데이터를 제공하는 전략
- 유용한 고정 프롬프트가 100개이내이고 최근 정보를 효율적으로 전달할때 활용가능 전략
- GPT의 응답값을 검색엔진에 업데이트~
최종 적용
적용
Code Block | ||
---|---|---|
| ||
var elkCacheData = await _searchService.FindGptReultByFilter(gPTMetaData, 20);
GPTResponse gPTResponse = new GPTResponse();
if (elkCacheData.Count > 0)
{
gPTResponse.FromGPTResutEntity(elkCacheData[0]);
gPTResponse.isCache = true;
GPTResultEntityCmd gPTResultEntityCmd = new GPTResultEntityCmd()
{
command = "save",
prompt = promptBuild.ToString(),
gPTMetaData = gPTMetaData
};
_actorBridge.Tell(gPTResultEntityCmd);
}
else
{
gPTResponse = await _gPTEngine.GetChatCompletions(promptBuild.ToString(), gPTMetaData);
gPTResponse.isCache = false;
}
return gPTResponse; |
...
- GPT에 분석의뢰~
- 유사데이터가 최근에 있다고하면
- 유사데이터를 우선제공
- 액터를 사용하여~ 새로운 분석을 시도하고 결과를 저장 ( 다음에 이용됨 )
- 유사데이터가 없다고하면
- GPT에 의뢰하고 응답을 이용
- 모든 응답은 다음시도때 빠른 응답을 위해 분석결과를 신규로 저장
- CHATGPT를 활용하는 동일한 기능을 하는 유닛에 엘라스틱과 하이브리드로 적동하여 응답속도 1000ms 이하로 기능제공
- 응답시간이 긴경우 부분결과를 중간에 업데이트하는 Stream기능을 OpenAPI에서 지원합니다. - 사용성 추가 스트리밍 전략