Gemini 인공지능 (AI) 모델 제품군은 데이터 세트를 학습합니다. 이 둘 이상의 데이터 유형 또는 모드를 처리할 수 있는 경우, Gemini 모델은 멀티모달 모델이라고 하거나 멀티모달 기능이 있는 것으로 설명할 수 있습니다.
이 페이지에서는 다음과 같이 미디어 파일을 사용하기 위한 안내와 권장사항을 제공합니다. 프롬프트가 표시됩니다 Gemini Files API를 사용하는 방법에 관한 정보 미디어 파일을 업로드하고 프롬프트에 포함하는 경우 Vision, Audio 문서 처리 가이드
프롬프트와 함께 미디어 파일 사용
프롬프트에서 다양한 유형의 데이터를 사용하면 유연성을 발휘하는 데 도움이 됩니다. 대상 예를 들어 모델에 맛있는 식사 사진을 보내고 블로그가 있습니다.
프롬프트 | 응답 |
이 사진을 바탕으로 마음을 사로잡는 짧은 블로그 게시물을 작성합니다. 또한 사진에 식사 설명을 포함하고 저의 여정에 대해 이야기해 주세요 식사 준비 등이 포함됩니다. |
식사 준비는 시간과 비용을 절약하는 좋은 방법이며, 도움이 됩니다. 이 식사는 건강한 삶을 위한 미리 쉽게 준비할 수 있는 맛있는 음식이 있습니다. 현미, 구운 야채, 치킨 데리야키로 구성된 식사입니다. 현미는 건강하고 복합적인 탄수화물로 지속적인 에너지가 필요합니다. 구운 채소를 먹으면 하루를 위한 비타민과 미네랄이 아주 듬뿍 들어있고 치킨 데리야끼는 맛있고 단백질이 풍부한 선택지입니다. 이 음식은 또한 매우 쉽게 준비할 수 있습니다. 현미를 끓이고 굽기만 하면 야채를 넣고 치킨 데리야키를 요리합니다. 모든 요리가 끝나면 음식 준비 용기로 나누어 냉장고에 보관합니다. 그런 다음 용기를 빌려 바쁜 아침에 일어날 수 있습니다. 건강하고 맛있는 식사를 하고 싶으시다면 미리 준비된 이 식사는 훌륭한 옵션입니다. Google Kubernetes Engine은 영양소와 풍미를 함께 즐기면서 포만감을 느끼게 할 것입니다. 건강하고 맛있는 식사를 준비하실 수 있습니다. |
미디어를 사용한 프롬프트 작성 전략
사용하는 프롬프트에서 원하는 출력을 얻는 데 문제가 있는 경우 좋은 결과를 얻는 데 도움이 되는 몇 가지 전략이 있습니다. 있습니다. 다음 섹션에서는 설계 접근 방식과 문제 해결을 제공합니다. 멀티모달 입력을 사용하는 프롬프트 개선을 위한 팁을 알려드립니다.
다음 권장사항에 따라 멀티모달 프롬프트를 향상시킬 수 있습니다.
-
프롬프트 설계 기초
- 구체적인 지침 설정: 오해의 소지가 거의 없도록 명확하고 간결한 지침을 제시합니다.
- 프롬프트에 몇 가지 예시 추가: 달성하려는 목표를 쉽게 이해할 수 있도록 실질적인 퓨샷 예시를 사용합니다.
- 단계별 분류: 복잡한 태스크를 관리 가능한 하위 목표로 분할하고 프로세스 전반에 걸쳐서 모델을 안내합니다.
- 출력 형식 지정: 프롬프트에서 마크다운, JSON, HTML 등 원하는 형식으로 출력을 요청합니다.
- 단일 이미지 프롬프트의 경우 이미지를 먼저 배치: Gemini는 이미지와 텍스트 입력을 순서에 관계없이 처리할 수 있지만 단일 이미지가 포함된 프롬프트의 경우 해당 이미지가 텍스트 프롬프트 앞에 배치되면 성능이 개선될 수 있습니다.
-
멀티모달 프롬프트 문제 해결
- 모델이 관련 이미지 부분에서 정보를 가져오지 않는 경우: 프롬프트로 정보를 가져오려는 이미지 부분에 대한 힌트를 제공합니다.
- 모델 출력이 너무 일반적인 경우(이미지에 맞춤화되지 않음): 프롬프트를 시작할 때 작업 안내를 제공하기 전에 모델에 이미지를 설명하도록 요청하거나 모델에 이미지의 내용을 참고하도록 요청하세요.
프롬프트 설계 기초
이 섹션에서는 이전 섹션에 나열된 권장사항을 자세히 설명합니다.
참고: 다음 Gemini 예시의 모델 결과는 실행할 때마다 달라질 수 있습니다.
구체적인 지침 설정
프롬프트는 명확하고 세부적일 때 가장 성공적입니다. 특정 출력을 염두에 두고 있다면 원하는 출력을 얻을 수 있도록 프롬프트에 해당 요구사항을 포함하는 것이 좋습니다.
일부 경우에는 프롬프트 의도가 이를 작성한 사람에게는 명확하게 보이더라도 실제로 그렇지 않을 수 있습니다. 모델 동작을 맞춤설정하려면 프롬프트가 어떻게 (잘못) 해석될 수 있는지를 고려하고, 제공하는 지침이 구체적이고 명확해야 합니다. 오해의 소지가 거의 없어야 합니다.
이 공항 보드 이미지의 경우 모델에 '이 이미지를 설명해 줘'라고 요청함 일반적인 설명을 생성할 수 있습니다 모델이 이미지에서 시간과 도시를 파싱해야 하는 경우 해당 요청을 프롬프트에 직접 포함할 수 있습니다.
프롬프트 | 모델 응답 |
---|---|
이 이미지를 설명해 주세요. |
이 이미지는 공항 도착 및 출발 보드를 보여줍니다. |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
이 이미지에 표시된 공항 보드에서 시간과 도시를 분석해서 목록으로 표시해 주세요. |
몇 가지 예시 추가
Gemini 모델은 원하는 출력을 이해하기 위해 예시로 사용할 수 있는 여러 입력을 수락할 수 있습니다. 이러한 예시를 추가하면 모델이 패턴을 식별하고 제공된 이미지와 응답 사이의 관계를 새 예시에 적용할 수 있습니다. 이를 "퓨샷" 학습이라고도 부릅니다.
아래 예시에서 최초 출력은 문장 형식으로 작성되었으며 국가(브라질)를 포함합니다. 다른 형식 또는 스타일로 출력을 표시하고 국가가 아닌 도시만 포함한다고 가정해 보세요. 프롬프트에 퓨샷 예시를 추가하면 원하는 방식으로 응답하도록 모델을 조정할 수 있습니다.
프롬프트 | 모델 응답 |
---|---|
명소와 함께 도시를 설명해 주세요. |
이 랜드마크는 브라질 리우데자네이루에 있는 구세주 예수상입니다. |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
명소와 함께 도시를 설명해 주세요. |
도시: 로마, 랜드마크: 콜로세움 |
도시: 베이징, 랜드마크: 자금성 |
|
도시: 리우데자네이루, 랜드마크: 구세주 예수상 |
단계별 분류
시각적인 이해와 근거가 모두 필요한 것과 같이 복잡한 태스크의 경우에는 태스크를 더 작고 보다 직관적인 단계들로 분할하는 것이 유용할 수 있습니다. 또는 프롬프트에서 "단계별로 생각"하도록 모델에 직접 요청하는 것도 효과적일 수 있습니다.
프롬프트 | 모델 응답 |
---|---|
화장지가 언제 다 떨어질까요? |
이제 3개 밖에 없으니 곧 떨어집니다. |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
|
|
수학 문제나 기타 유형의 단어 문제는 모델이 단계별로 생각하도록 요청하기에 적합한 후보입니다.
프롬프트 | 응답 |
---|---|
이 시퀀스에서 네 번째 항은 무엇인가요? |
-135 |
모델의 응답은 잘못되었습니다. 이를 개선하기 위한 몇 가지 방법은 모델이 프롬프트에 답변하기 전 문제를 파싱하도록 요청하는 것입니다.
프롬프트 | 응답 |
---|---|
먼저 이미지에서 수식을 분석해 주세요. 그런 후 수식을 기준으로 "시퀀스에서 네 번째 항은 무엇"인지 대답해 주세요. |
클릭하여 결과 확장$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
$$ b(4) = b(4-1) * (-3) $$ $$ b(4) = b(3) * (-3) $$ $$ b(3) = b(3-1) * (-3) $$ $$ b(3) = b(2) * (-3) $$ $$ b(2) = b(2-1) * (-3) $$ $$ b(2) = b(1) * (-3) $$ $$ b(2) = 15 * (-3) $$ $$ b(2) = -45 $$ $$ b(3) = b(2) * (-3) $$ $$ b(3) = -45 * (-3) $$ $$ b(3) = 135 $$ $$ b(4) = b(3) * (-3) $$ $$ b(4) = 135 * (-3) $$ $$ b(4) = -405 $$ 따라서 시퀀스에서 네 번째 항은 -405입니다. |
이번에는 모델 응답이 올바릅니다. 이제 응답을 보다 효율적으로 만들기 위해 모델에 단계별로 생각하도록 요청할 수 있습니다.
업데이트된 프롬프트 | 개선된 응답 |
---|---|
이 시퀀스에서 네 번째 항은 무엇인가요? 단계별로 생각해 주세요. |
첫 번째 항은 15입니다. 두 번째 항은 b(1) * (-3) = 15 * (-3) = -45입니다. 세 번째 항은 b(2) * (-3) = -45 * (-3) = 135입니다. 네 번째 항은 b(3) * (-3) = 135 * (-3) = -405입니다. |
출력 형식 지정
일반적인 문제는 모델 출력을 다운스트림 태스크로 수집해야 할 경우 특히 모델 출력을 특정 형식(예: 마크다운, JSON, HTML)으로 지정해야 한다는 것입니다. 프롬프트 내에서 이를 수행하도록 모델을 안내하여 해당 형식으로 출력을 생성할 수 있습니다. 다음은 두 가지 예시입니다.
프롬프트 | 모델 응답 |
---|---|
이 이미지의 표를 마크다운 형식으로 분석해 주세요. |
| 과목 | 상태 | 시간 | 시작일 | 만료일 | | ------- | ------ | ---- | --------- | ------ | | 수학 | 완료 | 1.5시간 | 2023/11/29 | 2023/12/1 | | 지리 | 완료 | 30분 | 2023/12/2 | 2023/12/4 | | 물리 | 진행 중 | 2시간 | 2023/12/3 | 2023/12/5 | | 생물 | 시작 안 함 | 6시간 | 2016/11/2 | 2023/12/6 | |
프롬프트 | 모델 응답 |
---|---|
다음 모든 속성: 재료, 요리 종류, 채식주의 식단 여부의 목록을 JSON 형식으로 제공해 주세요. |
|
단일 이미지 프롬프트에 이미지 먼저 배치
Gemini는 프롬프트 내에서 어떤 순서로든 이미지와 텍스트를 해석할 수 있지만 텍스트 프롬프트 앞에 단일 이미지를 배치하는 것이 더 좋은 결과로 이어질 수 있습니다. 다음 샘플에서는 이미지가 각 프롬프트의 텍스트 앞에 옵니다
멀티모달 프롬프트 문제 해결
유용한 응답을 얻지 못할 경우 프롬프트를 문제 해결해야 할 수 있습니다. 이를 위해서는 몇 가지 전략을 시도해볼 수 있습니다.
모델이 관련 이미지 부분에서 정보를 가져오지 않는 경우
보다 구체적인 응답을 얻기 위해서는 해당 응답에 정보를 제공하도록 프롬프트가 정보를 가져올 이미지 특정 부분을 지적할 수 있습니다.
프롬프트 | 모델 응답 |
---|---|
아기 한 명이 사용할 때 이 기저귀는 며칠이나 갈까요? |
기저귀가 모두 소진되려면 198일 걸립니다. |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
기저귀가 소진되려면 며칠이나 걸릴까요? 상자에 표시된 무게를 사용해서 아기의 나이를 확인하고 상자에 적힌 총 기저귀 개수를 사용해 주세요. 총 개수를 아기 한 명이 하루에 사용하는 기저귀 수로 나눠주세요. |
상자에는 198개의 기저귀가 있습니다. 상자에는 체중이 22-37lbs인 아기를 위한 기저귀라고 씌여져 있습니다. 이 몸무게 범위의 평균 아기는 만 1~2세 사이입니다. 만 2세 아기는 일반적으로 하루 6개 정도 기저귀를 사용합니다. 따라서 기저귀는 33일(198/6) 정도 지속됩니다. |
모델 출력이 너무 일반적이고 이미지 입력에 충분히 맞춤화되지 않은 경우
모델이 이미지에 따라 응답을 조정할 수 있게 하려면 근거 태스크를 수행하기 전 이미지를 기술하도록 요청합니다.
프롬프트 | 모델 응답 |
---|---|
이러한 이미지 사이의 공통점은 무엇인가요? |
4개 이미지 모두 풍경 사진을 보여줍니다. |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
첫째, 각 이미지에 무엇이 있는지 자세히 설명해 주세요. 이러한 이미지 사이의 공통점은 무엇인가요? |
첫 번째 이미지는 여행 가방을 싸고 있는 사람을 보여줍니다. 두 번째 이미지는 쇼핑몰의 빈 통로를 보여줍니다. 세 번째 이미지는 화장실 휴지 한 롤을 보여줍니다. 네 번째 이미지는 어둡고 거친 바다를 보여줍니다. 이러한 이미지 간의 공통점은 이미지가 모두 경계 공간의 예시라는 점입니다. 경계 공간은 두 가지 서로 다른 공간 또는 상황 사이에 있는 공간 또는 상황을 의미합니다. 경계 공간의 특성은 불확실성이나 모호한 감정에 있습니다. 첫 번째 이미지는 집과 여행 사이에 있는 사람을 보여줍니다. 두 번째 이미지는 두 매장 사이의 통로를 보여줍니다. 세 번째 이미지는 욕실을 나타낼 수 있는 화장실 휴지를 보여줍니다. 욕실은 전통적으로 개인성과 공공성을 모두 갖고 있는 공간입니다. 그리고 우리가 외부 세계로 들어오고 나가기 위해 스스로를 준비하는 장소이기도 합니다. 네 번째 이미지는 고요함과 거침 사이에 있는 바다를 보여줍니다. 경계 공간은 흥미로움과 불편함을 모두 일으킬 수 있습니다. 이러한 공간은 무언가 시작되는 장소이거나 끝나는 장소일 수 있습니다. 사색하는 장소이거나 행동하는 장소일 수도 있습니다. |
또한 모델이 이미지에 포함된 내용을 참조하도록 명확하게 요청할 수도 있습니다.
업데이트된 프롬프트 | 개선된 응답 |
---|---|
이러한 이미지 사이의 공통점은 무엇인가요? 이미지에 포함된 내용을 참조해서 답변해 주세요. |
모든 이미지는 여행과 관련이 있습니다. 첫 번째 이미지는 여행 가방을 싸고 있는 사람을 보여줍니다. 두 번째 이미지는 쇼핑몰의 빈 통로를 보여줍니다. 세 번째 이미지는 쌓여 있는 화장실 휴지를 보여줍니다. 네 번째 이미지는 어둡고 거친 바다를 보여줍니다. 이러한 이미지는 모두 여행할 때 필요하거나 사용하는 것들이기 때문에 모두 여행과 관련이 있습니다. 첫 번째 이미지는 여행 가방을 싸고 있는 사람을 보여줍니다. 이것은 사람들이 여행을 떠날 때 하는 행동입니다. 두 번째 이미지는 쇼핑몰의 빈 통로를 보여줍니다. 이것은 사람들이 여행에 필요한 물건을 구입하기 위해 자주 이동하는 장소입니다. 세 번째 이미지는 쌓여 있는 화장실 휴지를 보여줍니다. 이것은 사람들이 여행할 때 자주 사용하는 물건입니다. 네 번째 이미지는 어둡고 거친 바다를 보여줍니다. 이것은 사람들이 여행할 때 가끔 만나게 되는 것입니다. |
이미지를 통한 광고 소재 출력에도 동일한 팁이 적용됩니다. 토끼를 사용한 다음 예시에서 특히 모델에 이미지 특성을 포함하도록 요청하면 출력을 개선시킬 수 있습니다.
프롬프트 | 모델 응답 |
---|---|
이 이미지에 관한 시를 지어줄 수 있나요? |
작은 토끼, 너무 부드럽고 갈색이야, 물고 뜯는 잔디 속, 너무 파랗고, 달콤해, |
업데이트된 프롬프트 | 개선된 응답 |
---|---|
이 이미지에 대해 위치를 포함해서 설명적이고 극적인 시를 지어줄 수 있나요? |
초록 위 작은 토끼, 파란색 바다인가, 작은 토끼야, 사실을 말해줘, 어쩌면 그 모든 것을 품은 광활함일지도, 작은 토끼야, 네 꿈은 무엇일까, 그것이 무엇이든, 작은 토끼야, |
실패한 프롬프트 부분 문제 해결
모델이 처음에 이미지를 이해하지 못해서 프롬프트가 실패했는지, 아니면 이미지를 이해했지만 이후 올바른 추론 단계를 수행하지 못했는지 알기 어려울 수 있습니다.
이러한 이유들을 구분하기 위해서는 모델에 이미지에 포함된 것이 무엇인지 기술하도록 요청하세요.
아래 예시에서 모델이 차와 함께 할 때 어울리지 않는 간식(예: 팝콘)으로 응답할 경우에는 먼저 모델이 이미지에 차가 포함된 것을 올바르게 인식했는지 확인하는 방식으로 문제 해결을 시작할 수 있습니다.
프롬프트 | 문제 해결을 위한 프롬프트 |
---|---|
이 사진과 어울리는 것 중 1분 내에 만들 수 있는 간식은 무엇이 있나요? |
이 이미지의 내용을 설명해 주세요. |
또 다른 전략은 모델에 그 이유를 설명하도록 요청하는 것입니다. 이렇게 하면 근거를 세분화하는 데 도움이 될 수 있습니다.
프롬프트 | 문제 해결을 위한 프롬프트 |
---|---|
이 사진과 어울리는 것 중 1분 내에 만들 수 있는 간식은 무엇이 있나요? |
이 사진과 어울리는 것 중 1분 내에 만들 수 있는 간식은 무엇이 있나요? 이유를 설명해 주세요. |
샘플링 매개변수 조정
각 요청에서 멀티모달 프롬프트만 보내는 것이 아니라 샘플링 매개변수 집합도 모델에 전송합니다. 모델은 서로 다른 매개변수 값에 대해 서로 다른 결과를 생성할 수 있습니다. 태스크에 가장 적합한 값을 얻기 위해 다른 매개변수로 실험해 봅니다. 가장 일반적으로 조정되는 매개변수는 다음과 같습니다.
- 강도
- 최상위 P
- 최상위 K
강도
강도는 최상위 P와 최상위 K가 적용될 때 발생하는 응답 생성 중 샘플링에 사용됩니다.
강도는 토큰 선택의 무작위성 수준을 제어합니다. 강도가 낮을수록 자유롭거나 창의적인 답변과 거리가 먼 확정적인 응답이 필요한 프롬프트에 적합하고, 강도가 높을수록 보다 다양하거나 창의적인 결과로 이어질 수 있습니다. 강도가 0이면 확정적입니다. 즉, 확률이 가장 높은 응답이 항상 선택됩니다.
대부분의 사용 사례에서는 강도 0.4로 시작해 보세요. 보다 창의적인 결과가 필요하면 강도를 늘려 보세요. 할루시네이션이 관측되면 강도를 줄여 보세요.
최상위 K
최상위 K는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. 최상위 K가 1이면 다음으로 선택된 토큰이 모델의 어휘에 포함된 모든 토큰 중에서 가장 확률이 높다는 의미입니다(그리디 디코딩이라고도 함). 반면에 최상위 K가 3이면 강도를 사용하여 가장 확률이 높은 토큰 3개 중에서 다음 토큰이 선택된다는 의미입니다.
각 토큰 선택 단계에서 확률이 가장 높은 최상위 K 토큰이 샘플링됩니다. 그런 다음 최상위 P를 기준으로 토큰을 추가로 필터링하고 강도 샘플링을 사용하여 최종 토큰을 선택합니다.
임의성이 낮은 응답에 낮은 값을 지정하고 임의성이 높은 응답에 높은 값을 지정합니다. 최상위 K의 기본값은 32입니다.
최상위 P
최상위 P는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. 토큰은 확률의 합이 최상위 P 값과 같아질 때까지 확률이 가장 높은 것부터(최상위 K 참조) 가장 낮은 것까지 선택됩니다. 예를 들어 토큰 A, B, C의 확률이 0.6, 0.3, 0.1이고 최상위 P 값이 0.9이면 모델이 강도를 사용해서 다음 토큰으로 A 또는 B를 선택하고 C는 후보에서 제외합니다.
임의성이 낮은 응답에 낮은 값을 지정하고 임의성이 높은 응답에 높은 값을 지정합니다. top-P의 기본값은 1.0입니다.
다음 단계
- Google AI를 사용해 나만의 멀티모달 프롬프트를 작성해 보세요. Studio에 오신 것을 환영합니다.
- 프롬프트 설계에 대한 자세한 내용은 프롬프트 전략 페이지.