Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • GPT의 분석을 실시간 제공이아닌~ 인덱스된 최근항목을 제공하고  요청이 있을시 GPT의 최신 정보가 추가되어 다음 요청시 준비된 데이터를 제공하는 전략
    • 유용한 고정 프롬프트가 100개이내이고 최근 정보를 효율적으로 전달할때 활용가능 전략


  • GPT의 응답값을 검색엔진에 업데이트~  

최종 적용 


적용 

Code Block
themeEmacs
            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에서 지원합니다. - 사용성 추가 스트리밍 전략