일반 사용자 및 개발자를 위한 ChatGPT 프롬프트 엔지니어링 최종 가이드

ChatGPT의 모든 잠재력을 발견할 준비가 되셨습니까? 질문에 답하고 흥미로운 콘텐츠를 만드는 것부터 개인화된 추천을 제공하는 것까지 다양한 방식으로 도움을 줄 수 있는 AI 도구가 있다고 상상해 보세요. 여기서 "프롬프트 엔지니어링"이 등장합니다. 프롬프트와 지침을 신중하게 생성하여 ChatGPT가 더 잘 작동하도록 하는 효과적이고 강력한 방법입니다.

이 기사에서는 챗봇 생성을 위한 기본 사항, 팁, 모범 사례 및 고급 전략을 다루며 Prompt Engineering의 흥미로운 세계를 살펴보겠습니다. 언어 모델의 잠재력에 관심이 있다면 이 기사가 ChatGPT를 사용하고 최대한 활용하는 방법에 대한 가이드가 될 것입니다.

Prompt Engineering의 비밀을 풀고 ChatGPT 사용 방식을 바꿀 준비가 되셨나요? 시작하자!

프롬프트엔지니어링 기본지식

더 이상 ChatGPT를 소개할 필요가 없을 것 같습니다. ChatGPT에 대해 모르신다면 이전 관련 글을 읽어보시기 바랍니다.

https://blog.csdn.net/jeansboy/article/details/131689471?spm=1001.2014.3001.5501 기술이 계속 발전함에 따라 우리가 일하는 방식도 끊임없이 진화하고 있습니다. 프로그래머로서 우리는 종종 지루한 작업에 직면하고, 복잡한 코드를 이해하고, 어려운 문제를 해결해야 합니다. 그러나 이제 ChatGPT라는 새로운 비서가 있습니다. ChatGPT는 강력한 언어 모델을 기반으로 한 챗봇으로, 코드 작성 시 효율성과 품질을 향상시키고 지루한 작업을 자동화하는 데도 도움이 됩니다. 이 기사에서는 프로그래머로서 ChatGPT를 활용하는 방법에 대한 경험과 팁, 그리고 이것이 내 작업에 가져온 실질적인 이점을 공유하겠습니다. https://blog.csdn.net/jeansboy/article/details/131689471?spm=1001.2014.3001.5501 프로그래머로서 ChatGPT를 사용하여 코드를 작성하는 방법_Yitang Grocery Store's Blog-CSDN 블로그 우리 각자는 성공을 원합니다. 성공을 달성하는 가장 효과적인 방법 중 하나는 가능한 한 짧은 시간 내에 가능한 한 많은 사람들의 문제, 특히 모든 사람이 겪고 있는 문제를 해결하는 것입니다. 우리 주변의 우수한 제품들을 관찰하면 그 제품들이 어떤 문제를 해결하는지 알 수 있습니다. https://blog.csdn.net/jeansboy/article/details/131707126?spm=1001.2014.3001.5501ChatGPT 를 효과적으로 사용하여 소프트웨어 개발을 돕는 방법 2부 - 코드의 잠재력 발휘_Yitang Grocery Store's Blog-CSDN 블로그첫 번째 부분이 있는지 모른다면 이전 부분을 먼저 읽어보는 것이 좋습니다. 우리 각자는 성공을 원하며, 성공을 이루는 가장 효과적인 방법 중 하나는 최대한 많은 사람의 문제를 최단 시간 내에 해결하는 것입니다. 가능한 시간.특히 누구나 가지고 있는 질문. 우리 주변의 우수한 제품들을 관찰하면 그 제품들이 어떤 문제를 해결하는지 알 수 있습니다. 최근 OpenAI는 AI 기능을 더욱 강력하고 다양하게 만드는 GPT-4 모델을 출시했습니다. 이러한 발전은 특히 프로그래머 커뮤니티 사이에 광범위한 호기심과 우려를 불러일으켰습니다. 사람들은 검색 엔진에서 "ChatGPT가 프로그래머를 대체할까요?"라고 묻기 시작했고 인기 있는 검색 추천 항목이 되었습니다. https://blog.csdn.net/jeansboy/article/details/131762514?spm=1001.2014.3001.5501

프롬프트 엔지니어링은 OpenAI의 언어 모델 ChatGPT의 유용성을 극대화하는 데 매우 중요합니다. 이 섹션에서는 정의, ChatGPT와 상호 작용할 때 프롬프트의 역할, 프롬프트 선택에 영향을 미치는 다양한 요소 등 프롬프트 엔지니어링의 기본 개념을 소개합니다.

프롬프트엔지니어링이란?

ChatGPT를 통해 원하는 관련 결과를 얻기 위한 대화형 프로세스를 프롬프트 엔지니어링이라고 합니다. 여기에는 모델의 동작을 제어하고 생성된 출력의 품질과 관련성을 형성하는 일련의 지침과 입력을 생성하는 작업이 포함됩니다. 일부 시나리오에서는 Prompt가 모델의 출력을 제어하는 ​​입력 매개 변수라는 것을 이해할 수 있습니다.

프롬프트 엔지니어링의 중요성은 ChatGPT의 기능을 향상시키고 특정 캠페인이나 대상에 대한 대응을 맞춤화한다는 것입니다. 사용자는 잘 설계된 프롬프트를 제공함으로써 자신의 의도에 대한 해석을 극대화하고 모델로부터 정확하고 상황에 맞는 정보를 얻을 수 있습니다. 마치 고성능 자동차를 조종하는 것과 같습니다. 자동차에 익숙해지면 자동차를 최대한 활용할 수 있습니다.

ChatGPT의 상호 작용에 프롬프트가 중요한 이유는 무엇입니까?

프롬프트는 사용자와 ChatGPT 간의 상호 작용에서 매우 중요합니다. 이는 관련 응답을 생성하고 대화의 시작점 역할을 하는 데 필요한 컨텍스트를 모델에 제공합니다. 사용자는 명확하고 정확한 지침을 통해 ChatGPT를 원하는 결과로 안내할 수 있습니다.

연구에 따르면 Prompt Engineering은 언어 모델의 성능에 상당한 영향을 미칩니다. 잘 설계된 프롬프트는 유해하거나 편향된 출력을 방지하고, 생성된 응답의 정확성을 향상시키며, 모델 동작을 더 효과적으로 제어하는 ​​데 도움이 될 수 있습니다. OpenAI의 언어 모델 강화를 위한 Prompt Engineering 연구는 이를 입증합니다.

다음으로 다음 두 쿼리와 해당 ChatGPT 응답을 살펴보겠습니다.

프롬프트 1:

프롬프트 2:

두 번째 프롬프트는 보다 구체적이고 의미 있는 답변을 생성합니다.

이 예는 신속한 엔지니어링에서 정확성과 명확성의 중요성을 강조합니다.

프롬프트 카테고리란 무엇입니까?

Prompt는 AI 언어 모델과의 원활한 커뮤니케이션을 위한 중요한 도구입니다.

고품질의 프롬프트를 생성하려면 먼저 프롬프트가 분류되는 방식을 이해해야 합니다. 이를 통해 특정 목표 응답에 집중할 수 있도록 효율적으로 구성할 수 있습니다.

주요 팁 카테고리는 다음과 같습니다:

1. 정보 검색 프롬프트

이러한 프롬프트는 "무엇"과 "어떻게"라는 질문을 통해 정보를 수집하도록 설계되었습니다. AI 모델에서 특정 세부 정보나 사실을 추출하는 데 적합합니다. 예를 들어:

  • 채식의 건강상의 이점은 무엇입니까?
  • 어떻게 하면 생산성을 높일 수 있나요?

2. 명령 기반 프롬프트

지시 기반 프롬프트는 AI 모델이 특정 작업을 수행하도록 안내하는 프롬프트입니다. 이러한 프롬프트는 Siri, Alexa 또는 Google Assistant와 같은 음성 도우미와 상호 작용하는 방식과 유사합니다. 예를 들어:

  • 다음주 화요일 오전 10시에 치과 예약을 하세요.
  • 공항까지 가장 빠른 경로를 찾아보세요.

3. 상황에 맞는 정보를 제공하는 프롬프트

이러한 프롬프트는 AI 모델에 상황별 정보를 제공하여 사용자가 기대하는 응답을 더 잘 이해하는 데 도움이 됩니다. 맥락을 제공함으로써 AI로부터 보다 정확하고 관련성이 높은 답변을 얻을 수 있습니다. 예를 들어:

  • 나는 정원 가꾸기에 대해 아무것도 모른다. 초보자가 키우기 쉬운 식물은 어떤 것이 있나요?
  • 나는 여자친구를 위한 로맨틱한 저녁 식사를 계획하고 싶습니다. 분위기를 개선하기 위한 몇 가지 제안이나 아이디어를 제공해 주실 수 있나요?

4. 비교 프롬프트

비교 프롬프트는 사용자가 정보에 입각한 결정을 내릴 수 있도록 다양한 옵션을 평가하거나 비교하는 데 사용됩니다. 이는 다양한 옵션의 장단점을 평가할 때 특히 유용합니다. 예를 들어:

  • 집을 임대하고 구입하는 것의 장단점은 무엇입니까?
  • 전기 및 기존 가솔린 차량의 성능.

5. 관점을 찾도록 유도

이러한 프롬프트는 AI가 특정 주제에 대한 의견이나 견해를 표현하도록 안내합니다. 창의적인 아이디어를 생성하거나 생각을 자극하는 토론을 하는 데 도움이 될 수 있습니다. 예를 들어:

  • AI가 고용 시장에 어떤 잠재적 영향을 미칠 수 있나요?
  • 순간이동 기술이 현실이 된다면 세상은 어떻게 변할까요?

6. 반사 프롬프트

성찰적 프롬프트는 개인이 자신과 신념, 행동을 더 깊이 이해하는 데 도움이 됩니다. 그들은 종종 특정 주제나 개인적인 경험을 바탕으로 자기 성장과 성찰을 장려합니다. 이상적인 답변을 얻으려면 몇 가지 배경 정보를 제공해야 할 수도 있습니다. 예를 들어:

  • 어떻게 자신감을 키우고 자기 의심을 극복할 수 있나요?
  • 건강한 일과 삶의 균형을 유지하기 위해 어떤 전략을 채택할 수 있나요?

신속한 선택에 영향을 미치는 요소는 무엇입니까?

효과적인 프롬프트를 만들 때 ChatGPT 답변의 품질, 관련성, 정확성에 영향을 미치는 많은 요소를 고려해야 합니다. 중요한 요소는 다음과 같습니다:

  1. 모델 지식 : ChatGPT의 강점과 약점을 이해합니다 . ChatGPT와 같은 최첨단 모델도 특정 작업에 도움이 필요하거나 잘못된 데이터를 생성할 수 있습니다. 이러한 이해는 모델의 장점을 활용하고 결함을 최소화하는 단서를 만드는 데 도움이 됩니다.
  2. 사용자 의도 : 관련 답변을 생성하려는 사용자의 의도를 이해하는 것이 중요합니다. 프롬프트는 사용자 기대를 명확하게 반영하여 ChatGPT가 관련성 있고 올바른 정보를 제공할 수 있도록 해야 합니다.
  3. 명확하고 모호하지 않게 하세요 . 프롬프트가 명확하고 모호하지 않게 하여 잘못된 응답으로 이어질 수 있는 모호함이나 불확실성을 줄이세요.
  4. 도메인 특이성 : 고도로 전문화된 도메인을 다룰 때 도메인별 어휘나 컨텍스트를 사용하여 모델을 예상 답변으로 안내하는 것을 고려하세요. 컨텍스트나 예시를 추가하면 모델이 더 정확하고 관련성이 높은 결과를 생성하는 데 도움이 됩니다.
  5. 제약 조건 : 원하는 결과를 생성하는 데 제한(예: 응답 길이 또는 형식)이 필요한지 여부를 결정합니다. 모델이 특정 요구 사항을 충족하는 응답을 생성하는 데 도움이 되도록 문자 제한이나 구조화된 형식과 같은 제약 조건을 명시적으로 지정할 수 있습니다.

이러한 요소를 염두에 둔 프롬프트 엔지니어링은 ChatGPT의 효율성을 향상시키고 생성된 답변이 원하는 목표와 거의 일치하도록 보장할 수 있습니다.

Prompt Engineering은 언어 모델(예: ChatGPT)의 상호 작용성과 실용성을 향상하기 위해 지속적으로 개선되고 개선되는 지속적인 연구 주제라는 점은 주목할 가치가 있습니다.

결론적으로:

주요 팁:

  1. 문제 또는 목표 식별: ChatGPT에서 지원하기를 원하는 내용과 기대하는 답변 유형을 명확하게 설명합니다.
    예: 패션 업계의 젊은 전문가를 대상으로 하는 마케팅 캠페인을 위한 눈길을 끄는 헤드라인 생성.
  2. 관련 키워드 및 구문 추가: ChatGPT가 원하는 결과를 생성하도록 안내하는 데 도움이 되도록 프롬프트에 가장 관련성이 높은 업계별 및 주제 관련 용어를 포함합니다.
    예: 편안함, 내구성 및 성능에 중점을 두고 운동화에 대한 설득력 있는 마케팅 카피 작성. 피트니스 매니아와 운동선수를 위한 제품입니다. '성능', '편안함', '내구성', '운동선수'와 같은 키워드를 포함하세요.
  3. 작성 팁: 이전 단계에서 식별한 키워드와 문구를 사용하여 필요한 정보와 작업을 효과적으로 전달하는 간결한 프롬프트를 구성하세요.
    예: "'천연', '영양', '친환경', '매끄러운 피부'와 같은 성분을 강조하면서 당사의 새로운 유기농 스킨케어 제품군의 이점을 강조하는 설득력 있는 소셜 미디어 게시물을 작성하세요."
  4. 테스트, 평가 및 반복: ChatGPT를 사용하여 답변을 생성하고, 결과를 평가하고, 원하는 결과를 얻기 위해 필요에 따라 프롬프트를 수정합니다. 예상되는 응답을 일관되게 생성하는 성공적인 프롬프트를 만들 때까지 이 프로세스를 반복합니다.

훌륭한 프롬프트의 요소:

우수한 결과는 주로 교육 데이터, 모델 매개변수 및 효과적인 프롬프트에 따라 달라집니다. 사용자에게 영향을 미치는 요소 중 하나인 프롬프트에만 영향을 미칠 수 있으며, 좋은 프롬프트를 구성하는 요소는 다음과 같습니다.

  1. 모호함 없이 직설적이고 간결한 언어.
  2. 프롬프트에서 수행하려는 ChatGPT에 할당된 역할입니다.
  3. 귀하가 제공하는 정보와 예시는 귀하의 의견입니다. (ChatGPT는 이전 채팅 기록의 정보와 예시를 참조할 수 있습니다)
  4. ChatGPT에 완료를 요청하는 특정 작업, 즉 기대하는 출력입니다.
  5. 초기 답변을 받은 후 필요에 따라 조정합니다. 즉, 원하는 출력을 얻을 때까지 반복합니다.

신속한 엔지니어링을 위한 팁

이 장에서는 프롬프트 엔지니어링을 최적화하고 ChatGPT와의 상호 작용 효과를 극대화하는 데 사용할 수 있는 몇 가지 프롬프트 기술을 살펴보겠습니다. 이 팁을 더 자세히 살펴보고 그 중요성을 이해해 보겠습니다.

명확한 지침

명확하고 모호하지 않은 지침은 효과적인 프롬프트 엔지니어링의 기초입니다. 명확한 지침을 제공함으로써 사용자는 ChatGPT 답변의 품질을 향상시킬 수 있습니다. OpenAI의 연구에 따르면 명확하게 정의된 프롬프트는 언어 모델의 성능에 큰 영향을 미치는 것으로 나타났습니다.

프롬프트 1:

단순 프롬프트

프롬프트 2:

특정 프롬프트

명시적 제약 조건 사용

프롬프트에 명시적인 제약 조건을 추가하면 ChatGPT의 사고 과정을 안내하여 보다 정확하고 근거가 충분한 응답을 보장합니다. 제약 조건은 모델의 동작을 형성하고 생성된 출력의 관련성을 향상시키는 추가 지침 역할을 합니다.

예를 들어, 단계별 지침을 찾을 때 "상세하고 순차적인 프로세스를 제공해주세요"와 같은 제약 조건을 추가하면 ChatGPT가 일관되고 따라하기 쉬운 지침을 생성하는 데 도움이 될 수 있습니다. OpenAI의 연구에 따르면 명시적인 규칙을 사용하면 더 제어 가능하고 예측 가능한 결과를 얻을 수 있는 것으로 나타났습니다.

다양한 맥락과 예를 시도함으로써

컨텍스트는 프롬프트 엔지니어링에서 중요한 역할을 합니다. 프롬프트에 관련 컨텍스트와 예시를 제공함으로써 사용자는 ChatGPT에 대한 이해를 높이고 보다 정확하고 상황에 맞는 답변을 생성하도록 안내할 수 있습니다.

예를 들어 관련 컨텍스트를 프롬프트에 통합하면 ChatGPT가 특정 주제에 대한 정보를 요청할 때 더욱 통찰력 있는 답변을 제공하는 데 도움이 될 수 있습니다.

프롬프트 1:

맥락 없이 프롬프트

프롬프트 2:

상황에 맞는 프롬프트

상황에 맞는 프롬프트는 ChatGPT가 특정 관심 영역과 일치하는 답변을 생성하도록 안내할 수 있습니다.

시스템 1 및 시스템 2 문제 사용

시스템 1과 시스템 2 질문은 프롬프트 엔지니어링에 대한 균형 잡힌 접근 방식을 제공합니다. 시스템 1 질문은 빠르고 본능적인 답변을 이끌어내는 반면, 시스템 2 질문은 사려 깊고 상세한 답변을 요구합니다. 이 두 가지 유형의 질문을 결합하면 ChatGPT와의 상호 작용에 다양성과 깊이가 추가됩니다.

따라서 Prompt Engineering에서 시스템 1 및 시스템 2 질문을 사용하는 것은 ChatGPT가 제공하는 응답 유형에 영향을 미치는 방법입니다.

사용자는 프롬프트에 시스템 1 및 시스템 2 질문을 포함하여 ChatGPT가 자신의 요구에 맞는 답변을 생성하도록 지시할 수 있습니다. 이 개념을 설명하기 위해 다음 예를 고려하십시오.

예: 여행 조언 AI 도우미

프롬프트: "여행 추천 도우미로서 귀하의 목표는 사용자에게 개인화되고 정보에 입각한 여행 추천을 제공하는 것입니다. 관련 응답을 생성하려면 시스템 1 및 시스템 2 질문을 사용하십시오. 시스템 1 질문은 빠른 추천에 초점을 맞춰야 하지만 시스템 2 질문 뒤에 있는 이유 권장사항을 조사해야 합니다.

시스템 1 질문 “파리에서 인기 있는 관광 명소는 무엇입니까?

시스템 2 질문 "에펠탑의 역사적 의미와 건축학적 특징을 설명할 수 있나요?

이 예에서 시스템 1 질문을 통해 ChatGPT는 파리의 주요 관광 명소에 대한 추천을 신속하게 제공했습니다. 짧은 여행 일정을 제안하려는 사용자에게는 간결하고 이해하기 쉬운 정보가 도움이 될 것입니다. 응답에는 루브르 박물관, 노트르담 대성당, 샹젤리제 같은 명소가 포함될 수 있습니다.

그리고 시스템 2 질문은 ChatGPT가 에펠탑과 같은 특정 명소의 역사적 중요성과 건축학적 측면을 탐색하도록 장려합니다. 이와 같은 답변은 명소에 대해 더 잘 이해하고 자세히 알아보고 싶은 사용자에게 매우 도움이 됩니다. 답변에는 1889년 세계 박람회를 위해 건설된 타워의 역사적 배경, 구스타브 에펠의 디자인, 유명한 철 격자 구조 등이 포함될 수 있습니다.

시스템 1 및 시스템 2 질문을 포함함으로써 사용자는 빠른 권장 사항과 보다 자세한 설명을 얻을 수 있습니다. 이를 통해 여행 조언 도우미는 다양한 사용자의 취향에 맞춰 실용적인 조언을 제공하는 동시에 명소의 역사와 건축적 특징에 관심이 있는 사용자의 호기심을 충족시킬 수 있습니다.

제어 출력 길이

ChatGPT 응답 길이를 제어하는 ​​것은 빠른 프롬프트 엔지니어링의 핵심 구성 요소입니다. 이를 통해 사용자는 생성된 출력의 자세한 정도와 길이를 제어할 수 있습니다. 출력 길이가 관리되는 방법을 보려면 다음 예를 고려하십시오.

프롬프트 1:

짧은 출력

프롬프트 2:

자세한 출력

이 답변에서 ChatGPT는 자세한 단계별 레시피를 제공하여 강력한 장황함을 보여줍니다. 여기에는 베이킹 과정을 통해 사용자를 돕기 위한 추가 설명과 제안이 포함되어 있습니다. 이 깊이는 자세한 교육이 필요한 사람들, 특히 초보 제빵사 또는 보다 전체적인 접근 방식을 선호하는 사람들에게 적합합니다.

이러한 방식으로 ChatGPT는 다양한 사용자 선호도에 적응하고 답변의 장황함을 조정하여 대화 경험을 최적화할 수 있으며, 챗봇이 사용자의 요구에 맞는 답변을 제공하고 사용자와의 연결을 강화할 수 있습니다.

프롬프트 엔지니어링 모범 사례

프롬프트 엔지니어링은 최상의 결과를 얻기 위해 충분한 사고와 실험이 필요한 역동적인 프로세스입니다. 이 섹션에서는 사용자가 ChatGPT와의 상호 작용을 최대한 활용하는 데 도움이 되는 Prompt Engineering의 모범 사례를 살펴보겠습니다. 이러한 관행을 살펴보고 얼마나 효과적인지 살펴보겠습니다.

지속적인 테스트 및 개선

효과적인 프롬프트 엔지니어링은 지속적인 테스트와 개선에 크게 의존합니다. 사용자는 정기적으로 출력을 검토하고 이에 따라 프롬프트를 조정하여 지침을 지속적으로 개선하고 ChatGPT 답변의 품질을 향상시킬 수 있습니다.

반복 1:

반복 2:

중국어 프롬프트는 아직 시도 중이지만 영어 버전에서는 서식이 지정된 알림을 직접 생성할 수 있습니다.

반복 3:

의도와 창의성 사이의 균형

Prompt Engineering에서는 사용자의 의도와 모델 자체의 창의성 사이의 균형을 맞추는 것도 중요합니다. 아래의 글쓰기 영감 챗봇을 살펴보세요. 이 챗봇은 적절한 메시지를 제공하면서 창의성을 장려하기 위해 노력하고 있습니다.

ChatGPT는 사용자 의도 일치와 모델 창의성 향상의 균형을 맞추고 상상력을 장려하는 동시에 사용자의 글쓰기 목표와 일관성을 유지함으로써 적절한 프롬프트를 제공합니다.

외부 리소스 및 API 통합

외부 리소스와 API를 활용하는 것은 ChatGPT가 추가 정보를 활용하고 응답 기능을 향상시킬 수 있는 Prompt Engineering의 강력한 기술입니다. 예제를 통해 외부 리소스 및 API를 사용하는 방법을 이해해 보겠습니다.

예: 날씨 정보 도우미

프롬프트: “날씨 정보 챗봇으로서 외부 리소스와 API를 활용하여 사용자에게 정확한 최신 날씨 데이터를 제공하세요.”

사용자 질문: “오늘 상하이 날씨는 어때요?”

이 챗봇은 외부 날씨 API(예: Weather.com)와 통합되어 정확한 날씨 정보를 제공할 수 있습니다. API를 호출하면 챗봇은 특정 위치의 실시간 날씨 데이터를 얻을 수 있습니다.

API 통합

import requests

def get_weather(city):
    api_key = "YOUR_API_KEY"
    url = f"https://api.weatherapi.com/v1/current.json?key={api_key}&q={city}"
    response = requests.get(url)
    data = response.json()
    return data["current"]["condition"]["text"], data["current"]["temp_c"]

위의 get_weather() 함수는 특정 도시의 기상 조건과 온도를 섭씨 단위로 반환하는 WeatherAPI와의 통합 예시를 보여줍니다.

답변 템플릿:

city = "Shanghai"
weather_condition, temperature = get_weather(city)
response = f"The weather in {city} today is {weather_condition}. The temperature is {temperature}°C."

답변 결과:

“오늘 상하이 날씨는 부분적으로 흐려요. 기온은 22°C입니다.”

챗봇은 외부 리소스와 API를 활용하여 정확한 날씨 정보를 검색하고 이를 응답에 통합할 수 있습니다. 이는 사용자에게 지정된 위치에 적합한 실시간 날씨 업데이트를 제공합니다.

외부 리소스 및 API와의 통합을 통해 ChatGPT는 훈련 데이터 이상의 방대한 양의 정보를 얻어 사용자 쿼리에 대해 보다 가치 있고 신뢰할 수 있는 답변을 제공할 수 있습니다.

OpenAI API 예시

OpenAI API를 통해 개발자는 ChatGPT를 애플리케이션, 제품 또는 서비스에 통합할 수 있습니다. 다음은 OpenAI API를 사용하는 방법을 보여주는 예입니다.

import openai

# Set up your OpenAI API credentials
openai.api_key = 'YOUR_API_KEY'

# Define a function for interacting with ChatGPT
def ask_chatbot(question, chat_history=None):
    if chat_history is None:
        chat_history = []

    # Format the input for the API call
    input_text = '\n'.join(chat_history + [f'User: {question}'])

    # Call the OpenAI API to generate a response
    response = openai.Completion.create(
        engine='text-davinci-003',
        prompt=input_text,
        max_tokens=50,
        temperature=0.7,
        n=1,
        stop=None,
        temperature=0.7
    )

    # Extract the generated response from the API response
    answer = response.choices[0].text.strip()

    # Append the user's question and the chatbot's answer to the chat history
    chat_history.append(f'User: {question}')
    chat_history.append(f'Chatbot: {answer}')

    return answer

# Example usage
chat_history = []
user_question = "What is the capital of France?"
response = ask_chatbot(user_question, chat_history)
print(response)

이 예에서는 사용자의 질문과 선택적 채팅 기록을 입력으로 받는 Ask_chatbot() 함수를 정의합니다. 이 함수는 채팅 기록과 사용자 질문의 형식을 지정한 다음 openai.Completion.create() 메서드를 사용하여 OpenAI API에 대한 API 호출을 수행합니다.

API의 응답에는 ChatGPT에서 생성된 답변이 포함되어 있습니다. 응답에서 답변을 추출하고 사용자의 질문과 챗봇의 답변을 채팅 기록에 추가합니다. 마지막으로 생성된 답변이 반환됩니다.

ChatGPT OpenAI API를 사용하면 개발자는 ChatGPT의 기능을 애플리케이션에 통합하여 사용자가 챗봇과 상호 작용하고 쿼리에 따라 답변을 받을 수 있습니다.

편견 없이 윤리적으로 사용하세요

ChatGPT는 편견 없이 윤리적으로 사용해야 합니다. 다음은 중요한 예입니다.

예시: AI를 활용한 취업 후보자 심사

ChatGPT를 사용하여 인터뷰 응답을 분석하고 채용 후보자를 선별할 수 있는 AI 시스템이 있다고 상상해 보세요. 심사 과정은 윤리적이고 편견이 없어야 합니다.

다음 단계를 수행하면 편견을 줄이고 공정성을 보장할 수 있습니다.

  1. 훈련 데이터의 다양화 : 다양한 인종, 성별, 민족의 데이터를 활용하여 ChatGPT를 최적화합니다. 훈련 데이터의 편향을 처음부터 해결하는 것이 편향으로 이어질 수 있으므로 중요합니다.
  2. 편향 평가 : 모델 응답을 정기적으로 평가하여 편향을 수동으로 식별하고 완화합니다. 균형 및 기회균등을 사용하여 모델의 권장 사항이 성별이나 인종과 같은 요소의 균형 조정에 영향을 미치는지 확인합니다. 편향을 줄이도록 조정하세요.
  3. 투명한 지침 : 인간 검토자와 개발자에게 시스템 지침을 전달합니다. 이러한 지침은 공정성, 윤리 및 편견 방지를 강조해야 합니다. 심사 과정에서 특정 집단에 대한 편애나 차별을 하지 않도록 명확한 지침을 제공합니다.
  4. Human Intervention Review : 인간이 시스템의 답변을 분석하게 합니다. 이 단계는 모델 편향을 발견하는 데 도움이 되며 인간이 상황을 고려하고 공정한 결정을 내릴 수 있도록 보장합니다.
  5. 지속적인 모니터링 및 피드백 : 시스템 성능을 지속적으로 모니터링하고 사용자 및 리뷰어로부터 피드백을 수집합니다. 편향 및 의도하지 않은 효과가 있는지 시스템 출력을 확인합니다. 피드백 루프는 문제를 신속하게 해결하는 데 도움이 됩니다.
  6. 다양한 검토자 팀 : 시스템 출력 검토 및 최적화를 담당하는 팀 구성원이 다양한 배경을 갖고 있는지 확인합니다. 다양한 팀은 동질적인 그룹이 놓칠 수 있는 편견을 찾아내고 해결할 수 있습니다.

이러한 관행은 AI 지원 후보자 심사 시스템이 편견을 피하고 기술과 자격을 기반으로 후보자를 평가하는 데 도움이 됩니다.

고급 프롬프트 엔지니어링 전략

Prompt Engineering은 한 단계 더 나아가 ChatGPT의 성능과 적응성을 더욱 최적화하는 혁신적인 전략을 포함할 수 있습니다. 이 섹션에서는 온도 및 토큰 제어, 여러 라운드의 대화에 대한 프롬프트 연결, 특정 도메인 애플리케이션에 대한 프롬프트 수정, 혼란스럽거나 모순되는 사용자 입력 처리 등 몇 가지 고급 프롬프트 엔지니어링 전략을 소개합니다.

온도 및 토큰 관리

온도 및 토큰 제어는 ChatGPT의 동작을 조정하는 효과적인 방법입니다. 사용자는 온도 제어를 통해 생성된 출력의 무작위성을 변경할 수 있습니다. 0.2와 같이 온도가 낮을수록 더 집중적이고 결정적인 답변이 생성되고, 온도가 1.0과 같이 높을수록 더 다양하고 탐구적인 결과가 생성됩니다. 이 값은 제어 모델의 창의성과 합리성을 나타내기도 합니다.

OpenAI의 연구는 온도 제어가 ChatGPT 응답의 다양성에 미치는 영향을 보여줍니다. 다양한 온도 설정을 실험함으로써 사용자는 이해할 수 있는 답변을 제공하는 것과 생성된 답변에 새로운 기능을 통합하는 것 사이의 이상적인 균형을 얻을 수 있습니다.

프롬프트 1:

프롬프트 2 :

좀 더 시적인가요?

토큰 제어에서는 답변 길이를 제한하기 위해 최대 토큰 수를 지정해야 합니다. 이를 통해 사용자는 ChatGPT 출력의 자세한 정도를 제어하여 간결하고 명확한 답변을 얻을 수 있습니다. 적절한 토큰 제한을 설정함으로써 사용자는 ChatGPT가 예상 답변 길이에 해당하는 답변을 제공하도록 할 수 있습니다.

프롬프트 체인 및 여러 차례의 대화

프롬프트 체인과 여러 라운드의 대화를 통해 더욱 대화적이고 역동적인 ChatGPT 통신이 가능해집니다. 사용자는 여러 프롬프트를 함께 연결하여 지속적인 대화 흐름을 형성할 수 있습니다. 각 프롬프트는 ChatGPT의 이전 입력 또는 이전 답변을 참조하여 상황에 맞는 대화를 가능하게 합니다.

프롬프트 체인을 사용하면 사용자는 보다 대화적인 경험을 만들고 ChatGPT와 반복적으로 상호 작용할 수 있습니다. 이 기술은 다단계 지침이나 자세한 논의가 필요한 작업에 적합합니다.

도메인별 애플리케이션에 대한 프롬프트 적응

도메인별 애플리케이션에 대한 프롬프트 조정은 프롬프트 엔지니어링의 중요한 접근 방식입니다. 여기에는 답변이 관련성이 있고 정확하도록 특정 산업이나 영역에 맞게 프롬프트를 맞춤화하는 작업이 포함됩니다. 도메인별 애플리케이션에 대한 프롬프트를 조정하는 방법을 설명하는 예를 사용해 보겠습니다.

예: 의료 진단 AI 도우미

프롬프트: "사용자가 증상을 평가하고 초기 권장 사항을 제공하는 데 도움이 되는 의료 진단 AI 도우미에 대한 프롬프트를 디자인합니다."

의료 진단 AI 보조자의 프롬프트를 조정하려면 관련 의료 용어, 증상 및 진단 고려 사항을 추가해야 합니다.

프롬프트: "귀하의 증상과 병력을 설명하시면 AI 보조원이 제공된 정보를 바탕으로 초기 평가를 제공할 것입니다. 이 평가는 전문적인 의학적 조언을 대체할 수 없다는 점에 유의하십시오. 응급 상황을 겪고 있는 경우, 즉시 응급구조대에 연락하세요."

사용자: "두통이 있고 열이 나고 목이 아프네요."

조정된 프롬프트는 사용자의 증상을 고려하고 평가의 한계를 알려줍니다. AI 도우미가 생성한 답변은 제공된 정보를 기반으로 초기 제안을 제공할 수 있습니다.

답변: "두통, 발열, 인후통 증상에 따라 독감 등 흔한 바이러스 감염을 의미할 수도 있고, 후두염일 수도 있습니다. 정확한 진단을 위해서는 전문의와 상담하는 것이 중요합니다. 그 동안에는 휴식을 취하고 수분을 섭취하고 일반 진통제를 복용하여 증상을 완화할 수 있습니다. 증상이 악화되거나 지속되면 추가 평가를 위해 의료기관을 찾으세요."

Prompt를 의료 진단 AI 비서로 적용하여 답변이 특정 분야의 적용과 일치하고 사전 제안을 제공하는 동시에 전문적인 의료 조언의 중요성을 강조합니다.

충돌하는 사용자 입력을 난독화하거나 해결합니다.

프롬프트 엔지니어링은 모호한 개념이나 모순되는 사용자 입력을 처리해야 합니다. ChatGPT는 이러한 입력을 신중하게 처리하고 의미 있는 응답을 제공해야 합니다. 방법을 설명하기 위해 예를 살펴보겠습니다.

예시: 레스토랑 추천 챗봇

프롬프트: "레스토랑 추천 챗봇으로서 모호하거나 모순되는 사용자 입력을 처리하여 정확하고 유용한 답변을 보장합니다."

사용자: "시내에서 채식 메뉴와 스테이크 옵션이 있는 레스토랑을 찾고 있어요."

이 경우 사용자는 스테이크와 채식 옵션을 원합니다. 챗봇은 다음을 명확히 할 수 있습니다.

답변: "예! 레스토랑을 찾는 데 기꺼이 도움을 드리겠습니다. 채식 중심 레스토랑을 원하시나요, 아니면 스테이크를 포함한 다양한 옵션을 원하시나요?"

챗봇은 사용자의 요청을 더 잘 이해하고 보다 정확한 추천을 제공하기 위해 설명을 요청합니다.

사용자: "저는 채식 요리와 스테이크 요리가 있는 레스토랑을 좋아해요."

사용자가 자신의 선호 사항을 명확히 한 후 챗봇은 다음과 같이 대답할 수 있습니다.

답변: "좋아요! 채식 및 쇠고기 요리를 제공하는 "The Grill House" 레스토랑을 추천합니다. 다양한 메뉴에서 맛있는 채식 및 쇠고기 요리를 제공합니다. 식사를 즐겨보세요!

챗봇은 사용자와 적극적으로 소통하고 명확한 설명을 추구함으로써 초기 쿼리의 모호성을 처리하고 사용자의 희망 사항을 이해하며 요구 사항에 맞는 레스토랑을 추천합니다.

충돌하는 사용자 입력을 처리하는 것도 비슷합니다. 챗봇은 사용자의 목표와 사용자가 저렴하면서도 고급스러운 레스토랑을 원할 때 명확하게 할 수 있습니다.

예: 현실 세계의 프롬프트 엔지니어링

실제 응용 분야에서 Prompt Engineering은 긍정적인 결과를 얻었습니다. 다양한 분야의 여러 Prompt Engineering 사례를 살펴보겠습니다.

고객지원 챗봇

고객 지원 챗봇은 고객 서비스와 응답성을 향상시킵니다. Prompt Engineering은 챗봇의 정확성과 효율성을 높이고 고객 경험을 향상시킬 수 있습니다.

프롬프트 엔지니어링(Prompt Engineering)은 챗봇이 고객 입력을 학습하고 이에 응답하여 보다 개인적이고 효과적인 상호 작용을 할 수 있도록 도와줍니다.

사례: 회의 예약, KB 연결, 티켓팅 시스템 통합이 가능한 HubSpot Chatbot Builder .

콘텐츠 제작 및 편집

콘텐츠 제작 및 편집에도 프롬프트 엔지니어링이 필요합니다. ChatGPT는 사용자가 훌륭한 블로그 게시물, 이메일 및 창의적인 작품을 작성할 수 있도록 도와줍니다.

구체적이고 자세한 프롬프트를 제공함으로써 사용자는 ChatGPT가 자신의 스타일, 어조 및 목표에 맞는 텍스트를 개발하는 데 도움을 줄 수 있습니다. 팁은 생성된 콘텐츠가 요구 사항을 충족하는지 확인하기 위해 배경 정보, 예제 또는 명확한 제약 조건을 제공할 수 있습니다.

OpenAI는 콘텐츠의 일관성과 관련성을 개선하기 위해 프롬프트 엔지니어링에 대한 연구를 수행했습니다. 이를 통해 사용자는 다양한 프롬프트를 시도하고 편집 시간을 절약함으로써 더욱 매력적이고 주제 관련 텍스트를 생성할 수 있습니다.

도메인별 지식 검색

Prompt Engineering은 도메인별 지식을 효율적으로 검색할 수 있습니다. ChatGPT는 정확하고 관련성 있는 주제 정보를 제공하기 위해 대량의 도메인별 데이터에 대해 교육을 받을 수 있습니다.

사용자는 프롬프트를 사용자 정의하고 키워드나 컨텍스트를 추가하여 ChatGPT가 특정 분야의 지식을 검색하도록 안내할 수 있습니다. 의료, 법률, 금융, 기술 등의 산업에서는 정확한 정보가 매우 중요합니다.

프롬프트 엔지니어링 전략은 도메인별 지식 검색을 촉진하여 사용자에게 정확한 최신 정보를 제공합니다.

대화형 스토리텔링 및 게임

Prompt Engineering은 대화형 스토리텔링과 게임을 더욱 재미있게 만듭니다. ChatGPT는 사용자 입력에 응답하고 스토리를 발전시킵니다.

이전에 게임 업계에서 ChatGPT 적용에 대한 기사를 게시한 적이 있습니다 . 향상된 내러티브 기능 및 상호 작용_Yitang 식료품점의 블로그-CSDN 블로그 ChatGPT는 OpenAI에서 개발한 "Conversational Generation Pre-training Converter"의 약자로 강력한 언어 모델입니다. 텍스트와 같은 연속적인 데이터를 처리할 수 있는 신경망인 변환기 아키텍처를 기반으로 합니다. 본질적으로 ChatGPT는 주어진 입력을 기반으로 인간과 유사한 텍스트를 생성할 수 있으므로 게임을 포함한 많은 응용 프로그램에 유용한 도구가 됩니다. 게임 산업에서는 스토리텔링과 상호 작용을 향상시키기 위해 ChatGPT가 사용되고 있습니다. 예를 들어 NPC(비플레이어 캐릭터)에 대한 동적 대화 옵션을 생성하고, 사실적인 NPC 상호 작용을 생성하고, 비선형 분기 스토리라인을 개발하는 데에도 사용할 수 있습니다. https://blog.csdn.net/jeansboy/article/details/131754661?spm=1001.2014.3001.5501

사용자는 Prompt를 사용하여 몰입형 스토리와 게임을 구축하고 스토리 요소, 사용자 선택 또는 게임 메커니즘을 소개할 수 있습니다. 프롬프트 체인과 멀티 턴 대화는 풍부한 내러티브와 게임 상호 작용을 구현합니다.

사례 연구: OpenAI의 AI Dungeon은 Prompt Engineering이 대화형 스토리텔링과 게임을 어떻게 변화시킬 수 있는지 보여줍니다. AI 던전에서는 사용자들이 프롬프트를 통해 역동적인 내러티브에 함께 참여할 수 있습니다.

ChatGPT 프롬프트 엔지니어링이 개발자에게 의미하는 것

Deep Learning AI는 최근 Isa Fulford와 Andrew Ng(Ng Enda)가 가르치는 "개발자를 위한 ChatGPT 프롬프트 엔지니어링"이라는 과정을 시작했습니다.

단기 강좌 icon-default.png?t=N6B9https://www.deeplearning.ai/short-courses/?continueFlag=40c2724537472cbb3553ce1582e0db80

이 과정에서는 아직 충분한 관심을 받지 못한 신속한 소프트웨어 애플리케이션 개발을 위해 LLM에 대한 API 호출을 활용하는 개발자 도구로서 LLM(대형 언어 모델)의 잠재력을 강조합니다. 그들의 목표는 LLM의 효과적인 사용을 위한 가능성과 모범 사례를 공유하는 것입니다. 이 과정에서는 소프트웨어 개발을 위한 즉각적인 모범 사례는 물론 요약, 추론, 변환 및 확장과 같은 일상적인 사용 사례를 다루며 LLM을 사용하여 챗봇을 구축하는 방법을 보여줍니다.

본 강좌에서는 주로 OpenAI의 ChatGPT 모델, 특히 GPT 3.5 Turbo를 사용하고, 시연을 위해 Python(특히 Jupyter Notebook)을 사용합니다.

다음은 배운 몇 가지 교훈입니다.

두 가지 원칙:

원칙 1: 명확하고 구체적인 지침을 작성하세요.

모델을 효과적으로 안내하고 관련이 없거나 잘못된 응답의 가능성을 줄이려면 명확하고 모호하지 않은 지침을 표현하는 것이 중요합니다. 명확한 프롬프트와 짧은 프롬프트를 혼동하지 마십시오. 일반적으로 프롬프트가 길수록 더 명확성과 맥락이 제공되어 자세하고 관련성이 높은 출력이 생성되기 때문입니다.

  • 전략 1: 구분 기호를 사용하여 따옴표 세 개('''), 백틱 세 개('*'), 대시 세 개(' — -'), 꺾쇠 괄호(< ›) 또는 XML 태그와 같은 입력의 다양한 부분을 나타냅니다. (<태그> </tag>). 또한 구분 기호는 일관되지 않은 사용자 지침이 모델을 오도할 수 있는 신속한 삽입을 방지하는 데도 도움이 됩니다.
text = f"""
You should express what you want a model to do by \ 
providing instructions that are as clear and \ 
specific as you can possibly make them. \ 
This will guide the model towards the desired output, \ 
and reduce the chances of receiving irrelevant \ 
or incorrect responses. Don't confuse writing a \ 
clear prompt with writing a short prompt. \ 
In many cases, longer prompts provide more clarity \ 
and context for the model, which can lead to \ 
more detailed and relevant outputs.
"""

prompt = f"""
Summarize the text delimited by triple backticks \ 
into a single sentence.
```{text}```
"""
  • 전략 2: 모델의 답변을 더 쉽게 구문 분석할 수 있도록 HTML 또는 JSON 형식과 같은 구조화된 출력을 요청합니다. 이렇게 하면 모델의 답변을 더 쉽게 처리하고 정보를 추출할 수 있습니다.
prompt = f"""
Generate a list of three made-up book titles along \ with their authors and genres.
Provide them in JSON format with the following keys: book_id, title, author, genre.
"""
response = get completion (prompt)
print (response)

  • 전략 3: 작업의 전제 조건이 충족되었는지 확인합니다. 먼저 프롬프트 모델은 이러한 전제 조건을 확인하고 전체 작업 완료를 시도하지 않고 충족되지 않은 조건을 지적합니다. 잠재적인 극단적 사례를 고려하고 모델이 이를 적절하게 처리하여 예기치 않은 오류나 결과를 방지할 수 있는지 확인하세요. 이는 모델의 신뢰성과 견고성을 향상시킵니다.

  • 전략 4: 모델에게 원하는 작업을 수행하도록 요청하기 전에 몇 번의 힌트를 활용하여 성공적으로 수행된 작업의 예를 제공합니다. 예제를 통해 모델이 유사한 작업을 처리하는 방법을 이해하고 필요한 지침을 제공할 수 있습니다. 이를 통해 모델 학습 및 적응 속도가 빨라지고 사용자 의도를 더 쉽게 이해하고 정확한 응답을 생성할 수 있습니다.
prompt = f"""
Your task is to answer in a consistent style.

<child>: Teach me about patience.

<grandparent>: The river that carves the deepest \ valley flows from a modest spring; the \ grandest symphony originates from a single note; \ the most intricate tapestry begins with a solitary thread.

<child>: Teach me about resilience.
"""
response = get completion (prompt)
print (response)

원칙 2: 모델에게 생각할 시간을 충분히 주어야 합니다.

추론 오류와 성급한 결론을 방지하기 위해 모델이 문제에 대해 생각하고 추론할 수 있는 충분한 시간을 허용합니다. 복잡한 작업에는 모델이 최종 답변을 제공하기 전에 단계별 지침이나 일련의 관련 추론 단계가 필요할 수 있습니다.

  • 전략 1: 특히 직접적인 답변이 어려운 경우 작업을 완료하기 위한 단계를 명확하게 설명하세요. 인간이 문제를 해결하는 것처럼 모델도 최종 솔루션을 제공하기 전에 일련의 적절한 추론 단계를 거쳐야 합니다. 이를 통해 모델은 답변을 생성하기 전에 충분히 생각하고 추론할 수 있으므로 응답의 정확성과 타당성이 향상됩니다.
prompt 2 = f"""
Your task is to perform the following actions:
1 - Summarize the following text delimited by <> with 1 sentence.
2 - Translate the summary into French.
3 - List each name in the French summary.
4 - Output a json object that contains the following keys: french_ summary, num names.

Use the following format:
Text: <text to summarize>
Summary: <summary>
Translation: <summary translation>
Names: <list of names in Italian summary>
Output JSON: <ison with summary and num names>

Text: <{text!>
response = get_completion (prompt_2)
print "InCompletion for prompt 2:")
print (response)

  • 전략 2: 결론에 도달하기 전에 모델에 솔루션을 찾도록 지시합니다. 답변을 제공하기 전에 추론하고 생각하도록 모델에 명시적으로 지시하면 더 나은 결과를 얻을 수 있는 경우가 많습니다. 이 접근 방식을 사용하면 모델이 정확한 응답을 처리하고 도출하는 데 충분한 시간을 확보할 수 있습니다.

이러한 원칙과 전략을 따르면 개발자는 LLM 사용을 최적화하고 소프트웨어 개발에서 원하는 결과를 얻을 수 있습니다. 이를 통해 모델의 성능과 유연성이 향상되어 사용자 요구 사항을 더 잘 충족할 수 있습니다.

반복적이고 신속한 개발:

반복 프롬프트 개발 과정은 프로그래밍 실습과 유사합니다. 여기에는 다양한 접근 방식을 시도하고 필요에 따라 개선하고 다시 시도하는 것이 포함됩니다. 관련된 단계는 다음과 같습니다.

  1. 해결책을 시도해 보세요.
  2. 결과를 분석하여 예상 결과와의 편차를 찾습니다.
  3. 지침을 명확히 하고 생각할 시간을 더 많이 허용하십시오.
  4. 프롬프트를 구체화하려면 일련의 예제를 사용하세요.
  5. 이 과정을 반복하세요.

강좌 예에서 강사는 제품 사양에서 마케팅 카피를 생성하는 것과 관련된 사례 연구를 제시했습니다. 그들은 각 단계에서 프롬프트를 최적화하여 세 가지 주요 문제를 반복적으로 해결했습니다.

문제 1: 텍스트가 너무 깁니다 -> 해결책: 텍스트를 최대 50 단어로 제한합니다.

문제 2: 관련 없는 세부 사항에 집중 -> 해결책: "설명은 가구 소매업체에 적용됩니다..."와 같이 타겟 고객을 추가합니다.

문제 3: 사이즈 차트 누락 -> 해결 방법: 모든 항목을 HTML로 포맷하세요.

능력:

읽기 요약:

텍스트 요약을 위해 대규모 언어 모델이 널리 사용되었습니다. 특정 프롬프트를 제공하여 가격 및 가치 요약을 요청할 수 있습니다.

prompt = f"""
Your task is to generate a short summary of a product \
review from an ecommerce site to give feedback to the \
pricing deparmtment, responsible for determining the \
price of the product.  

Summarize the review below, delimited by triple 
backticks, in at most 30 words, and focusing on any aspects \
that are relevant to the price and perceived value. 

Review: ```{prod_review}```
"""

또한 여러 텍스트를 요약하는 루프를 작성할 수도 있습니다.

reviews = [review_1, review_2, review_3, review_4]

for i in range(len(reviews)):
    prompt = f"""
    Your task is to generate a short summary of a product \ 
    review from an ecommerce site. 

    Summarize the review below, delimited by triple \
    backticks in at most 20 words. 

    Review: ```{reviews[i]}```
    """

    response = get_completion(prompt)
    print(i, response, "\n")

추리:

대규모 언어 모델은 특별한 훈련 없이도 다양한 측면을 추론할 수 있습니다. 감정, 감정을 판단하고, 제품 및 회사 이름을 추출하고, 테마를 찾는 등의 작업을 수행할 수 있습니다.

전환하다:

대규모 언어 모델은 언어 번역, 철자 및 문법 검사, 어조 조정, 서식 변환 등 텍스트 변환 작업에 탁월합니다.

prompt = f"""
Translate the following text to French and Spanish and English pirate: \
```I want to order a basketball```
"""

response = get completion (prompt)
print response

확장:

대규모 언어 모델은 각 고객의 평가에 맞는 맞춤형 고객 서비스 이메일을 생성할 수 있습니다.

prompt = f"""
You are a customer service AI assistant.
Your task is to send an email reply to a valued customer.
Given the customer email delimited by ```,\
Generate a reply to thank the customer for their review.
If the sentiment is positive or neutral, thank them for \
their review.
If the sentiment is negative, apologize and suggest that \
they can reach out to customer service.
Make sure to use specific details from the review.
Write in a concise and professional tone.
Sign the email as `AI customer agent`.
Customer review: ```{review}```
Review sentiment: (sentiment}
"""

response = get completion (prompt, temperature=0.7)
print(response)

챗봇 개발:

대규모 언어 모델 활용의 매력적인 측면 중 하나는 맞춤형 챗봇을 쉽게 만들 수 있다는 것입니다. ChatGPT의 웹 인터페이스는 강력한 언어 모델로 구동되는 대화 플랫폼을 제공합니다. 그러나 정말 흥미로운 점은 대규모 언어 모델의 힘을 활용하여 레스토랑용 AI 고객 서비스 에이전트나 AI 주문 봇과 같은 자신만의 챗봇을 구축한다는 것입니다.

이 경우 이 챗봇을 "OrderBot"이라고 부르겠습니다. 목표는 사용자 프롬프트와 보조자 응답을 자동으로 수집하여 효율적인 "OrderBot"을 구축하는 것입니다. 주요 단계는 유틸리티 기능을 정의하는 것입니다. 이 기능은 사용자 메시지를 수집하는 데 도움이 되므로 수동으로 입력할 필요가 없습니다. 사용자 인터페이스에서 수집된 프롬프트는 "컨텍스트"라는 목록에 추가됩니다. 이후 각 상호 작용에 대해 이 컨텍스트를 사용하여 모델이 호출됩니다.

모델의 응답이 컨텍스트에 추가되어 모델과 사용자의 메시지가 모두 보존되어 컨텍스트가 지속적으로 성장하도록 돕습니다. 이 정보의 축적을 통해 모델은 적절한 조치를 결정할 수 있습니다.

마지막으로 OrderBot을 표시하는 사용자 인터페이스를 설정하고 구현합니다. 컨텍스트에는 메뉴가 포함된 시스템 메시지가 포함되어 있으며 언어 모델과의 모든 상호 작용에서 일관됩니다. 더 많은 상호 작용이 발생하면 컨텍스트가 발전하여 대화에 대한 포괄적인 기록이 유지됩니다.

요약하다

Prompt Engineering은 ChatGPT의 판도를 바꾸는 도구입니다. 이 기술을 익히면 특정 요구 사항에 맞게 언어 모델의 응답을 형성하고 조종할 수 있습니다.

현장에서 혁신을 주도하는 지속적인 연구와 협업을 통해 Prompt Engineering의 미래는 밝아 보입니다. 언어 모델이 계속 발전함에 따라 Prompt Engineering은 해당 모델의 잠재력을 최대한 활용하는 데 핵심적인 역할을 할 것입니다.

ChatGPT의 프롬프트 엔지니어링은 무한한 가능성을 열어줍니다. 효과적인 기술을 구현하고 고급 전략을 탐구함으로써 언어 모델과 상호 작용하는 방식을 바꿀 수 있습니다. Prompt Engineering은 고객 서비스 챗봇, 콘텐츠 개발, 게임을 혁신하여 AI와 인간의 협업을 촉진합니다.

자주하는 질문

프롬프트엔지니어링이란?

프롬프트 엔지니어링은 사용자 의도를 ChatGPT와 같은 언어 모델에 전달하기 위한 효과적인 프롬프트와 지침을 설계하는 프로세스입니다. 이는 모델로부터 정확하고 관련성이 높으며 유용한 응답을 얻는 데 도움이 됩니다.

ChatGPT에 프롬프트 엔지니어링이 중요한 이유는 무엇입니까?

신속한 엔지니어링은 ChatGPT의 효율성을 극대화하는 데 매우 중요합니다. 세심하게 제작된 프롬프트를 디자인함으로써 사용자는 모델을 안내하여 보다 정확하고 관련성이 높은 출력을 생성할 수 있으므로 다양한 응용 분야에 유용한 도구가 됩니다.

좋은 프롬프트 엔지니어링 기술에는 어떤 것이 있나요?

좋은 프롬프트 엔지니어링 팁은 다음과 같습니다.

  • 명확하고 구체적인 지침을 제공하세요.
  • 명시적 제약 조건 사용
  • 문맥과 예시를 사용해 보세요
  • 시스템 1 및 시스템 2 문제 악용
  • 출력의 자세한 정도 제어

더 나은 결과를 얻으려면 어떻게 프롬프트를 개선할 수 있나요?

프롬프트를 개선하려면 다음을 수행하세요.

  • 반복적으로 테스트하고 조정하세요.
  • 사용자 의도와 모델 창의성의 균형을 유지하세요
  • 외부 리소스 및 API로 ChatGPT 기능 향상
  • 프롬프트와 출력에서 ​​편견이 방지되는지 확인하세요.

여기에는 더 나은 프롬프트를 작성하는 데 도움이 되는 ChatGPT 프롬프트 치트 시트 도 있습니다 .

고급 프롬프트 엔지니어링 전략은 무엇입니까?

고급 프롬프트 엔지니어링 전략에는 다음이 포함됩니다.

  • 온도 및 토큰 설정을 제어하여 무작위성과 응답 길이를 조정합니다.
  • 프롬프트 체인을 통해 여러 라운드의 대화 생성
  • 도메인별 애플리케이션에 맞게 프롬프트 조정
  • 모호하거나 일관되지 않은 사용자 입력 처리

추신

읽어주셔서 감사합니다. 글이 너무 길어요. 이 글을 읽어주신다면 프롬프트엔지니어링의 중요성을 인지하고 그 기술을 익히고 싶다는 뜻이기도 합니다. 저는 재능이 없고 아직 배우는 중입니다. 개발자로서 사람들은 반복, 체인 및 제어 매개변수와 같은 엔지니어링 기술을 이해하고 익히는 것이 더 쉬울 수 있습니다. 여기에 있는 대부분의 기사는 다음 기사를 번역한 것입니다.

개발자를 위한 최고의 ChatGPT 프롬프트 엔지니어링 가이드

원본 기사의 작성자에게 매우 감사하며 그로부터 많은 것을 배웠습니다. 또한 원본 기사의 많은 프롬프트 기술을 사용하여 이 기사의 몇 가지 예를 완성했습니다. Prompt Engineering과 Prompt에 대한 팁을 교환하고 싶으시면 언제든지 연락주세요.

추천

출처blog.csdn.net/jeansboy/article/details/131797658