How to Build App with Gemini
How to publish JavaScript to the web
이 글이 완성되고 나면 botpress 챗봇 프레임워크 빌더에서 Gemini로 만든 웹/앱을 구현해봇세요.
| Gemini | GPT | |
| 개발사 | 구글 딥마인드 | 오픈AI |
| 챗봇 | Bard | ChatGPT |
| 멀티모달(multimodal. 인공지능(AI) 분야에서 멀티모달은 다양한 형태의 데이터를 사용하여 학습하고 인식하는 기술을 의미) | 이미지, 텍스트, 오디오, 비디오로 사전훈련된 멀티모달 | 텍스트로 사전 훈련되었으나, GPT-4V에서 이미지 모달 장착 |
| 모델 종류 | Ultra/Pro/Nano | GPT-3.5/GPT-4 *turbo 모델 병존 |
| Context Window | 32K | 32K |
( 출처 : Gemini Pro로 무료 RAG 시스템 만들기 )
Bard와 Gemini는 모두 Google AI에서 개발한 대규모 언어 모델(LLM)입니다. 그러나 두 모델은 서로 다른 목적과 기능을 가지고 있습니다.
Bard는 텍스트와 코드의 방대한 데이터 세트로 학습된 LLM입니다. 텍스트를 생성하고, 언어를 번역하고, 다양한 종류의 창의적인 콘텐츠를 작성하고, 질문에 대한 정보를 제공하는 등 다양한 작업을 수행할 수 있습니다.
Gemini는 텍스트, 이미지, 비디오, 음성 등 다양한 데이터 모달리티를 처리할 수 있는 멀티모달 LLM입니다. 텍스트와 이미지를 함께 사용하여 요약을 생성하거나, 음성으로 질문을 하고 텍스트로 응답하거나, 이미지를 생성하는 등 다양한 작업을 수행할 수 있습니다.
두 모델의 주요 차이점은 다음과 같습니다.
| 특징 | Bard | Gemini |
|---|---|---|
| 목적 | 텍스트 및 코드 처리 | 멀티모달 처리 |
| 데이터 세트 | 텍스트 및 코드 | 텍스트, 이미지, 비디오, 음성 |
| 기능 | 텍스트 생성, 언어 번역, 창의적인 콘텐츠 작성, 질문에 대한 정보 제공 | 텍스트 요약, 음성 인식, 이미지 생성 |
Gemini는 Bard보다 더 새로운 모델이지만, 이미 다양한 작업에서 우수한 성능을 보여주고 있습니다. 특히 텍스트와 이미지를 함께 처리하는 작업에서 뛰어난 성능을 보입니다.
두 모델은 모두 Google AI에서 계속 개발 중이며, 앞으로 더욱 강력한 성능과 다양한 기능을 갖출 것으로 기대됩니다.
동영상 요약
이 동영상은 구글의 새로운 서비스인 제미나이(GEMINI)를 이용한 웹앱 제작 방법에 대해 설명하고 있습니다.
제미나이는 구글 AI에서 제공하는 대규모 언어 모델(LLM) 서비스입니다. 텍스트 생성, 언어 번역, 질의 응답 등 다양한 기능을 제공합니다.
글의 저자는 제미나이를 이용하여 음식 사진을 올리면 레시피를 알려주는 웹앱을 만들었습니다.
이 동영상의 저자는 제미나이를 이용한 웹앱의 성능이 기존의 챗GPT와 비교하여 크게 떨어지지 않는다고 평가했습니다. 또한, 제미나이를 이용하면 무료로 쉽게 웹앱을 만들 수 있다는 점을 장점으로 꼽았습니다.
동영상은 구글 제미나이(Gemini)로 만든 (AI)서비스를 프로그램언어중 node.js로 웹에 게시하는 방법을 설명하고 있습니다. 또한 Google AI Studio에서 Get Code로 얻은 JavaScript 코드도 node.js를 기반으로 하고 있습니다. 참고로, ES모듈로 만들면 node.js를 이용(node.js 다운로드후 로컬 컴퓨터에 웹서버를 설치)하지 않아도 html에서 직접 웹에 게시(배포)할 수 있습니다. Google AI for Developer의 Web문서(https://ai.google.dev/tutorials/web_quickstart?hl=ko#generate-text-from-text-input)는 ES모듈로 제미나이(Gemini)로 AI서비스를 만들고 웹앱에 게시하는 방법을 설명하고 있습니다. (node.js로 웹앱을 게시하는 방법을 설명한 것이 아닙니다.)
위에서 언급한 단계들 외에 저는 웹중에서도 워드프레스로 만든 웹사이트에 게시하는 것을 목표로 이 게시글을 작성합니다.
참고 : [node.js로 서버만들기]단계와 [서버 호스팅]단계의 해결책이 될 지 몰라 카페24의 node.js호스팅을 구입해 보았으나 더 복잡해주고 답이 안나와서 포기함. [Public Key 생성, 등록하기부터 무슨 말인지 모르겠음]Nodejs로 구현한 서비스를 Cafe24 웹 호스팅에 적용하기, [이 블로그는 무슨 말인지 이해가 안 됨][JS]Cafe24에 NodeJS 어플리케이션 배포하기.
구글 AI 스튜디오는 생성형 AI 모델의 개발과 사용을 보다 쉽게 하기 위한 강력한 도구입니다.
구글 AI 스튜디오는 Google의 대규모 언어 모델을 사용하여 간편하고 안전하며 확장 가능한 AI 애플리케이션을 만드는 도구 및 API입니다.
ML 전문 지식이 없거나 코딩을 하지 않아도 브라우저에서 생성형 AI 애플리케이션 프로토타입을 신속하게 제작할 수 있습니다.
문서( https://ai.google.dev/docs?hl=ko)에 한글이 지원된다는 점도 만족스럽습니다.

구글 AI 스튜디오는 생성형 AI 모델을 빠르게 프로토타입 제작하고 테스트하기 위한 Google Cloud 콘솔 도구입니다. 샘플 프롬프트를 테스트하고 고유 프롬프트를 설계하고 기반 모델을 맞춤설정하여 애플리케이션의 요구사항을 충족하는 태스크를 처리할 수 있습니다.
구글 AI 스튜디오는 다음과 같은 기능을 제공합니다.
구글 AI 스튜디오는 다음과 같은 개발자와 기업에게 유용합니다.
구글 AI 스튜디오는 Google Cloud Platform에서 사용할 수 있습니다.
구글 AI 스튜디오의 주요 기능은 다음과 같습니다.

https://ai.google.dev/ 에서 [구글 AI 스튜디오에서 API 키 가져오기](바로 위에 이미지의 분홍색 네모 부분)를 클릭하여 구글 AI 스튜디오( https://makersuite.google.com/app/prompts/new_freeform 를 시작합니다.
약관을 동의하고 다음으로 넘기면 아래와 같은 이미지가 나옵니다.

Use Google AI Studio를 선택하여 시작해주세요.
이미지를 업로드하면
영양성분(O, 영양정보 X) 획득 가능 : haribo goldbären 의 영양성분로 테스트 하니 100g당 영양성분이 표시됩니다. 프롬프트에서 100g당 처럼 단위를 알려주고 영양성분을 알려달라고 해야 합니다.
동영상은 업로드 자체가 안됩니다. 이미지와 텍스트만 업로드 가능합니다.
API를 사용하려면 API 키가 필요합니다. Google AI 스튜디오에서 클릭 한 번으로 키를 만들 수 있습니다.

API keys
Google AI Studio는 새로운 API 키마다 새로운 Google Cloud 프로젝트를 만듭니다. 기존 Google Cloud 프로젝트에서 API 키를 만들 수도 있습니다. 모든 프로젝트에는 Google Cloud Platform 서비스 약관이 적용됩니다. (Google AI Studio creates a new Google Cloud project for each new API key. You also can create an API key in an existing Google Cloud project. All projects are subject to the Google Cloud Platform Terms of Service.)
참고: Gemini API는 현재 공개 미리 보기 상태입니다. 프로덕션 애플리케이션은 아직 지원되지 않습니다(Note: The Gemini API is currently in public preview. Production applications are not supported yet.)
Google AI 스튜디오는 생성 모델로 프로토타입을 제작하는 브라우저 기반 IDE입니다. Google AI Studio를 사용하면 모델을 빠르게 사용하고 다양한 프롬프트로 실험할 수 있습니다 만족할 만한 내용을 빌드했다면 Gemini API를 기반으로 하는 원하는 cURL, Python, JavaScript, Go, Android(Kotlin), Seift, Dart와 같은 다양한 프로그래밍 언어로 코드를 내보재기 수 있습니다.
| 목차 |
| 프롬프트 및 모델 조정 자유 형식 프롬프트 예: 건물에 대해 자세히 알아보기 – 1단계- 텍스트와 이미지로 프롬프트 만들기 – 2단계- 프롬프트에 대체 가능한 변수 추가 – 3단계 – 모델 매개변수로 실험 – 4단계 – 다음 단계 구조화된 프롬프트 예시: 제품 문구 생성기 빌드 – 1단계- 구조화된 프롬프트 만들기 – 2단계 – 예시 추가 – 3단계 – 메시지 테스트하기 – 4단계 – 다음 단계 채팅 프롬프트 예시: 커스텀 채팅 애플리케이션 빌드 – 1단계 – 채팅 프롬프트 만들기 – 2단계- 봇에게 채팅 기능 개선 – 3단계 – 모델 매개변수로 실험 – 4단계 – 다음 단계 추가 자료 |
Google AI 스튜디오는 AI 서비스를 만들 수 있는 3가지 방식을 제공합니다. 다양한 사용 사례에 맞게 설계된 프롬프트를 위한 몇 가지 인터페이스를 제공합니다.
Google AI 스튜디오에서는 조정 기법을 사용하여 모델의 동작을 변경할 수도 있습니다.
모델 조정이 완료되면 조정된 모델의 이름이 표시됩니다. Google AI 스튜디오에서 새 프롬프트를 만들 때 사용할 모델로 선택할 수도 있습니다.

Gemini의 멀티모달 기능을 사용하면 이미지와 텍스트의 조합으로 모델에 프롬프트를 표시할 수 있습니다. 예를 들어 이 기능을 사용해 이미지에 표시된 건물에 대해 자세히 알아볼 수 있습니다.
다중 모달 프롬프트를 만들려면 다음 안내를 따르세요.
look at the following picture and tell me who is the architect1단계에서는 고정된 텍스트 문자열과 이미지를 모델에 프롬프트했습니다. 하지만 프롬프트의 일부를 동적으로 변경해야 하는 경우도 있습니다. 예를 들어 대화형 애플리케이션을 빌드하는 경우 다양한 사용자 입력으로 프롬프트를 수정해야 할 수 있습니다. 이를 위해 변수를 사용하여 프롬프트를 매개변수화할 수 있습니다.
프롬프트에 변수를 추가하려면 다음 안내를 따르세요.
who is the architect 텍스트를 선택합니다.프롬프트의 프로토타입을 제작할 때 애플리케이션 오른쪽에서 모델 실행 설정을 사용해 볼 수도 있습니다. 알아야 할 주요 설정은 다음과 같습니다.
이제 생성형 AI 애플리케이션의 프로토타입을 만들었으므로 작업을 저장하거나 코드를 생성하여 자체 개발 환경에서 이 프롬프트를 사용할 수 있습니다.
생성한 프롬프트를 저장하려면 다음 안내를 따르세요.
코드로 만든 프롬프트를 내보내려면 다음 안내를 따르세요.
참고: Google AI 스튜디오 외부에서 프롬프트 코드를 실행하려면 API 키가 필요하므로 키를 만들어 프롬프트 코드에 포함해야 합니다.
주의: API 키는 비밀번호처럼 사용하고 적절하게 보호해야 합니다. 공개적으로 게시된 코드에 키를 삽입하지 마세요.
지금까지 안내로 모델에 프롬프트를 표시하는 방법을 살펴봤습니다(“사진을 보며 설계자가 누구인지 알려주세요”). Google AI 스튜디오의 구조화된 프롬프트를 사용하면 이 작업을 수행할 수 있습니다. 지시와 예시를 결합하여 수행할 작업을 모델에 지시하기보다는 원하는 종류의 출력을 모델에 보여줄 수 있습니다. 퓨샷 프롬프팅이라고 하는 이러한 종류의 프롬프팅은 모델이 일관된 출력 형식 (즉, 구조화된 JSON)을 고수하거나 모델에 설명하려는 단어로 설명하기 어려운 내용 (구체적 스타일의 JSON)을 적용하고자 할 때 유용합니다. 이 섹션에서는 Google AI 스튜디오에서 구조화된 프롬프트를 만드는 방법을 알아봅니다.참고:예시 갤러리의 Google AI 스튜디오에서 이 예시를 직접 사용해 볼 수 있습니다.
이 예시에서는 제품의 광고 문구를 생성하는 구조화된 프롬프트를 만듭니다. 먼저 Product 입력 열과 Product copy 출력 열이라는 두 열을 만들어 프롬프트의 구조를 정의합니다.

구조화된 프롬프트를 만들려면 다음 안내를 따르세요.
You are a product marketer targeting a Gen Z audience. Create exciting and fresh advertising copy for products and their simple description. Keep copy under a few sentences long.input: 텍스트 설명을 Product:로 바꿔 INPUT에 대한 설명 헤더를 추가합니다.output: 텍스트 설명을 Product copy:로 바꿔 OUTPUT의 설명 헤더를 추가합니다.팁: 모델이 구조를 더 쉽게 파싱할 수 있도록 열 이름 끝에 콜론을 추가하세요.
열 이름을 지정했으므로 이제 행의 예를 제공합니다. 이러한 행에는 예시 입력 (이 예시의 제품 이름)과 출력 예시 (해당하는 제품 설명)가 포함되어야 합니다. 모델에 몇 가지 제품 설명을 제공하면 자체 출력을 생성할 때 유사한 스타일을 복제하도록 모델을 안내할 수 있습니다. 예를 직접 입력하거나 데이터 가져오기 메뉴를 사용하여 파일에서 가져올 수 있습니다.
직접 예를 입력하려면 다음 단계를 따르세요.
다음은 이 프롬프트의 입력 및 출력 값의 예입니다.
| 제품: | 제품 문구: |
|---|---|
| 빈티지 스니커즈 | 끈을 묶어 보세요. 이러한 발차기는 상징적인 스타일과 독보적인 색상 팔레트를 제공하며 전 다른 신발과는 전혀 다른 스타일과 기능성을 유지할 수 있습니다. |
| 특한 부드러운 후드티 | 새로운 남녀공용 후드티로 아늑하고 스타일리시하게 입으세요. 100% 면으로 만든 후드티로, 하루 종일 편안하게 착용할 수 있습니다. 내부에 약간 브러시 처리되어 가장 추운 날에도 보온을 유지합니다. |
팁: 작성자가 차단해야 하거나 사용 중인 제품 문구 예시 예시가 없는 경우 자유 형식 프롬프트를 사용하여 텍스트 모델에서 일부 예시를 생성하도록 할 수 있습니다.
파일에서 예를 가져오는 방법은 다음과 같습니다.
원하는 모델을 보여주는 예가 완성되면 하단의 프롬프트 테스트 테이블에 있는 새 입력으로 프롬프트를 테스트합니다. 텍스트 프롬프트 유형과 마찬가지로 모델 매개변수를 조정하여 사용 사례에 더 나은 결과를 생성하는 데 도움이 되는지 테스트할 수 있습니다.
Google AI 스튜디오는 내부적으로 안내와 제공된 예시를 결합하여 프롬프트를 구성합니다. 예시를 더 추가하면 모델로 전송되는 텍스트에 예시도 추가됩니다 예시의 길이에 따라 모델의 토큰 한도에 도달하기 시작할 수 있습니다. 모든 생성형 AI 모델에는 입력으로 허용할 수 있는 텍스트의 최대 길이인 토큰 한도가 있습니다.
프롬프트의 전체 내용을 보려면 다음 단계를 따르세요.
참고: 모델 토큰 한도는 미리보기 창 하단에 표시됩니다.
메시지가 마음에 들면 코드 가져오기 버튼을 클릭하여 메시지를 저장하거나 코드로 내보낼 수 있습니다.
개별 퓨샷 예시를 CSV 파일 또는 Google 스프레드시트로 내보낼 수도 있습니다. 예시를 내보내려면 작업 메뉴에서 예시 내보내기 옵션을 선택합니다.
Bard와 같은 범용 챗봇을 사용해 본 적이 있다면 개방형 대화상자에서의 생성형 AI 모델이 얼마나 강력한지 직접 경험했을 것입니다. 이러한 범용 챗봇은 유용하지만 특정 사용 사례에 맞게 조정해야 하는 경우가 많습니다. 예를 들어 회사 제품에 대해 이야기하는 대화만 지원하는 고객 서비스 챗봇을 빌드하려고 할 수 있습니다. 많은 농담을 풀거나 시인처럼 운율을 맞추거나 대답에 이모티콘을 많이 사용하는 봇과 같이 특정 어조나 스타일로 말하는 챗봇을 빌드할 수 있습니다.

이 예에서는 Google AI Studio를 사용하여 너는 주식투자의 귀재 워렌버핏 역할을 하는 챗봇을 만드는 방법을 보여줍니다.
이전 섹션에서는 입력 및 출력 예시를 조합하여 구조화된 프롬프트를 설계했습니다. 마찬가지로 챗봇을 빌드하려면 모델이 찾고 있는 응답을 제공하도록 유도하기 위해 사용자와 챗봇 간의 상호작용 예시를 제공해야 합니다.
채팅 프롬프트를 만들려면 다음 단계를 따르세요.
User(파랑색 네모): 너는 주식투자의 귀재 워렌버핏 역할을 해줘 라고 입력하면 Model(파랑색 네모)은 “**1. 장기적인 사고 방식을 가집니다.** 나는 주식을 단기적으로 매입 및 매도하는 데 관심이 없습니다. 대신에, 수년 또는 수십 년 동안 기꺼이 주식을 보유할 기업을 찾습니다. **2. 내가 아는 것에 투자합니다.** 나는 내가 이해하지 못하는 산업이나 기업에 투자하지 않습니다. 내가 투자하는 회사에 대해 가능한 한 많이 알고 있습니다. **3. 정당한 가격을 지불합니다.** 나는 주식에 정당한 가격을 지불할 의향이 있습니다. 이는 때때로 기꺼이 프리미엄을 지불하는 것을 의미하지만, 기업이 그 가격을 정당화할 수 있다고 믿는 경우에만 그렇습니다. **4. 인내심을 가지십시오.** 주식 시장은 변동성이 있으며, 투자한 모든 주식이 즉시 이익을 창출하거나 기대치에 부응하지는 않습니다. 나는 인내심을 가지며, 장기적으로 나의 투자 결정에 대한 보상을 받을 것이라고 확신합니다. **5. 감정을 제어합니다.** 나는 주식 시장이 하락할 때도 판매하지 않고, 용기 있게 투자를 유지합니다. 그리고 주식 시장이 상승할 때도 이익을 확보하기 위한 판매를 지양하며, 꾸준한 수익을 확보하는 데 집중합니다. **6. 분산투자를 합니다.** 나는 투자를 여러 가지 주식에 분산시킵니다. 이를 통해 어떤 한 회사의 성과가 나쁘더라도 전체 포트폴리오에 미치는 영향을 줄입니다. **7. 정기적으로 포트폴리오를 검토합니다.** 나는 정기적으로 포트폴리오를 검토하여 잘 진행되고 있는 회사와 그렇지 않은 회사를 식별합니다. 그런 후 나는 성과가 저조한 기업에 대한 노출을 줄이고 성과가 좋은 기업에 대한 노출을 늘립니다. **8. 전문가를 신뢰합니다.** 나는 주식 시장에 관한 모든 것을 알 수는 없습니다. 그래서 나는 때때로 전문가의 도움을 받습니다. 저는 전문가가 시장을 분석하고 투자 결정에 대해 조언하는 것을 신뢰합니다. **9. 지속적으로 공부합니다.** 나는 주식 시장에 대해 끊임없이 배우고 있습니다. 나는 책을 읽고, 기사를 읽고, 전문가와 이야기합니다. 나는 항상 주식 시장에 대해 더 많이 배우고 싶어 합니다.”와 같이 답하는데, 중요한 점은 Model의 대답이 AI챗봇의 personality(개성) agent를 정의하는 상세 명세서가 된다는 점입니다. User: 안녕?! Model: 안녕하세요! 저는 워렌 버핏 역할을 하는 대화형 AI입니다. 주식 투자, 경제, 사업 등에 대해 이야기해 보시겠어요? 아니면 다른 주제로 이야기해 볼까요? 저는 다양한 주제에 대해 대화할 수 있습니다. 무엇에 대해 이야기하고 싶으신가요?예시를 작성한 후 채팅 프롬프트 인터페이스의 오른쪽 창에서 모델과 채팅하여 애플리케이션 테스트를 시작합니다.
챗봇 동작을 테스트하려면 다음 안내를 따르세요.
What's the weather like?Model: The weather on Europa is very cold and icy. ...단일 명령문과 응답 예를 제공하여 기본적인 워렌버핏 역할을 봇을 빌드할 수 있었습니다. 그러나 일반적으로 하나의 예시만으로는 모델 응답의 일관성과 품질을 보장할 수 없습니다.
모델 응답을 사용하고 외계인 챗봇의 원하는 톤과 스타일에 맞게 편집하여 챗봇의 어조를 맞춤설정합니다.

챗봇 정의의 예를 추가하고 수정하려면 다음 안내를 따르세요.
이 접근 방식을 사용하여 예시를 추가할 수 있습니다. 더 많은 질문을 하고, 답변을 수정하고, 챗봇의 품질을 개선하세요.
[매우 중요]Temperature, Safety settings를 변경하거나 gemini가 내어 놓은 답에 불만족스럽다면 예를들어, 출처와 숫자를 추가하여 보다 상세히 설명하세요. 또는 어떤 부분을 중심으로 더 설명하세요. 와 같이 프롬프트를 추가하면 보다 정확한 해답을 주는 데, 그 내용을 보고 만족스러울때까지 프롬프트로 계속 요청하면 (이것을 프롬프트 엔지니어링이라고 합니다.) 매우 뛰어난 해답이 나옵니다. 이 해답을 [Add to examples(예로 추가하기)]으로 추가해주면 학습을 강화하게 됩니다. 29개의 질문을 해보니 Review 21500/30720로 표시됩니다. 학습강화를 할 수 있는 text의 크기는 30,720임을 알 수 있고 대략 40~50개 정도의 예(샘플)을 통해 학습을 강화할 수 있습니다.
계속해서 예시를 추가하고 챗봇의 동작이 어떻게 수정되는지 테스트하세요. 일반적으로 더 많은 예시가 높은 품질의 챗봇 응답에 해당합니다.
Google AI 스튜디오는 내부적으로 다음을 결합하여 프롬프트를 구성합니다.
모델로 전송되는 단일 텍스트 블록으로 변환합니다. 전체 프롬프트를 확인하려면 화면 하단의 Preview를 클릭하여 미리보기 창을 표시합니다.
모델과 사용자 간의 모든 메시지가 프롬프트에 포함되므로(‘대화 기록’이라고 함) 대화 프롬프트는 대화가 진행되는 동안 상당히 늘어날 수 있습니다. 결국 모델이 허용할 수 있는 텍스트의 최대 길이인 모델의 토큰 한도에 도달할 수 있습니다. Preview 탭에서 전체 대화 및 토큰 수를 확인할 수 있습니다.
Temperature, Safety settings와 같은 모델 매개변수를 조정하여 사용 사례에 더 적합한 결과를 생성하는지 확인할 수도 있습니다.
다른 프롬프트 유형과 마찬가지로, 프롬프트 프로토타입을 만족스러운 상태로 완성한 후에는 코드 가져오기 버튼을 사용하여 코딩을 시작하거나 프롬프트를 저장하여 나중에 작업하고 다른 사용자와 공유할 수 있습니다.

Model

Gemini Pro와 Gemini Pro Vision가 있습니다.
PaLM 2 (Legacy)모델은 Tuned model(조정된 모델)을 참조하여 Settings에서 PaLM2사용을 체크하셔야 보입니다. PaLM 2 (Legacy)(Tuned model, 조정된 모델)로 이 모델을 사용하면 더 많은 예를 제공하여 학습을 시킬 수 있어 특정 작업에 특화된 모델을 만들 수 있습니다. 조정은 기존 PaLM 모델에서만 사용할 수 있습니다.
Temperature
응답에 창의성이 허용되는 정도를 0~1사이에서 선택하는데, 1에 가까울수록 창의적으로 답변하고 0에 가까울수록 사실적으로 답변을 합니다.
Add stop sequence
문자열을 포함하고 그 뒤의 응답을 자릅니다.(Truncate response including and after string). 특정 문자열 뒤에 답변은 더 이상 답변을 하지 않게 하는 기능 같은데, 아직 정확히 모르겠습니다.
Safety settings
Run settings(실행 설정)에서 Edit safety settings(안전 설정 수정)를 클릭합니다.

그리고 노브를 사용하여 각 설정을 조정합니다. 노브((텔레비전 등의 기계에 달린 동그란) 소리 및 채널을 조정하는 손잡이)는 Block most, Block some, Block few 이렇게 3단계로 설정할 수 있습니다.

콘텐츠가 차단되면 warning 콘텐츠 없음 메시지가 표시됩니다. 자세한 내용을 보려면 포인터를 콘텐츠 없음 위에 놓고 warning 안전을 클릭합니다.
아래와 같이 욕이 들어간 질문을 하면 No content(콘텐츠 없음)이 표시되는데, 삼각형 느낌표를 클리하면 안전필터 중 어디에 위반되는지 나옵니다. 노브를 Block few로 변경하여도 콘텐츠가 차단됩니다.
Model에 따라 안전필터가 다릅니다.
| Gemini Pro, Gemini Pro Vision 모델의 안전필터 | PaLM 모델의 안전필터 |
| Harassment(괴롭힘) Hate Speech(증오의 말투) Sexually Explicit(성적으로 노골적인) Dangerous Content( 위험한 콘텐츠) | Derogatory(혐오) Toxic(유해) Sexual(성적인 콘텐츠) Violent(폭력적임) Medical(의료시설) Dangerous(위험한 카테고리) |

PaLM API에는 조정 가능한 안전 필터 외에도 아동 안전을 위협하는 콘텐츠와 같은 심각한 피해를 방지하는 보호 기능이 내장되어 있습니다. 이러한 유형의 피해는 항상 차단되며 조정할 수 없습니다.
조정 가능한 안전 필터는 다음 카테고리를 포함합니다.
개발자는 이러한 설정을 통해 사용 사례에 적합한 설정을 결정할 수 있습니다. 예를 들어 비디오 게임 대화를 만드는 경우 게임의 특성상 폭력적이거나 위험한 것으로 평가되는 추가 콘텐츠를 허용해도 된다고 간주할 수 있습니다. 다음은 이러한 안전 설정에서 유연성이 필요할 수 있는 몇 가지 다른 사용 사례입니다.
| 사용 사례(Use Case) | 카테고리(Category) |
|---|---|
| Anti-Harassment Training App(괴롭힘 방지 교육 앱) | 경멸적, 성적, 악의적(Derogatory, Sexual, Toxic) |
| Medical Exam Study Pal(건강검진센터) | 의료시설(Medical) |
| Screenplay Writer(시나리오 작가) | 폭력적, 성적, 의료, 위험(Violent, Sexual, Medical, Dangerous) |
| Toxicity classifier(악의성 분류기) | 악의적임, 경멸(Toxic, Derogatory) |
PaLM API는 심각도가 아닌 콘텐츠가 안전하지 않을 가능성을 기준으로 콘텐츠를 차단합니다. 피해의 심각도가 여전히 높더라도 일부 콘텐츠는 안전하지 않을 가능성이 낮을 수 있으므로 이 점을 고려해야 합니다. 예를 들어 다음과 같은 문장을 비교해 보겠습니다.
문장 1은 안전하지 않을 가능성이 높아질 수 있지만 폭력 면에서는 문장 2의 심각도가 더 높다고 생각할 수 있습니다.
따라서 각 개발자는 최종 사용자에게 미치는 피해를 최소화하면서 주요 사용 사례를 지원하는 데 필요한 적절한 차단 수준을 신중하게 테스트하고 고려해야 합니다.
안전 설정은 문자 서비스에 전송하는 요청의 일부입니다. 이 값은 API에 전송하는 각 요청에 맞게 조정할 수 있습니다. 다음 표에는 설정할 수 있는 카테고리가 나열되어 있으며 각 카테고리에 포함되는 피해 유형을 설명합니다.
| 카테고리 | 내용 입력란 |
|---|---|
| Derogatory(혐오) | ID 또는 보호 속성을 대상으로 하는 부정적이거나 유해한 댓글(Negative or harmful comments targeting identity and/or protected attributes.) |
| Toxic(유해) | 무례하거나 모욕적이거나 욕설이 있는 콘텐츠(Content that is rude, disrespectful, or profane.) |
| Sexual(성적) | 성행위 또는 기타 외설적인 콘텐츠에 대한 참조가 포함(Contains references to sexual acts or other lewd content.) |
| Violent(폭력적) | 개인 또는 그룹에 대한 폭력을 묘사하는 시나리오 또는 유혈 콘텐츠에 대한 일반적인 설명을 묘사(Describes scenarios depicting violence against an individual or group, or general descriptions of gore.) |
| Dangerous(위험한 카테고리) | 유해한 행위를 조장, 조장 또는 조장(Promotes, facilitates, or encourages harmful acts.) |
| Medical(의료시설) | 의학적 주제와 관련된 콘텐츠(Content that is related to medical topics) |
API 참조에서도 이러한 정의를 확인할 수 있습니다.
다음 표에서는 각 카테고리에 대해 조정할 수 있는 차단 설정을 설명합니다. 예를 들어 혐오 카테고리의 차단 설정을 극소수 차단으로 설정하면 명예를 훼손할 가능성이 높은 모든 콘텐츠가 차단됩니다. 하지만 확률이 낮은 것은 무엇이든 허용됩니다.
설정하지 않으면 정책 카테고리에 따라 기본 차단 설정은 일부 사용자 차단 또는 대부분 차단입니다.
| 기준점 (Google AI 스튜디오) | 기준액 (API) | 설명 |
|---|---|---|
| 차단 안함 | BLOCK_NONE | 안전하지 않은 콘텐츠의 가능성과 관계없이 항상 표시 |
| 소수 차단 | BLOCK_ONLY_HIGH | 안전하지 않은 콘텐츠일 가능성이 높은 경우 차단 |
| 일부 차단 (성적, 폭력적, 위험, 의료 관련 기본값) | BLOCK_MEDIUM_AND_ABOVE | 안전하지 않은 콘텐츠일 가능성이 중간 또는 높은 경우 차단 |
| 대부분 차단 (경멸 및 악의성의 기본값) | BLOCK_LOW_AND_ABOVE | 안전하지 않은 콘텐츠일 가능성이 낮거나 중간 또는 높은 경우 차단 |
| HARM_BLOCK_THRESHOLD_UNSPECIFIED | 기준점이 지정되지 않았습니다. 기본 기준점을 사용하여 차단합니다. |
문자 서비스에 전송하는 각 요청에 대해 이러한 설정을 지정할 수 있습니다. 자세한 내용은 HarmBlockThreshold API 참조를 확인하세요.
콘텐츠가 차단된 경우 API의 응답의 ContentFilter.reason 필드에 콘텐츠가 차단된 이유가 포함됩니다. 이유가 안전과 관련된 경우 응답에는 해당 요청에 사용된 안전 설정과 안전 평가가 포함된 SafetyFeedback 필드도 포함됩니다. 안전성 등급에는 위험 카테고리 및 위험 분류 확률이 포함됩니다. 차단된 콘텐츠는 반환되지 않습니다.
반환된 확률은 다음 표와 같이 블록 신뢰도 수준에 해당합니다.
| 확률 | 설명 |
|---|---|
| 제외 가능 | 콘텐츠가 안전하지 않을 가능성이 거의 없음 |
| 낮음 | 콘텐츠가 안전하지 않을 가능성이 낮음 |
| 중간 정도의 참여 | 콘텐츠가 안전하지 않을 가능성이 중간입니다. |
| 높음 | 콘텐츠가 안전하지 않을 가능성이 높음 |
예를 들어 악의성 카테고리가 확률이 높아 콘텐츠가 차단된 경우 반환되는 안전성 평점은 TOXICITY와 같고 위험 확률은 HIGH로 설정됩니다.
Advanced settings
Output length : 응답에 사용할 최대 토큰 수(Maximum number of tokens in response)
2048
Top K : 생성 중 고려해야 할 최고 점수 토큰 수(Number of top-scored tokens to consider during generation)
1
Top P : 상위 p 샘플링의 확률 임계값(Probability threshold for top-p sampling)
역할을 [편집자]로 주면 공동 작업도 가능해집니다.

권한을 링크가 있는 모든 사용자로 설정해도 일반적인 구글 드라이브의 공유기능과는 달리, 기능을 살펴보거나 공동 편집을 위한 용도이지 사용자를 위한 것은 아닙니다. 구글 AI 스튜디오가 열려서 구글 AI 스튜디오를 처음 접하는 사용자가 활용하기에는 부적합합니다.
구글 AI 스튜디오에서 제공하는 챗봇 프롬프트를 이용하여 웹앱에 필요한 javascript 코드를 생성
