[레전드 강의] 개발자를 위한 프롬프트 엔지니어링 스터디 노트 3
세계 최고의 딥러닝 석학 4대 천왕 중 한 분인 앤드류 응 교수님과 OpenAI에서 Cookbook 공식 가이드와 Retrieval plugin 만드신 직원분이 함께 "개발자를 위한 ChatGPT 프롬프트 엔지니어링" 강의를 최근 무료로 출시하셨습니다. 1시간 정도 되는 짧은 강의라 저도 빠르게 훑어보았는데 프롬프트 엔지니어링을 어떻게 하면 좋을지 다양한 사례를 배우고 피자 주문받아주는 챗봇 만드는 예제까지 다룹니다. PC에 뭘 설치할 필요도 없이 그냥 키 넣고 바로 실행해 볼 수 있습니다! 프롬프트 엔지니어링 관심 있으신 분들은 한번
들어보시는 것을 추천드립니다! 최고 딥러닝 석학과 OpenAI 직원 피셜이라 신뢰가 가네요.
ChatGPT Prompt Engineering for Developers
https://lnkd.in/gFVs_YDX
ChatGPT Prompt Engineering for Developers
What you’ll learn in this course In ChatGPT Prompt Engineering for Developers, you will learn how to use a large language model (LLM) to quickly build new and powerful applications. Using the OpenAI API, you’ll...
www.deeplearning.ai
- 참고 : 이해가 어려우시면 아래 강의 듣고 배우시면 좋습니다.
파이썬 기초 배우기
https://lnkd.in/gDDVTzhg
ChatGPT API 활용한 수익형 웹서비스 만들기
https://lnkd.in/gdiiJEcz
SUMMARIZING : 요약
요즘 세상에는 너무 많은 텍스트가 있어서 우리는 원하는 모든 것을 읽을 시간이 거의 없습니다. 그래서 대형 언어 모델 중 가장 흥미로운 응용 프로그램 중 하나는 텍스트를 요약하는 데 사용하는 것 입니다. 이것은 여러 팀이 다양한 소프트웨어 애플리케이션에 구축하는 것을 보고 있습니다. Chat GPT 웹 인터페이스에서 이를 수행할 수 있습니다. 나는 이 기능을 자주 사용하여 기사를 요약하여 이전보다 더 많은 기사의 내용을 읽을 수 있습니다. 만약 프로그래밍 방식으로 이것을 수행하고 싶다면, 이 강의에서 그 방법을 알 수 있을 것입니다. 그러니까, 코드를 살펴보며 텍스트를 요약하는 데 자신이 사용할 수 있는 방법을 알아보도록 하겠습니다. 이전에 보았던 것과 동일한 시작 코드로 시작해보겠습니다. OpenAI를 임포트하고 API 키를 로드하며 getCompletion 도우미 함수가 있습니다.
저는 실행 예시로 제품 리뷰를 요약하는 작업을 사용할 것입니다. "이 판다 인형을 딸의 생일 선물로 받았는데, 딸이 너무 좋아하고 어디든지 가져다 놓고 놀아요"와 같은 내용이 있습니다. 만약 전자 상거래 웹사이트를 구축하고 있는데 리뷰의 양이 많다면, 긴 리뷰를 요약하는 도구가 있다면 더 많은 리뷰를 빠르게 훑어보고 모든 고객들의 생각을 더 잘 이해할 수 있는 방법을 제공할 수 있을 것입니다. 따라서 다음과 같은 요약을 생성하는 프롬프트가 있습니다. 전자 상거래 웹사이트의 제품 리뷰를 간결하게 요약하는 작업을 수행하세요. 아래의 리뷰를 최대 30단어로 요약하세요.
그래서 이것은 딸이 사랑하는 부드럽고 귀여운 판다 인형으로 가격에 비해 작지만 일찍 도착했습니다. 나쁘지 않아요, 꽤 좋은 요약입니다. 이전 비디오에서 보았듯이, 문자 수나 문장 수를 조절하여 이 요약의 길이에 영향을 주는 등 조작할 수도 있습니다. 이제 때로는 요약을 작성할 때, 요약에 특정한 목적이 있다면, 예를 들어 배송 부서에 피드백을 제공하고 싶다면, 프롬프트를 수정하여 해당 목적을 반영하여 비즈니스 내 특정 그룹에 더 적합한 요약을 생성할 수도 있습니다. 따라서, 예를 들어, 배송 부서에 피드백을 제공하기 위해 프롬프트를 수정해보겠습니다. 어떤 측면을 언급하는 모든 측면에 초점을 맞추도록 변경하겠습니다.
제품의 배송과 납품에 대한 피드백입니다. 이렇게 실행하면 예상보다 하루 일찍 도착한 사실에 초점을 맞춘 요약이 나옵니다. 그리고 여전히 다른 세부 정보가 포함되어 있습니다. 또 다른 예로, 배송 부서에 피드백을 제공하는 대신, 가격 부서에 피드백을 제공하고 싶다고 가정해 봅시다. 가격 부서는 제품의 가격을 결정하는 역할을 맡고 있습니다.
가격과 인식된 가치와 관련된 측면에 초점을 맞출 것을 알려드리겠습니다. 그럼 다른 요약이 생성되는데, 이에 따르면 크기에 비해 가격이 너무 높을 수도 있습니다. 이렇게 생성된 요약에서는 배송 부서나 가격 부서와 관련된 정보에 조금 더 초점을 맞춥니다. 실제로 이 비디오를 잠시 멈추고 제품 부서에서 제품의 고객 경험에 관련된 정보를 생성하도록 요청해도 좋습니다. 또는 전자상거래 사이트와 관련이 있다고 생각되는 다른 주제에 대해서도 가능합니다. 그러나 이러한 요약에서는 배송과 관련된 정보뿐만 아니라 다른 정보도 생성되었는데, 이는 도움이 될 수도 있고 그렇지 않을 수도 있습니다.
요약하는 대신 정보를 추출하도록 요청할 수도 있습니다. 다음과 같은 프롬프트가 있습니다. "배송 부서에 피드백을 제공하기 위해 관련 정보를 추출하는 것이 업무입니다." 그러면 예상보다 하루 빨리 제품이 도착했다는 내용만을 제시합니다. 다른 모든 정보는 제외되었는데, 이는 일반적인 요약에서 유용했지만 배송 부서에게 중요한 것은 단지 배송 상황이므로 다른 정보는 필요하지 않기 때문입니다. 마지막으로, 여러 리뷰를 요약하여 읽기 쉽게 만들기 위한 워크플로우에서 이 기능을 활용하는 구체적인 예시를 공유해 드리겠습니다.여기 몇 개의 리뷰가 있습니다. 다소 긴 리뷰인데요, 두 번째 리뷰는 침실에 사용하는 스탠딩 램프인 니들 램프에 대한 리뷰입니다. 세 번째 리뷰는 전동 칫솔에 관한 것인데, 제 치위생사가 추천했습니다. 전동 칫솔에 관한 상당히 긴 리뷰입니다. 이 리뷰는 블렌더에 대한 것인데, 계절 세일로 17개 제품이 포함된 시스템 등과 같은 내용이 포함되어 있습니다. 실제로 텍스트가 많습니다. 원한다면 동영상을 일시 중지하고 이 모든 텍스트를 자세히 읽어보세요
. 하지만 이 리뷰들을 자세히 읽지 않고도 리뷰어들이 무엇을 썼는지 알고 싶다면 어떻게 해야 할까요? 첫 번째 리뷰를 위에 있던 제품 리뷰만으로 설정하고, 이 리뷰들을 리스트에 넣겠습니다. 그리고 이제 리뷰들을 for 루프로 구현하면 됩니다.
그래서 제 프롬프트는 여기 있고, 저는 최대 20단어로 요약하도록 요청했습니다. 그럼 응답을 가져와서 출력하도록 하겠습니다. 그리고 실행해 보겠습니다. 그러면 첫 번째 리뷰는 Pantatoi 리뷰, 램프의 요약 리뷰, 칫솔의 요약 리뷰, 그리고 블렌더의 요약 리뷰가 출력됩니다. 그리고 수백 개의 리뷰가 있는 웹사이트가 있다면, 이를 사용하여 다수의 리뷰를 요약하여 대시보드를 만들 수 있다는 생각을 해볼 수 있습니다. 그렇게 하면 당신이나 다른 사람이 리뷰를 훨씬 빠르게 살펴볼 수 있습니다. 그리고 원한다면 원래 긴 리뷰를 클릭하여 확인할 수도 있습니다. 이를 통해 모든 고객들의 생각을 효율적으로 파악할 수 있습니다. 그래서 이것이 요약에 대한 내용이었습니다.
여러분이 다양한 텍스트를 다루는 응용 프로그램을 가지고 있다면, 이와 같은 프롬프트를 사용하여 텍스트의 내용을 요약하여 사람들이 텍스트의 내용을 빠르게 파악할 수 있도록 도와주는 방법을 상상해볼 수 있을 것입니다. 원한다면 자세히 파고들 수도 있습니다. 다음 동영상에서는 대형 언어 모델의 또 다른 기능인 텍스트를 사용하여 추론하는 방법을 살펴보겠습니다. 예를 들어, 제품 리뷰가 있고 긍정적인지 부정적인지 빠르게 파악하고 싶다면 어떻게 할까요? 다음 동영상에서 그 방법을 살펴보겠습니다.