Example Store 개요

Example Store를 사용하면 퓨샷 예시를 저장하고 동적으로 검색할 수 있습니다. 퓨샷 예시를 사용하면 LLM에 예상되는 응답 패턴을 보여줌으로써 유사한 쿼리에 대한 응답의 품질, 정확성, 일관성을 개선할 수 있습니다.

퓨샷(few-shot) 예시란 무엇인가요?

퓨샷 예시는 LLM 사용 사례에 맞는 라벨이 지정된 데이터입니다. 여기에는 모델 요청에 대한 예상 모델 응답을 보여주는 입력-출력 쌍이 포함됩니다. 예시를 사용하여 LLM의 예상 동작이나 대답 패턴을 보여줄 수 있습니다.

관련성 있는 몇 가지 예시만 사용하면 프롬프트의 크기나 복잡성을 늘리지 않고도 가능한 결과, 의도한 동작, 사용자 입력의 더 큰 집합을 처리할 수 있습니다. 이는 관련성 높은 예시만 포함하고 (예시의 수를 줄임) 예상되는 동작을 '말이 아니라 보여주'는 방식으로 모두 달성할 수 있습니다.

퓨샷 예시를 사용하는 것은 컨텍스트 내 학습의 형태 중 하나입니다. 예시는 모델이 콘텐츠를 생성하는 방법을 설명하지 않으면서 입력과 출력의 명확한 패턴을 보여줍니다. 프롬프트 크기나 코드 복잡성을 늘리지 않고도 비교적 적은 수의 예시를 사용하여 더 많은 가능한 결과나 사용자 쿼리를 처리할 수 있습니다. 예시를 사용해도 사전 학습된 모델의 파라미터를 업데이트할 필요가 없으며 LLM의 지식 범위에 영향을 미치지 않습니다. 따라서 예시를 사용한 인컨텍스트 학습은 보이지 않는 프롬프트에 대한 LLM의 추론 및 응답을 맞춤설정, 수정 또는 개선하는 비교적 가볍고 간결한 접근 방식입니다.

사용자 쿼리를 대표하는 관련 예시를 수집하면 모델이 주의를 유지하고, 예상되는 패턴을 보여주고, 잘못되거나 예상치 못한 동작을 수정하는 데 도움이 됩니다. 이는 예상 응답을 반환하는 다른 요청에는 영향을 미치지 않습니다.

모든 프롬프트 엔지니어링 전략과 마찬가지로 퓨샷 예시를 사용하면 미세 조정 또는 RAG와 같은 다른 LLM 최적화 기술을 보완할 수 있습니다.

Example Store 사용 방법

다음 단계에서는 Example Store를 사용하는 방법을 간략히 설명합니다.

  1. ExampleStore 리소스('Example Store 인스턴스'라고도 함)를 만들거나 재사용합니다.

    • 리전 및 프로젝트마다 최대 50개의 Example Store 인스턴스를 보유할 수 있습니다.
  2. LLM 응답을 기반으로 예시를 작성하고 업로드합니다. 다음과 같은 두 가지 시나리오가 있습니다.

    • LLM의 동작 및 응답 패턴이 예상대로면 이러한 응답을 기반으로 예시를 작성하고 Example Store 인스턴스에 업로드합니다.

    • LLM에 예상치 못한 동작이나 응답 패턴이 표시되면 응답을 수정하는 방법을 보여주는 예시를 작성한 후 Example Store 인스턴스에 업로드합니다.

  3. 업로드된 예시는 Example Store 인스턴스와 연결된 에이전트 또는 LLM 애플리케이션에서 즉시 사용할 수 있습니다.

    • 에이전트 개발 키트 (ADK)를 기반으로 하는 에이전트가 Example Store 인스턴스에 연결된 경우 에이전트는 예시를 자동으로 검색하여 LLM 요청에 포함합니다.

    • 다른 모든 LLM 애플리케이션의 경우 예시를 검색하고 가져온 후 프롬프트에 포함해야 합니다.

LLM에서 예상치 못한 성능이 관찰되거나 악의적이거나 예상치 못한 사용자 쿼리가 발생할 때마다 Example Store 인스턴스에 예시를 반복적으로 추가할 수 있습니다. 코드를 업데이트하거나 LLM 애플리케이션의 새 버전을 다시 배포할 필요가 없습니다. 예시를 Example Store 인스턴스에 업로드하는 즉시 에이전트 또는 애플리케이션에서 사용할 수 있습니다.

또한 다음을 수행할 수 있습니다.

  • 저장된 예시의 검색 키와 쿼리의 검색 키 간에 코사인 유사성 검색을 수행하여 예시를 검색합니다.

  • 함수 이름으로 예시를 필터링하고 후보 예시 목록을 LLM의 가능한 응답을 나타내는 예시로 미세 조정합니다.

  • 에이전트 또는 LLM 애플리케이션을 반복적으로 개선합니다.

  • 여러 에이전트 또는 LLM 애플리케이션과 예시를 공유합니다.

퓨샷 예시 작성 가이드라인

예시가 모델 성능에 미치는 영향은 프롬프트에 포함된 예시의 종류와 포함 방식에 따라 달라집니다.

다음은 예시를 작성할 때 일반적으로 권장되는 관행입니다.

  • 관련성 및 유사성: 예시는 특정 태스크 또는 도메인과 밀접하게 관련되어야 합니다. 이렇게 하면 모델이 지식의 가장 관련성 높은 측면에 집중하고 토큰 사용량을 줄이며 성능을 유지하거나 개선할 수 있습니다. 대화와 관련된 예시가 있으면 더 적은 예시가 필요합니다. 사용 가능한 예시의 코퍼스는 가능한 사용자 쿼리를 대표해야 합니다. 또한 예시는 주어진 사용자 쿼리와 관련이 있어야 합니다.

  • 복잡성: LLM의 성능을 향상시키려면 복잡성이 낮은 예시를 사용하여 예상되는 추론을 보여줍니다.

  • 가능한 모델 결과의 대표성: 예시의 예상 대답은 가능한 결과와 일치해야 합니다. 이렇게 하면 프롬프트에 대한 LLM의 예상 추론과 일치하는 추론을 예시에서 명확하게 보여줄 수 있습니다.

  • 형식: 최상의 성능을 위해 프롬프트의 퓨샷 예시를 LLM 학습 데이터와 일치하고 대화 기록과 구분되는 방식으로 형식을 지정합니다. 프롬프트의 예시 형식은 LLM 성능에 상당한 영향을 미칠 수 있습니다.

예시 사용 사례: 함수 호출

퓨샷 예시를 사용하여 함수 호출 성능을 개선할 수 있습니다. 일관된 패턴으로 사용자 쿼리에 대해 예상되는 함수 호출을 나타낼 수 있습니다. 이 예시에서는 호출해야 하는 함수와 함수 호출에 포함할 인수를 포함하여 요청에 대한 예상 응답을 모델링할 수 있습니다. get_store_location 함수가 매장 위치와 설명을 반환하는 사용 사례를 생각해 보겠습니다. 쿼리가 이 함수를 예상대로 호출하지 않거나 예기치 않은 출력을 표시하는 경우 퓨샷 예시를 사용하여 후속 쿼리에 대해 이 동작을 수정할 수 있습니다.

함수 호출에 대한 자세한 내용은 함수 호출을 참조하세요.

자세한 내용은 Example Store 빠른 시작을 참고하세요.

다음 단계