지금처럼 gpts에서 질문하고 답변하는 것을 여러단계로 거쳐서 GPTrk 필요한 정보를 마저 얻게 하는 방법이 궁금하다. gpts를 만든다고 할 경우 어떻게 인스트럭션을 넣어야 지금처럼 필요한 정보를 요청하게 할 수 있나? 또 사용자가 답변을 할때 보기를 선택할수 있게 질문지를 만드는 방법에 대해서도 알려줘
GPT를 만들어서 여러 단계를 거쳐 필요한 정보를 단계적으로 수집하고, 사용자가 쉽게 답변할 수 있도록 "보기"를 제공하는 방법에 대해 설명드리겠습니다. 이를 위해 사용자와의 상호작용을 구조화하고, 명확한 지침을 설정하는 것이 중요합니다.
1. 여러 단계를 거쳐 정보를 수집하는 방식
이런 단계적 상호작용을 만들기 위해서는 GPT에게 명확한 시퀀스를 정의하는 인스트럭션을 제공해야 합니다. 각 단계마다 GPT가 어떤 정보를 요청해야 하는지 정의할 수 있으며, 이전 단계의 정보가 없을 경우엔 다음 단계로 넘어가지 않도록 설정할 수 있습니다.
인스트럭션 작성 방법:
- 첫 번째 단계: 기본적인 정보를 수집하는 단계
- 사용자에게 필요한 URL 또는 가장 기본적인 정보를 요청
- 이 단계에서 충분한 정보가 수집되지 않으면, 이후 단계로 넘어가지 않도록 설정
- 두 번째 단계: 추가 정보를 요청하는 단계
- 첫 번째 단계에서 받은 정보를 바탕으로 세부 정보를 요청
- 예시: Webhook URL을 받은 후에는 HTTP 메서드, 파라미터 정보 등 구체적인 요청을 요구
- 세 번째 단계: 응답 형식 또는 옵션을 제시하는 단계
- 사용자에게 응답 형식 또는 보기 제공을 통해 선택지를 좁히거나 가이드라인을 제시
예시:
plaintext
코드 복사
1단계: 사용자가 Webhook URL을 입력하지 않으면, 그 정보를 요청한다. - 질문: "Webhook URL을 입력해주세요." 2단계: Webhook URL을 받으면, Webhook의 기능에 대해 묻는다. - 질문: "Webhook이 어떤 기능을 수행하나요? 예를 들어, 데이터를 받거나 특정 작업을 트리거하나요?" 3단계: 추가적인 정보가 필요하면, HTTP 메서드와 파라미터 정보를 요청한다. - 질문: "이 Webhook이 사용하는 HTTP 메서드는 무엇인가요? GET, POST 등 중 하나를 선택해주세요." 정보를 단계적으로 요구함으로써, 모든 필수 정보가 수집될 때까지 대화가 진행됩니다.
2. 사용자가 보기 선택이 가능하게 만드는 방법
사용자가 직접 답변하기 어려운 경우, **보기(선택지)**를 제공하여 사용자가 쉽게 선택할 수 있도록 할 수 있습니다. 이를 위해서는 다음과 같은 방법으로 인스트럭션을 작성할 수 있습니다.
인스트럭션 예시:
- 옵션 제공: 사용자가 선택할 수 있는 다양한 보기 제공
- 예: HTTP 메서드를 선택하게 하거나, 데이터 형식을 선택하도록 함.
- 보기 질문 방식:
- 질문 예시: "Webhook에서 사용하는 HTTP 메서드는 무엇인가요?"
- 보기:
- GET
- POST
- PUT
- DELETE
- 보기:
- 질문 예시: "Webhook에서 사용하는 HTTP 메서드는 무엇인가요?"
- 보기 인식 및 처리: 선택된 값에 따라 다음 단계로 자연스럽게 넘어가도록 인스트럭션 작성.
보기 제공 인스트럭션 예시:
yaml
코드 복사
openapi: 3.1.0 info: title: Step-by-Step API Documentation Assistant version: 1.0.0 description: This GPT helps you create an OpenAPI specification by gathering necessary information step-by-step. instructions: - First, request the Webhook URL from the user. If not provided, keep requesting it. - Once the Webhook URL is obtained, ask about its function: what does it do? Provide examples. - Next, request the HTTP method (GET, POST, PUT, DELETE). Provide options as multiple-choice answers. - After gathering the HTTP method, ask for the structure of the request (parameters, body, etc.). Provide examples or choices if needed. - Continue collecting information until all necessary details for generating the API documentation are gathered. choices: - HTTP Method: 1. GET 2. POST 3. PUT 4. DELETE - Response format: 1. JSON 2. XML 3. Plain Text
3. 구체적인 질문과 보기 제공 흐름 예시
yaml
코드 복사
openapi: 3.1.0 info: title: Custom Webhook API Creator version: 1.0.0 instructions: - Ask for the Webhook URL first, as it is essential. - Once the Webhook URL is obtained, request the function of the Webhook. Example question: "Webhook이 데이터를 수신하나요, 아니면 작업을 트리거하나요?" - Next, request the HTTP method, providing choices (GET, POST, PUT, DELETE). Example question: "Webhook에서 사용되는 HTTP 메서드를 선택해주세요." - Based on the HTTP method, ask for the necessary parameters and request/response bodies. choices: - HTTP Method: 1. GET 2. POST 3. PUT 4. DELETE - Expected Response Status Codes: 1. 200 OK 2. 400 Bad Request 3. 404 Not Found 4. 500 Internal Server Error - Data Format: 1. JSON 2. XML 3. Plain Text
4. 단계별 진행 요약
- 1단계: 필수 정보가 수집될 때까지 질문 반복 (예: Webhook URL 등)
- 2단계: 수집된 기본 정보를 바탕으로 세부 정보 수집 (기능, 파라미터, 응답 형식)
- 3단계: 보기를 제공해 선택지를 좁혀가며 사용자에게 선택의 편리함 제공 (예: HTTP 메서드, 응답 형식 등)
- 4단계: 마지막으로 모든 정보를 바탕으로 OpenAPI 스펙 생성
이 방법을 사용하면, 필요한 정보를 빠뜨리지 않고 단계적으로 수집할 수 있으며, 사용자가 답변하기 어려운 경우에도 보기(선택지)를 제공해 편리하게 답변을 받을 수 있습니다.
'개발 > Python' 카테고리의 다른 글
gradio를 jupyter내에서 실행할때 output의 높이를 더 늘리려면? (0) | 2023.09.18 |
---|---|
jupyter에서 nest_asyncio로 이벤트 루프 열기 (0) | 2023.09.15 |
Python을 이용한 문자열 간단한 암호화 및 복호화 방법 (0) | 2023.07.18 |
Korean PLM (0) | 2023.07.04 |
jupyter notebook port 변경 (0) | 2023.07.04 |