다음을 통해 공유


텍스트를 생성하거나 조작하는 방법 알아보기

Azure OpenAI Service는 다양한 작업에 사용할 수 있는 완료 엔드포인트를 제공합니다. 엔드포인트는 모든 Azure OpenAI 모델에 단순하면서도 강력한 텍스트 입력, 텍스트 출력 인터페이스를 제공합니다. 완료를 트리거하려면 일부 텍스트를 프롬프트로 입력합니다. 모델은 완료를 생성하고 컨텍스트 또는 패턴과 일치시키려고 시도합니다. API에 "데카르트가 말했듯이, 나는 생각한다 고로"라는 프롬프트를 제공한다고 가정해 보겠습니다. 이 프롬프트의 경우 Azure OpenAI에서 완료 엔드포인트 "나는 존재한다"를 반환할 확률이 높습니다.

완료 탐색을 시작하는 가장 좋은 방법은 Azure OpenAI Studio의 플레이그라운드를 사용하는 것입니다. 완료를 생성하기 위해 프롬프트를 입력할 수 있는 간단한 텍스트 상자입니다. 다음과 같은 간단한 프롬프트로 시작할 수 있습니다.

write a tagline for an ice cream shop

프롬프트를 입력하면 Azure OpenAI가 완료를 표시합니다.

we serve up smiles with every scoop!

Azure OpenAI API는 각 상호 작용에 대한 새 출력을 생성하므로 표시되는 완료 결과가 다를 수 있습니다. 프롬프트가 동일하게 유지되더라도 API를 호출할 때마다 약간 다른 완료가 표시될 수 있습니다. Temperature 설정으로 이 동작을 제어할 수 있습니다.

간단한 텍스트 입력, 텍스트 출력 인터페이스는 지침이나 수행하려는 작업의 몇 가지 예를 제공하여 Azure OpenAI 모델을 "프로그래밍"할 수 있음을 의미합니다. 출력 성공 여부는 일반적으로 작업의 복잡성과 프롬프트의 품질에 달려 있습니다. 일반적인 규칙은 십대 초반 학생이 풀 수 있는 단어 문제를 어떻게 쓸 것인지 생각하는 것입니다. 잘 작성된 프롬프트는 모델이 원하는 것과 응답하는 방법을 알 수 있는 충분한 정보를 제공합니다.

참고 항목

모델 학습 데이터는 각 모델 유형에 따라 다를 수 있습니다. 최신 모델의 학습 데이터는 현재 2021년 9월까지만 연장됩니다. 프롬프트에 따라 모델에 관련 현재 이벤트에 대한 지식이 없을 수도 있습니다.

디자인 프롬프트

Azure OpenAI Service 모델은 원래 스토리 생성에서 복잡한 텍스트 분석 수행에 이르기까지 모든 작업을 수행할 수 있습니다. 해당 모델은 많은 작업을 수행할 수 있기 때문에 사용자가 원하는 것을 분명히 보여 주어야 합니다. 단순히 말하는 것이 아니라 보여 주는 것이 좋은 프롬프트의 비결인 경우가 많습니다.

모델은 프롬프트에서 원하는 것을 예측하려고 합니다. "고양이 품종 목록을 주세요"라는 프롬프트를 입력하면 모델은 자동으로 사용자가 목록만 요청한다고 가정하지 않습니다. 첫 단어가 "고양이 품종 목록을 주세요", "좋아하는 품종을 알려드릴게요."인 대화를 시작할 수 있습니다. 사용자가 고양이 목록만 원한다고 모델이 가정했다면 이는 콘텐츠 만들기, 분류 또는 기타 작업에 적합하지 않을 것입니다.

강력한 프롬프트를 만들기 위한 지침

유용한 프롬프트를 만드는 데에는 세 가지 기본 지침이 있습니다.

  • 표시하고 설명합니다. 지침, 예 또는 이 둘의 조합을 통해 원하는 것을 분명히 합니다. 모델에서 항목 목록의 순위를 사전순으로 지정하거나 감정별로 단락을 분류하려면 이러한 세부 정보를 프롬프트에 포함하여 모델을 표시합니다.

  • 품질 데이터를 제공합니다. 분류자를 만들거나 모델이 패턴을 따르도록 하려면 충분한 예제가 있는지 확인합니다. 예제를 교정해야 합니다. 이 모델은 기본적인 맞춤법 오류를 해결하고 의미 있는 응답을 제공할 만큼 충분히 똑똑합니다. 반대로 모델은 실수가 의도적이라고 가정하여 응답에 영향을 줄 수 있습니다.

  • 설정을 확인합니다. TemperatureTop P와 같은 가능성 설정은 모델이 응답을 생성할 때 얼마나 결정적인지를 제어합니다. 정답이 하나만 있는 응답을 요청하는 경우 이러한 설정에 대해 더 낮은 값을 지정해야 합니다. 명확하지 않은 응답을 찾고 있다면 더 높은 값을 사용하는 것이 좋습니다. 사용자가 이러한 설정을 사용할 때 저지르는 가장 일반적인 실수는 모델 응답에서 "영리함" 또는 "창의성"을 제어한다고 가정하는 것입니다.

프롬프트 문제 해결

API가 예상대로 수행되도록 하는 데 문제가 있는 경우 구현을 위해 다음 사항을 검토합니다.

  • 의도한 생성이 무엇인지 명확하나요?
  • 충분한 예가 있나요?
  • 예에서 실수를 확인했나요? (API는 직접적으로 알려주지 않습니다.)
  • TemperatureTop P 가능성 설정을 올바르게 사용하고 있나요?

텍스트 분류

API로 텍스트 분류자를 만들기 위해 작업에 대한 설명과 몇 가지 예제를 제공합니다. 이 데모에서는 문자 메시지의 감정을 분류하는 방법을 API에게 보여 줍니다. 감정은 텍스트의 전반적인 느낌이나 표현을 나타냅니다.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies." 
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message: "This new music video is unreal"
Sentiment:

텍스트 분류자를 디자인하기 위한 지침

이 데모에서는 분류자를 디자인하기 위한 몇 가지 지침을 보여 줍니다.

  • 일반 언어를 사용하여 입력 및 출력을 설명합니다. 입력 "메시지"와 "감정"을 나타내는 예상 값에 일반 언어를 사용하세요. 모범 사례의 경우에 일반 언어 설명으로 시작합니다. 프롬프트를 작성할 때 축약형 또는 키를 사용하여 입력 및 출력을 나타낼 수 있지만 가능한 한 설명적으로 시작하는 것이 가장 좋습니다. 그런 다음 프롬프트에 대한 성능이 일관되는 한 거꾸로 작업하고 추가 단어를 제거할 수 있습니다.

  • 모든 사례에 응답하는 방법을 API에 표시합니다. 데모는 "긍정", "부정", "중립"과 같은 여러 결과를 제공합니다. 인간조차도 어떤 것이 긍정적인지 부정적인지 판단하는 데 어려움을 겪는 경우가 많기 때문에 중립적인 결과를 지지하는 것이 중요합니다.

  • 일반적인 표현에 따라 이모지와 텍스트를 사용합니다. 데모에서는 분류자가 텍스트와 이모지 👍의 혼합일 수 있음을 보여 줍니다. API는 이모티콘을 읽고 식을 이모티콘으로 변환하거나 이모티콘 간에 변환할 수도 있습니다. 최상의 응답을 위해 예제에 일반적인 표현 형식을 사용합니다.

  • 익숙한 작업에 더 적은 예제를 사용합니다. API가 이미 감정과 문자 메시지의 개념을 이해하고 있기 때문에 이 분류자에서는 몇 가지 예제만 제공합니다. API에 익숙하지 않을 수 있는 항목에 대한 분류자를 빌드하는 경우 더 많은 예를 제공해야 할 수 있습니다.

단일 API 호출의 여러 결과

이제 분류자를 구축하는 방법을 이해했으므로 첫 번째 데모를 확장하여 더 효율적으로 만들어 보겠습니다. 분류자를 사용하여 단일 API 호출에서 여러 결과를 다시 가져올 수 있어야 합니다.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies"
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message text
1. "I loved the new adventure movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video is unreal"

Message sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive

Message text
1. "He doesn't like homework"
2. "The taxi is late. She's angry 😠"
3. "I can't wait for the weekend!!!"
4. "My cat is adorable ❤️❤️"
5. "Let's try chocolate bananas"

Message sentiment ratings:
1.

이 데모에서는 API가 감정별로 문자 메시지를 분류하는 방법을 보여 줍니다. 번호가 매겨진 메시지 목록과 동일한 숫자 인덱스를 가진 감정 등급 목록을 제공합니다. API는 첫 번째 데모의 정보를 사용하여 단일 문자 메시지에 대한 감정을 분류하는 방법을 알아봅니다. 두 번째 데모에서 모델은 문자 메시지 목록에 감정 분류를 적용하는 방법을 알아봅니다. 이 접근 방식을 사용하면 API가 단일 API 호출에서 5개(또는 그 이상)의 문자 메시지를 평가할 수 있습니다.

Important

API에 목록을 만들거나 텍스트를 평가하도록 요청하는 경우 API가 드리프트를 방지하도록 돕는 것이 중요합니다. 따라야 할 몇 가지 사항은 다음과 같습니다.

  • Top P 또는 Temperature 가능성 설정의 값에 주의합니다.
  • 여러 테스트를 실행하여 가능성 설정이 올바르게 보정되었는지 확인합니다.
  • 긴 목록을 사용하지 마세요. 목록이 길면 드리프트가 발생할 수 있습니다.

아이디어 트리거

API로 수행할 수 있는 가장 강력하면서도 가장 간단한 작업 중 하나는 새로운 아이디어나 입력 버전을 생성하는 것입니다. 미스터리 소설을 쓰고 있고 스토리 아이디어가 필요하다고 가정해 보겠습니다. API에 몇 가지 아이디어 목록을 제공하면 목록에 더 많은 아이디어를 추가할 수 있습니다. API는 몇 가지 예제에서 비즈니스 플랜, 문자 설명, 마케팅 슬로건 등을 만들 수 있습니다.

다음 데모에서는 API를 사용하여 교실에서 가상 현실을 사용하는 방법에 대한 더 많은 예제를 만들 수 있습니다.

Ideas involving education and virtual reality

1. Virtual Mars
Students get to explore Mars via virtual reality and go on missions to collect and catalog what they see.

2.

이 데모에서는 하나의 목록 항목과 함께 목록에 대한 기본 설명을 API에 제공합니다. 그런 다음 불완전한 프롬프트 "2"를 사용하여 API에서 응답을 트리거합니다. API는 불완전한 항목을 유사한 항목을 생성하여 목록에 추가하라는 요청으로 해석합니다.

아이디어를 트리거하기 위한 지침

이 데모에서는 간단한 프롬프트를 사용하지만 새로운 아이디어를 트리거하기 위한 몇 가지 지침을 강조 표시합니다.

  • 목록의 의도를 설명합니다. 텍스트 분류자에 대한 데모와 유사하게 먼저 API에 목록의 내용을 알려줍니다. 이 접근 방식을 사용하면 API가 텍스트를 분석하여 패턴을 확인하는 대신 목록을 완료하는 작업에 중점을 둘 수 있습니다.

  • 목록의 항목에 대한 패턴을 설정합니다. 한 문장으로 된 설명을 제공하면 목록의 새 항목을 생성할 때 API가 이 패턴을 따르려고 합니다. 더 자세한 응답을 원하는 경우 API에 대한 보다 자세한 텍스트를 입력하여 의도를 설정해야 합니다.

  • 불완전한 항목으로 API에 메시지를 표시하여 새 아이디어를 트리거합니다. API가 프롬프트 텍스트 "2.,"와 같이 불완전해 보이는 텍스트를 발견하면 먼저 항목을 완료할 수 있는 텍스트를 확인하려고 합니다. 데모에는 목록 제목 및 숫자 "1."과 텍스트가 있는 예제가 있었기 때문에 API는 불완전한 프롬프트 텍스트 "2."를 목록에 항목을 계속 추가하기 위한 요청으로 해석했습니다.

  • 고급 생성 기술을 살펴봅니다. 프롬프트에서 더 길고 다양한 목록을 만들어 응답의 품질을 개선시킬 수 있습니다. 한 가지 접근 방식은 하나의 예제로 시작하여 API가 더 많은 예제를 생성하도록 한 다음 가장 마음에 드는 예제를 선택하여 목록에 추가하는 것입니다. 예제에서 몇 가지 고품질 변형을 더 추가하면 응답의 품질을 크게 개선시킬 수 있습니다.

대화 수행

GPT-35-Turbo 및 GPT-4의 릴리스부터 채팅 완료 엔드포인트를 지원하는 모델을 사용하여 대화형 생성 및 챗봇을 만드는 것이 좋습니다. 채팅 완료 모델 및 엔드포인트에는 완료 엔드포인트와 다른 입력 구조가 필요합니다.

API는 인간과의 대화, 심지어 자신과의 대화도 능숙하게 수행합니다. 몇 줄의 지침만으로 API가 당황하지 않고 질문에 지능적으로 답변하는 고객 서비스 챗봇이나 농담과 말장난을 하는 현명한 대화 파트너 역할을 수행할 수 있습니다. 핵심은 API가 어떻게 동작해야 하는지 알려주고 몇 가지 예를 제공하는 것입니다.

이 데모에서 API는 질문에 답변하는 AI의 역할을 제공합니다.

The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: 

재미있고 유용한 가상 도우미 "Cramer"라는 챗봇의 변형을 살펴보겠습니다. API가 역할의 특성을 이해하는 데 도움이 되도록 몇 가지 질문과 답변의 예를 제공합니다. 필요한 것은 단지 몇 가지 냉소적인 응답이며 API는 패턴을 선택하고 끝없이 유사한 응답을 제공할 수 있습니다.

Cramer is a chatbot that reluctantly answers questions.

###
User: How many pounds are in a kilogram?
Cramer: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
###
User: What does HTML stand for?
Cramer: Was Google too busy? Hypertext Markup Language. The T is for try to ask better questions in the future.
###
User: When did the first airplane fly?
Cramer: On December 17, 1903, Wilbur and Orville Wright made the first flights. I wish they'd come and take me away.
###
User: Who was the first man in space?
Cramer: 

대화 디자인 지침

이 데모에서는 대화가 가능한 챗봇을 얼마나 쉽게 만들 수 있는지를 보여 줍니다. 간단해 보이지만 이 접근 방식은 다음과 같은 몇 가지 중요한 지침을 따릅니다.

  • 대화의 의도를 정의합니다. 다른 프롬프트와 마찬가지로 API에 대한 상호 작용의 의도를 설명합니다. 이 경우에는 "대화"입니다. 이 입력은 초기 의도에 따라 후속 입력을 처리하도록 API를 준비합니다.

  • API에 동작 방법을 알려줍니다. 이 데모의 핵심 세부 사항은 API가 상호 작용하는 방법에 대한 명시적 지침입니다. "도우미는 유용하고, 창의적이며, 영리하고, 매우 친절합니다." 사용자의 명시적인 지침이 없으면 API는 방향을 잃고 상호 작용하는 인간을 모방하게 될 수 있습니다. API가 비우호적이 되거나 다른 바람직하지 않은 동작을 나타낼 수 있습니다.

  • API에 ID를 제공합니다. 처음에는 API가 OpenAI에서 만든 AI로 응답하게 됩니다. API에는 고유한 ID가 없지만 문자 설명은 API가 가능한 한 진실에 가까운 방식으로 응답하는 데 도움이 됩니다. 문자 ID 설명을 다른 방법으로 사용하여 다양한 종류의 챗봇을 만들 수 있습니다. 생물학 연구 과학자로서 API에 응답하도록 지시하면 API에서 해당 백그라운드를 가진 사람에게 기대하는 것과 유사한 지능적이고 사려 깊은 의견을 받을 수 있습니다.

텍스트 변환

API는 단어와 문자 ID를 사용하여 정보를 표현할 수 있는 다양한 방법에 익숙한 언어 모델입니다. 지식 데이터는 텍스트를 자연어에서 코드로 변환하고 다른 언어와 영어 간 번역을 지원합니다. API는 또한 콘텐츠를 다양한 방식으로 요약, 변환, 표현할 수 있는 수준에서 콘텐츠를 이해할 수 있습니다. 몇 가지 예를 살펴보겠습니다.

한 언어에서 다른 언어로 번역

이 데모에서는 영어 구를 프랑스어로 변환하는 방법을 API에 지시합니다.

English: I do not speak French.
French: Je ne parle pas français.
English: See you later!
French: À tout à l'heure!
English: Where is a good restaurant?
French: Où est un bon restaurant?
English: What rooms do you have available?
French: Quelles chambres avez-vous de disponible?
English:

이 예제는 API가 이미 프랑스어를 이해하고 있기 때문에 작동할 수 있습니다. API에 언어를 가르치려고 할 필요가 없습니다. API가 한 언어에서 다른 언어로 변환하라는 요청을 이해하는 데 도움이 되는 충분한 예제를 제공하기만 하면 됩니다.

영어에서 API가 인식하지 못하는 언어로 번역하려면 API에 더 많은 예제와 유창한 번역을 생성할 수 있는 미세 조정된 모델을 제공해야 합니다.

텍스트와 이모지 간 변환

이 데모에서는 동영상의 이름을 텍스트에서 이모지 문자로 변환합니다. 이 예제에서는 패턴을 선택하고 다른 문자로 작업하는 API의 적응성을 보여 줍니다.

Carpool Time: 👨👴👩🚗🕒
Robots in Cars: 🚗🤖
Super Femme: 👸🏻👸🏼👸🏽👸🏾👸🏿
Webs of the Spider: 🕸🕷🕸🕸🕷🕸
The Three Bears: 🐻🐼🐻
Mobster Family: 👨👩👧🕵🏻‍♂️👲💥
Arrows and Swords: 🏹🗡🗡🏹
Snowmobiles:

텍스트 요약

API는 텍스트의 컨텍스트를 파악하고 이를 다양한 방식으로 바꿀 수 있습니다. 이 데모에서 API는 텍스트 블록을 사용하여 초등학생이 이해할 수 있는 설명을 만듭니다. 이 예제에는 API가 언어에 대한 깊은 이해를 가지고 있음을 보여 줍니다.

My ten-year-old asked me what this passage means:
"""
A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich.[1] Neutron stars are the smallest and densest stellar objects, excluding black holes and hypothetical white holes, quark stars, and strange stars.[2] Neutron stars have a radius on the order of 10 kilometres (6.2 mi) and a mass of about 1.4 solar masses.[3] They result from the supernova explosion of a massive star, combined with gravitational collapse, that compresses the core past white dwarf star density to that of atomic nuclei.
"""

I rephrased it for him, in plain language a ten-year-old can understand:
"""

텍스트 요약을 작성하기 위한 지침

텍스트 요약에는 API에 대량의 텍스트를 제공하는 경우가 많습니다. 큰 텍스트 블록을 처리한 후 API가 드리프트 되는 것을 방지하려면 다음 지침을 따르세요.

  • 텍스트를 세 개의 큰따옴표 안에 요약합니다. 이 예제에서는 요약할 텍스트 블록 앞뒤 별도의 줄에 세 개의 큰따옴표(""")를 입력합니다. 이 서식 지정 스타일은 처리할 큰 텍스트 블록의 시작과 끝을 명확하게 정의합니다.

  • 요약 앞뒤에 요약 의도와 대상 그룹을 설명합니다. 이 예제는 처리할 텍스트의 앞과 뒤에 지침을 두 번 API에 제공한다는 점에서 다른 예제와 다릅니다. 중복 지침은 API가 의도한 작업에 집중하고 드리프트를 방지하는 데 도움이 됩니다.

부분 텍스트 및 코드 입력 완료

모든 프롬프트가 완료되는 결과를 가져오지만, API가 중단한 부분부터 선택하기를 원하는 경우 텍스트 완료를 자체 작업으로 생각하는 것이 도움이 될 수 있습니다.

이 데모에서는 불완전한 것으로 보이는 텍스트 프롬프트를 API에 제공합니다. "and"라는 단어에서 텍스트 입력을 중지합니다. API는 불완전한 텍스트를 생각의 흐름을 계속하기 위한 트리거로 해석합니다.

Vertical farming provides a novel solution for producing food locally, reducing transportation costs and

다음 데모에서는 완료 기능을 사용하여 React 코드 구성 요소를 작성하는 방법을 보여 줍니다. 먼저 API에 일부 코드를 보냅니다. 열린 괄호 (를 사용하여 코드 입력을 중지합니다. API는 불완전한 코드를 트리거로 해석하여 HeaderComponent 상수 정의를 완료합니다. API는 해당 React 라이브러리를 이해하고 있으므로 이 코드 정의를 완료할 수 있습니다.

import React from 'react';
const HeaderComponent = () => (

완료를 생성하기 위한 지침

다음은 API를 사용하여 텍스트 및 코드 완성을 생성하는데 유용한 몇 가지 지침입니다.

  • Temperature를 낮추어 API에 초점을 맞춥니다. Temperature 설정에 더 낮은 값을 설정하여 프롬프트에 설명되어 있는 의도에 초점을 맞춘 응답을 제공하도록 API에 지시합니다.

  • API가 접할 수 있도록 Temperature를 높입니다. API가 프롬프트에 설명되어 있는 의도에 접하여 응답할 수 있도록 Temperature 설정에 더 높은 값을 설정합니다.

  • GPT-35-Turbo 및 GPT-4 Azure OpenAI 모델을 사용합니다. 코드 이해 또는 코드 생성과 관련된 작업의 경우 GPT-35-TurboGPT-4 Azure OpenAI 모델을 사용하는 것이 좋습니다. 이러한 모델은 새 채팅 완료 형식을 사용합니다.

팩트 응답 생성

API는 학습 중에 검토된 실제 데이터를 기반으로 구축된 지식을 학습했습니다. 이 학습된 데이터를 사용하여 응답을 형성합니다. 그러나 API는 사실처럼 들리지만 실제로는 조작된 방식으로 응답할 수 있는 기능도 있습니다.

사용자의 입력에 응답하여 API가 답변을 만들 가능성을 제한하는 몇 가지 방법이 있습니다. 진실되고 사실적인 응답의 기초를 정의할 수 있으므로 API는 데이터를 통해 응답의 초안을 작성합니다. 또한 낮은 Temperature 가능성 값을 설정하고 실제 답변에 데이터를 사용할 수 없을 때 응답하는 방법을 API에 표시할 수 있습니다.

다음 데모에서는 API가 보다 사실적인 방식으로 응답하도록 가르치는 방법을 보여 줍니다. API가 이해할 수 있는 질문과 답변의 예를 제공합니다. 또한 인식하지 못할 수 있는 질문("Q")의 예를 제공하고 답변("A") 출력에 물음표를 사용합니다. 이 접근 방식은 API가 실제로 응답할 수 없는 질문에 응답하는 방법을 설명합니다.

보호 수단으로 Temperature 가능성을 0으로 설정하여, 진실하고 사실적인 응답에 관해 의심의 여지가 있는 경우 API가 물음표(?) 로 응답할 가능성이 높습니다.

Q: Who is Batman?
A: Batman is a fictional comic book character.

Q: What is torsalplexity?
A: ?

Q: What is Devz9?
A: ?

Q: Who is George Lucas?
A: George Lucas is an American film director and producer famous for creating Star Wars.

Q: What is the capital of California?
A: Sacramento.

Q: What orbits the Earth?
A: The Moon.

Q: Who is Egad Debunk?
A: ?

Q: What is an atom?
A: An atom is a tiny particle that makes up everything.

Q: Who is Alvan Muntz?
A: ?

Q: What is Kozar-09?
A: ?

Q: How many moons does Mars have?
A: Two, Phobos and Deimos.

Q:

사실적인 응답을 생성하기 위한 지침

API가 답변을 작성할 가능성을 제한하는 데 도움이 되는 지침을 검토해 보겠습니다.

  • API에 대한 근거를 제공합니다. 의도에 따라 진실하고 사실적인 응답을 만들기 위한 기초로 사용할 내용에 대해 API에 지시합니다. 질문에 답변하는 데 사용할 텍스트 본문(예: Wikipedia 항목)을 API에 제공하면 API가 응답을 조작할 가능성이 줄어듭니다.

  • 낮은 가능성을 사용합니다. 낮은 Temperature 가능성 값을 설정하여 API가 의도에 계속 중점을 두고, 조작되거나 빈약한 응답을 만들지 않도록 합니다.

  • "잘 모르겠습니다."로 응답하는 방법을 API에 표시합니다. API가 사실적인 답변을 찾을 수 없는 질문에 대해 특정 응답을 사용하도록 가르치는 예제 질문과 답변을 입력할 수 있습니다. 이 예제에서는 API가 해당 데이터를 찾을 수 없을 때 물음표(?)로 응답하도록 가르칩니다. 또한 이 접근 방식은 API가 "잘 모르겠습니다"로 응답하는 것이 답변을 만드는 것보다 더 "정확"하다는 것을 학습하는 데 도움이 됩니다.

코드 작업

Codex 모델 시리즈는 자연어와 수십억 줄의 코드로 학습된 OpenAI의 기본 GPT-3 시리즈의 하위 항목입니다. Python에서 가장 뛰어나고 C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, 심지어 Shell을 포함한 12개 이상의 언어에 능숙합니다.

코드 완성 생성에 대한 자세한 내용은 Codex 모델 및 Azure OpenAI Service를 참조하세요.

다음 단계