보다 효과적인 프롬프트 작성

완료됨

Azure OpenAI 모델은 뛰어난 정확도로 자연어 쿼리에 대한 응답을 생성할 수 있습니다. 그러나 응답의 품질은 프롬프트가 얼마나 잘 작성되었는지에 따라 크게 달라집니다. 개발자는 프롬프트에서 다양한 기술을 사용하여 Azure OpenAI 모델의 성능을 최적화할 수 있으므로 보다 정확하고 관련성 있는 응답을 생성할 수 있습니다.

명확한 지침 제공

원하는 항목을 Azure OpenAI 모델에 명확하게 묻는 것은 원하는 결과를 얻는 한 방법입니다. 모델이 가능한 한 설명적일 경우 원하는 것과 가장 일치하는 응답을 생성할 수 있습니다.

예를 들어 새 물병에 대한 제품 설명을 만들려는 경우를 가정해 봅시다. 각 프롬프트와 관련된 답변을 고려합니다.

프롬프트

Write a product description for a new water bottle

응답

Introducing the latest addition to our product line - the innovative and eco-friendly water bottle.
Made from high-quality, BPA-free materials, this bottle is designed to keep your beverages at the
perfect temperature for hours. Its sleek and stylish design makes it the perfect accessory for any
outdoor activity or workout session. With its convenient carrying handle and leak-proof lid, you 
can take it with you wherever you go, without worrying about spills or leaks. Plus, its easy-to-clean
design ensures that you can use it again and again, making it the perfect choice for anyone looking 
for a reliable and sustainable water bottle.

명확한 지침이 있는 유사한 프롬프트와 비교합니다.

프롬프트

Write a product description for a new water bottle that is 100% recycled. Be sure to include that
it comes in natural colors with no dyes, and each purchase removes 10 pounds of plastic from our 
oceans

응답

Introducing our newest water bottle, the eco-friendly choice for the conscious consumer. Made from 
100% recycled materials and available in natural colors with no dyes, this bottle is not only 
stylish but also sustainable. Each purchase of this bottle removes 10 pounds of plastic from 
our oceans, making it a responsible choice for those who care about the environment. Its durable 
and leak-proof design makes it perfect for outdoor activities, while its easy-to-carry handle 
makes it convenient to take on the go. Join us in our mission to reduce plastic waste and choose 
this eco-friendly water bottle for your daily hydration needs.

포함해야 하는 세부 정보를 포함하면 모델이 설명에 추가할 정보를 알 수 있으므로 신제품에 대한 정확도가 높아집니다.

이 메서드는 포함할 세부 정보의 글머리 기호 목록, 응답 길이 또는 출력에 포함할 원하는 형식과 같은 복잡한 지침을 포함하도록 추정할 수 있습니다. 결과에 표시할 내용을 정확하게 요청하면 모델이 여러분의 요청을 얼마나 잘 충족하는지에 놀랄지도 모릅니다.

지침 형식

명령의 형식을 지정하는 방법은 모델이 프롬프트를 해석하는 방법에 영향을 미칠 수 있습니다. 회신 편향은 프롬프트 끝에 있는 정보가 시작 부분의 정보보다 출력에 더 많은 영향을 줄 수 있는 모델에 영향을 줄 수 있습니다. 프롬프트 끝에 있는 지침을 반복하고 생성된 응답에 미치는 영향을 평가하여 더 나은 응답을 얻을 수 있습니다.

이러한 회신 편향은 채팅 시나리오에서 ChatCompletion을(를) 사용할 때 발생할 수도 있습니다. 여기서 프롬프트에 포함된 대화의 최신 메시지는 응답에 더 큰 영향을 줍니다. 다음 단원에서는 대화를 사용하여 응답 품질을 개선하는 방법에 대해 자세히 설명합니다. 그러나 중요한 정보를 프롬프트 끝에 더 가깝게 배치하면 더 나은 응답을 받을 수 있습니다.

섹션 표식 사용

명령을 포맷팅하기 위한 특정 기술은 프롬프트의 시작 또는 끝에 있는 지침을 분할하고 사용자 콘텐츠가 --- 또는 ### 블록 내에 포함되도록 하는 것입니다. 이러한 태그를 사용하면 모델이 지침과 콘텐츠를 보다 명확하게 구분할 수 있습니다. 예:

Translate the text into French

---
What's the weather going to be like today?
---

참고

섹션 표식에 대한 모범 사례는 이후 버전에 따라 변경될 수 있습니다.

기본, 지원 및 그라운딩 콘텐츠

모델에 응답하는 데 사용할 콘텐츠를 포함하면 더 높은 정확도로 응답할 수 있습니다. 이 콘텐츠는 기본 콘텐츠와 지원 콘텐츠의 두 가지 방법으로 생각해 볼 수 있습니다.

기본 콘텐츠는 번역할 문장 또는 요약할 문서와 같이 쿼리의 주제인 콘텐츠를 나타냅니다. 이 콘텐츠는 프롬프트의 시작 또는 끝에 포함되는 경우가 많으며(명령으로 블록별로 --- 구분됨), 이를 사용하여 수행할 작업을 설명하는 지침이 포함되어 있습니다.

예를 들어 요약할 긴 문서가 있다고 가정해 봅시다. 프롬프트의 --- 블록에 넣은 다음 명령으로 끝날 수 있습니다.

---
<insert full article here, as primary content>
---

Summarize this article and identify three takeaways in a bulleted list

콘텐츠 지원은 응답을 변경할 수 있지만 프롬프트의 포커스 또는 주제가 아닌 콘텐츠입니다. 지원 콘텐츠의 예로는 이름, 기본 설정, 응답에 포함할 이후 날짜 등이 있습니다. 지원 콘텐츠를 제공하면 모델이 보다 완전하고 정확하게 응답하며 원하는 정보를 포함할 가능성이 높아질 수 있습니다.

예를 들어 매우 긴 홍보용 이메일이 제공되면 모델은 주요 정보를 추출할 수 있습니다. 그런 다음, 원하는 특정 항목을 지정하는 지원 콘텐츠를 프롬프트에 추가하면 모델이 더 유용한 응답을 제공할 수 있습니다. 이 경우 이메일은 기본 콘텐츠이며, 관심 있는 내용을 지원 콘텐츠로 지정합니다

---
<insert full email here, as primary content>
---
<the next line is the supporting content>
Topics I'm very interested in: AI, webinar dates, submission deadlines

Extract the key points from the above email, and put them in a bulleted list:

그라운딩 콘텐츠를 사용하면 모델이 답변을 그릴 수 있는 콘텐츠를 제공하여 신뢰할 수 있는 답변을 제공할 수 있습니다. 그라운딩 콘텐츠는 모델이 학습된 데이터보다 최근 정보 또는 회사 FAQ 문서 또는 질문형 에세이 또는 기사일 수 있습니다. 더 안정적이고 최신인 응답이 필요하거나 게시되지 않은 정보 또는 특정 정보를 참조해야 하는 경우 그라운딩 콘텐츠를 사용하는 것이 좋습니다.

그라운딩 콘텐츠는 요약 또는 번역과 같은 항목에 대해 작동하는 콘텐츠 대신 프롬프트 쿼리에 응답하는 정보의 원본이므로 기본 콘텐츠와 다릅니다. 예를 들어 AI의 역사에 대한 게시되지 않은 연구 논문을 제공하면 해당 그라운딩 콘텐츠를 사용하여 질문에 대답할 수 있습니다.

---
<insert unpublished paper on the history of AI here, as grounding content>
---

Where and when did the field of AI start?

그라운딩 데이터를 사용하면 모델이 학습된 데이터 세트의 일부가 아닐 수 있는 보다 정확하고 정보에 입각한 답변을 제공할 수 있습니다.

큐는 모델이 빌드할 수 있는 선행 단어이며, 종종 올바른 방향으로 응답을 형성하는 데 도움이 됩니다. 지침과 함께 사용되는 경우가 많지만 항상 그런 것은 아닙니다. 큐는 코드 생성을 위해 모델을 요청하는 경우에 특히 유용합니다. 현재 Azure OpenAI 모델은 몇 가지 흥미로운 코드 조각을 생성할 수 있지만 코드 생성은 향후 모듈에서 좀 더 자세히 설명합니다.

예를 들어 SQL 쿼리를 만드는 데 도움이 필요한 경우 쿼리의 시작 부분과 함께 필요한 사항에 대한 지침을 제공합니다.

Write a join query to get customer names with purchases in the past 30 days between tables named orders and customer on customer ID. 

SELECT

모델 응답은 특정 언어를 요청하지 않았음에도 불구하고 SQL에서 계속 프롬프트가 중단된 위치를 선택합니다. 다른 예로는 원하는 앱에 대한 코드 주석을 제공하고 프롬프트 끝에 import을(를) 선행 단어로 포함하거나 원하는 언어로 유사한 단어를 포함하여 Python 코드를 지원하는 것이 있습니다.

또 다른 예로, 많은 고객 검토 모음을 프롬프트에 표시하고 다음과 같이 끝맺습니다.

Summarize the reviews above:
Most common complaints:
- 

그러면 모델은 검토에 제공된 컨텍스트를 기반으로 설명을 완료합니다.