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 애플리케이션에서 즉시 사용할 수 있습니다.

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

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

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

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

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

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

퓨샷 예시 작성 가이드라인

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

다음은 일반적으로 예시 작성에 권장되는 방법입니다.

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

  • 복잡성: LLM이 더 나은 성능을 발휘하도록 하려면 복잡성이 낮은 예시를 사용하여 예상되는 추론을 보여주세요.

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

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

예시 사용 사례: 함수 호출

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

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

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

다음 단계