llm prompting practices ja
2024.03.12
고품질 참조 자료를 기반으로 LLM (대규모 언어 모델) 프롬프트를 만들기위한 팁을 쉽게 컴파일했습니다.
개요 만 제공됩니다. 자세한 내용은 각 문서를 참조하십시오.
출판 된 자료를 통해 신속한 엔지니어링 기술을 어느 정도 배울 수 있습니다. 신속한 엔지니어링에 관한 코스, 상품 또는 예약 (정보가 거의없는 사람들)에 대한 코스 구매를 고려하고 있다면 먼저이 자료를 읽으십시오.
프롬프트 엔지니어링 - OpenAI API
6 가지 전략
- 명확한 지침을 작성하십시오
- 세부 사항을 포함하십시오
- 페르소나를 할당하십시오
- 입력 문의 다른 부분을 명확하게 나눕니다
- 작업을 완료하는 데 필요한 단계를 지정하십시오
- 예를 제시하십시오
- 원하는 대답의 길이를 지정하십시오
- 참조 텍스트를 제공합니다
- 참조 텍스트를 사용하여 응답하도록 지시합니다
- 참조 텍스트의 견적으로 압축을 풀도록 지시하십시오.
- 복잡한 작업을 간단한 하위 작업으로 나눕니다
- 의도 분류를 사용하여 사용자의 쿼리에 대한 고도로 관련된 지침을 식별하십시오.
- 매우 긴 대화가 필요한 대화식 응용 프로그램에서 이전 상호 작용을 요약하거나 필터링하십시오.
- 긴 문서는 조각에 요약 된 다음 전체 요약을 재귀 적으로 구성했습니다.
- 모델에 생각할 시간을줍니다
- 결론에 뛰어 들기 전에 모델 자체에 솔루션을 찾도록 알리십시오.
- 내부 독백과 일련의 쿼리를 사용하여 모델의 추론 프로세스 숨기기
- 이전 패스에서 누락 된 것이 있는지 모델에게 물어보십시오.
- 외부 도구를 사용하십시오
- 임베딩 기반 검색을 사용하여 효율적인 지식 리트리 벨을 수행하십시오
- 코드 실행을 사용하여보다 정확한 계산 및 외부 API 통화를 수행하십시오.
- 모델에 특정 기능에 액세스하십시오
- 변경 사항을 체계적으로 테스트하십시오
- 골드 표준 답변을 사용하여 모델의 출력을 평가하십시오
신속한 디자인 전략 | 개발자를위한 Google AI
신속한 디자인 전략
- 명확하고 구체적인 지침을 제공하십시오
- 수행 할 작업을 정의하십시오
- 모든 제약 조건을 지정합니다
- 답의 형식을 정의하십시오
- 몇 가지 예를 포함하십시오
- 제로 샷과 소수의 프롬프트
- 최적의 예제를 찾으십시오
- 예는 방지 방지 대신 패턴을 보여주는 데 사용됩니다.
- 제시된 예제는 일관된 형식을 사용합니다
- 문맥 정보를 추가합니다
- 접두사를 추가하십시오
- 입력 접두사
- 출력 접두사
- 예제 접두사
- 모델을 부분적으로 입력하여 완료하십시오
- 고장은 간단한 구성 요소로 프롬프트합니다
- 지침을 분류하십시오
- 프롬프트 체인 생성 (다음 프롬프트의 입력으로 이전 프롬프트의 출력을 만듭니다)
- 집계 응답
- 다른 매개 변수 값을 시도하십시오
- 최대 출력 토큰
- 온도
- Top-K
- 상위 P
- 신속한 개선주기 전략
- 다른 문구를 사용하십시오
- 비슷한 작업으로 전환하십시오
- 프롬프트 컨텐츠를 재정렬하십시오
- 폴백 응답
- 피해야 할 것들
- 사실 정보를 생성하기 위해 모델에 의존하지 마십시오
- 주의해서 수학 및 논리 문제를 사용하십시오
일반 AI |에 대한 프롬프트 엔지니어링 기계 학습 | 개발자를위한 Google
AI 생성을위한 신속한 엔지니어링
신속한 생성 모범 사례
- 어떤 컨텐츠와 정보가 가장 중요한지 명확하게 전달하십시오.
- 프롬프트 구조 : 역할 정의로 시작하고 컨텍스트 및 입력 데이터를 제공하며 지침을 제공하십시오.
- 콘크리트 및 다양한 예제를 사용하여 모델이 초점으로 정확한 결과를 생성 할 수 있도록하십시오.
- 모델의 출력 범위를 제한하기위한 제약 조건을 제공하십시오. 그렇게하면 지침에서 벗어나 부정확 한 정보를 제공하지 않습니다.
- 복잡한 작업은 간단한 시퀀스로 나뉩니다.
- 모델에 모델을 생성하기 전에 자신의 답변을 평가하고 확인하도록 지시하십시오 ( "응답은 3 문장 내에 있어야합니다", "1-10의 척도에서 출력의 간결성을 평가하십시오."
프롬프트 유형
- 직접 프롬프트 (제로 샷)
- 예제와 함께 프롬프
- 침대 (사슬의 사슬) 프롬프트
- 제로 샷 침대
- 신속한 개선주기 전략
프롬프트 엔지니어링
- 작업 및 성공 기준을 정의합니다
- 고려해야 할 주요 성공 기준
- 성능과 정확성
- 숨어 있음
- 가격
- 테스트 케이스를 만듭니다
- 임시 프롬프트를 만듭니다
- 테스트 케이스에서 프롬프트를 시도하십시오
- 프롬프트를 개선하십시오
- 4 단계로 돌아와 개선 사항을 반복하십시오
- 세련된 프롬프트 방출
가장 유능한 모델과 긴 프롬프트로 시작하여 원하는 출력 품질을 갖기 위해서는 대기 시간 및 비용 절감을 위해 더 작은 모델 또는 짧은 프롬프트를 사용해보십시오.
신속한 엔지니어링 기술
- 명확하고 직접 말하십시오
- 예제를 사용하십시오
- 모델에 역할을합니다
- XML 태그 사용 (Claude 특이점)
- 큰 프롬프트를 분리하십시오
- 모델을 단계별로 생각하게하십시오
- 예상 출력의 시작을 지정하십시오
- 출력 형식을 지정합니다
- 다시 작성하십시오
- 컨텍스트가 긴 모델이이를 활용합니다
프롬프트 엔지니어링 가이드
LLM 설정
이름 설명 온도 무작위성의 정도. 온도 증가는 무작위성을 증가시키는 반면, 무작위성은 낮아집니다. 상단 p 핵 샘플링이라는 샘플링 방법. 상단 P가 높을수록 반응의 다양성이 증가합니다. 최대 길이 답의 최대 길이. 단위는 토큰 및 문자 수와 같은 모델에 따라 다릅니다. 순서를 중지하십시오 답변 생성을 중지하는 문자열 패턴. 주파수 페널티 특정 토큰의 발생 빈도에 대한 벌금. 존재 페널티 모든 토큰 발생 빈도에 대한 페널티. 프롬프트 구성 요소
다음을 프롬프트의 구성 요소로 고려하십시오.
이름 일본어 설명 지침 지침 모델링하려는 작업 문맥 문맥 외부 정보 및 추가 컨텍스트 입력 데이터 입력 데이터 답변을 요청하는 입력 및 질문 출력 표시기 출력 표시기 출력 유형 및 형식 일반적인 팁
- 간단히 시작하고 개선 사항을 반복하십시오
- 순서대로 요청을 지시합니다
- 구체적으로 직접
- 부정확성을 피하십시오
- "이것은"이것을하지 마라 "보다는 그것이 어떻게"입니다. "
신속한 창조 기술
- 제로 샷 프롬프트
- 소수의 프롬프트
- 침대 (사슬의 사슬) 프롬프트
- 일관성
- 생성 된 지식 프롬프트
- 프롬프트 체인
- Tot (생각의 나무)
- 헝겊 (검색 강화 세대)
- 예술 (자동 추론 및 도구 사용)
- APE (자동 프롬프트 엔지니어)
- 능동적 인 프롬프트
- 방향 자극 프롬프트
- PAL (프로그램 보조 언어 모델)
- 반응 프롬프트
- 감상
- 멀티 모달 침대 프롬프트
- GraphPrompt
위험과 오용
- 적대적인 프롬프트 (신속한 공격)
- 신속한 주입
- 프롬프트 왕
- 탈옥 (탈옥)
- 진실
- 편견