Overview
이 실습에서는 구글의 생성형 AI인 Gemini의 경험을 얻기 위해 Google Cloud에서 제공하는 Vertex AI라는 통합 Interface를 경험하는 실습을 제공한다. 이 실습에서는 생성형 AI에 요청 사항을 전달할 때 어떤 원칙으로 전달해야 하는 것에 대해 익히게 되는데, 그냥 브라우져를 통해 대화를 하는 것이 아니라 Code를 통해 문답을 진행하는 방법을 익힌다.
실습에서 사용하는 Code는 Python이라 사용 경험이 많지는 않았지만 예제로 제공되는 코드의 난이도가 복잡하지 않아 이해하는 데에는 문제는 없었다.
작업 1, 2. Vertex AI Workbench >노트북 > 설정
1. <pic 1>과 같이 Google Cloud 콘솔의 탐색 메뉴(
))에서 Vertex AI > Workbench를 클릭해서 진입한다.
2. 1을 통해 <pic 2>를 진입한 후에, vertex-ai-jupyterlab
인스턴스를 확인하고 JupyterLab 열기 버튼을 클릭하면 Code를 통한 생성형 AI를 위한 작업이 시작된다.
3. 진입한 Workbench는 <pic 3>와 같고, 왼쪽 상단에 intro_prompt_design-v2.0.0.ipynb 을 Open 한다. (ipynb 확장자는 Jupyter Notebook 환경에서 사용하는 대화형 문서 형식이다.)
4. 파일을 Open할 때 <pic 4>와 같이 커널 선택 Popup이 나오는데 Python 3를 선택 한다.
5. intro_prompt_design-v2.0.0.ipynb의 중간을 보면 <pic 5>와 같이 Import library라는 Section이 보이는데, 표시한 "[your-project-id]"와 Region 정보를 실습창에 표기된 내용을 바꿔서 수정한다.
그 이후 전체 실행하면 실습 진도 Check하는 것은 별 문제 없다.
학습내용
예제 코드에서 강습생들에게 알리고 싶은 주요 내용은 아래와 같다.
생성형 AI에 요청할 때 주의 사항
- 간결하게 작성하기
- 장황한 문장 : "What do you think could be a good name for a flower shop that specializes in selling bouquets of dried flowers more than fresh flowers?"
- 권장 : "Suggest a name for a flower shop that sells bouquets of dried flowers"
- 구체적이고 명확하게 작성하기
- 너무 두루뭉실함 : "Tell me about Earth"
- 권장 : "Generate a list of ways that makes Earth unique compared to other planets"
- 한 번에 하나만 요청할 것
- 질문의 내용이 몇 개의 부분으로 구성됨 : "What's the best method of boiling water and why is the sky blue?"
- 권장 : "What's the best method of boiling water?"
- "hallucinations" 주의
- 생성형 AI는 진위 판단 능력을 가지지 못하기 떄문에 시간의 흐름 같이 변할 수도 있고, 변하지 않을 수도 있는 사실에 대해 묻는 시점에 대한 정확한 답이 아닌 그럴 듯한 답을 생성하는 오류를 가르킨다.
- 예제에 나온 "What day is it today?"을 반복적으로 수행할 때 날짜가 지나지 않았는데도 지난 것처럼 대답할 때가 있다.
변동성 통제
- 'System Instruction'을 제공해서 어떤 역할을 고려해서 대답해야 하는 지 범위를 정한다
- Code로 나온 예제는 여행객에게 도움이 되는 답을 하는 것으로 System Instruction을 정의하고 있다
system_instruction=[
"Hello! You are an AI chatbot for a travel web site.",
"Your mission is to provide helpful queries for travelers.",
"Remember that before you answer a question, you must check to see if it complies with your mission.",
"If not, you can say, Sorry I can't answer that question.",
]
- 주관식 보다는 객관식 답으로 유도하는 편이 좋다.
- 코드에서는 막연히 SW 개발 기술을 향상하기 위한 방법을 추천받는 것 보다 어떤 SW 언어를 어떤 이유에서 공부하는 게 좋은 지 묻고 있다.
예제 활용
- 1~5개 수준의 예제는 생성형 AI 답변의 정확도에 도움을 줌.
- Zero-shot prompt : 예제 없이 대답 유도
- One-shot prompt : 1개의 예제만 주고 대답 유도.
- Few-shot prompt : 1개 넘는 예제 제공
- 아래는 Few-shot prompt 의 예
prompt = """Decide whether a Tweet's sentiment is positive, neutral, or negative.
Tweet: I loved the new YouTube video you made!
Sentiment: positive
Tweet: That was awful. Super boring 😠
Sentiment: negative
Tweet: Something surprised me about this video - it was actually original. It was not the same old recycled stuff that I always see. Watch it - you will not regret it.
Sentiment:
"""
response = client.models.generate_content(model=MODEL_ID, contents=prompt)
display(Markdown(response.text))
'Public Cloud > Google Cloud Study Jam' 카테고리의 다른 글
Google Study Jam + Cloud Skills Boost site 소개 (0) | 2025.04.28 |
---|