Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

Gemini : Google AI Studio クイックスタート (1) 自由形式の日本語プロンプト & コード生成

Posted on 04/09/202404/09/2024 by Sales Information

Gemini : Tutorials : Google AI Studio クイックスタート (1) 自由形式の日本語プロンプト & コード生成

作成 : クラスキャット セールスインフォメーション
作成日時 : 04/09/2024

* 本ページは、ai.google.dev の以下のページを参考にしてまとめ直し、適宜、補足説明したものです :

  • Google AI Studio quickstart

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

◆ クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

ClassCat Chatbot

  • 人工知能研究開発支援
    1. 人工知能研修サービス(経営者層向けオンサイト研修)
    2. テクニカルコンサルティングサービス
    3. 実証実験(プロトタイプ構築)
    4. アプリケーションへの実装

  • 人工知能研修サービス

  • PoC(概念実証)を失敗させないための支援
◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール。
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Website: www.classcat.com  ;   ClassCatJP

 

 

Gemini : Tutorials : Google AI Studio クイックスタート (1) 自由形式の日本語プロンプト & コード生成

Google AI Studio は生成モデルを使用してプロトタイピングするためのブラウザベースの IDE です。Google AI Studio は素早くモデルを試して様々なプロンプトで実験することを可能にします。満足できるものを構築した場合、Gemini API で強化された、好みのプログラミング言語でそれをコードにエクスポートできます。

 

プロンプトとモデル・チューニング

Google AI Studio は様々なユースケースのために設計されたプロンプト用の幾つかのインターフェイスを提供しています :

  • 自由形式 (Freeform) プロンプト – これらのプロンプトは、コンテンツを生成して指示へ応答するための制限のないプロンプト・エクスペリエンスを提供します。プロンプト用に画像とテキストデータの両方が使用できます。Learn more

  • 構造化プロンプト – このプロンプト・テクニックはリクエストと応答のサンプルのセットを提供することでモデル出力をガイドできます。モデル出力の構造をより制御する必要がある場合にこのアプローチを使用します。Learn more

  • チャット・プロンプト – チャットプロンプトを使用して会話的エクスペリエンスを構築します。このプロンプトテクニックは出力を生成するのに複数の入力と応答ターンを可能にします。Learn more

 
Google AI Studio はまたチューニングと呼ばれるテクニックを使用して、モデルの動作を変更することも可能です :

  • チューニング済みモデル – この高度なテクニックを使用してより多くの例を提供することで、特定のタスク用にモデルの応答を改良できます。チューニングはレガシーな PaLM モデルについてのみ利用可能です。このプロンプトを有効にするには Settings で Show legacy models を有効にします。Learn more

 

自由形式のプロンプト例: 建物について更に知る

Gemini のマルチモーダル機能は画像とテキストの組み合わせを使用してモデルにプロンプトを供給することを可能にします。例えば、この機能を使用して画像で示される建物について更に知ることができます。

 

ステップ 1 – テキストと画像を使用してプロンプトを作成する

マルチモーダル・プロンプトを作成するには :

  1. Google AI Studio にアクセスする。

  2. 左側のパネルで、Create new > Freeform prompt を選択します。

  3. 右側のカラムの Model フィールドで、Gemini Pro Vision モデルのような、画像をサポートするモデルを選択します。

  4. プロンプトテキスト領域では、以下のテキストを入力します :
    look at the following picture and tell me who is the architect
    
  5. プロンプト領域の上の Insert バーから、Image を選択し、そして建物のサンプル画像の一つを選択します。

  6. アプリケーションウィンドウの下部で、Run を実行してこのリクエストへの応答を生成します。

 
日本語で試してみましょう :

次の写真を見て、建築家が誰なのか教えてください
この写真はタージ・マハルです。ムガル帝国皇帝シャー・ジャハーンによって、亡き妻ムムターズ・マハルの霊廟として建てられました。ウスタッド・アフマド・ラハウリはタージ・マハルの主任建築家であると考えられています。

 

ステップ 2 – プロンプトに置き換え可能な変数を追加する

ステップ 1 では、モデルにテキストの固定文字列と画像を使用してプロンプトを提供しました。しかし時に、プロンプトの一部を動的に変更できることを望むでしょう。例えば、対話的なアプリケーションを構築している場合、プロンプトを様々なユーザ入力で変更したいかもしれません。そのため、変数 を使用してプロンプトをパラメータ化できます。

プロンプトに変数を追加するには :

  1. プロンプトで置き換えたい単語や句を選択します。この場合、テキスト: “who is the architect.” を選択します。

  2. プロンプトの上の Insert: ヘッダから、{{ }} Test input を選択します。

  3. プロンプトの下の Test your prompt テーブルで、Add test example を選択して追加のプロンプト値を入力することにより、プロンプトに追加の値を追加します。自由に幾つかの新しい入力値を追加してください。

  4. アプリケーション・ウィンドウの下部で、Run を選択すると様々なリクエストの各々に対して応答を生成します。

 
日本語でも試してみましょう :

次の写真を見て、建築家が誰なのか教えてください
建築家が誰なのか
建築はいつ始まったのか
建築はいつ完成したのか
1 建築家が誰なのか
写真に写っているのは、エジプトのギザにあるクフ王のピラミッドです。このピラミッドは、古代エジプトの第4王朝時代のファラオであるクフ王のために建設されました。建築家はヘミウヌという人物で、クフ王の宰相を務めていたとされています。 

2 建築はいつ始まったのか
紀元前2700年頃、古代エジプトで建築が始まりました。
古代エジプトの建築は、巨大な石材を積み上げて作られるピラミッドが有名です。ピラミッドは、王の墓として建設されました。ピラミッドは、古代エジプトの建築技術の高さを見せつけるものです。ピラミッドは、何千年もの間、その姿を保ち続けています。古代エジプトの建築は、後の建築に大きな影響を与えました。ギリシャ建築やローマ建築は、古代エジプトの建築を参考にしています。古代エジプトの建築は、世界の歴史の中で最も重要な建築の一つです。ピラミッドは、古代エジプトの文明の偉大さを象徴するものです。 

3 建築はいつ完成したのか
写真に写っているのは、エジプトのギザにあるクフ王のピラミッドです。建築家は不明ですが、紀元前2580年頃に完成したとされています。 

 

ステップ 3 – モデルパラメータを実験する

プロンプトをプロトタイピングする際に、アプリケーションの右側のモデル run settings で遊ぶこともできます。これらは知るべき主要な設定です :

  • Model – どのモデルがプロンプトに応答することを望むかを選択します。利用可能なモデルと機能についての詳細は モデル をご覧ください。

  • Temperature – モデルの応答でどの程度ランダム性が許容されるかを制御します。この値を上げるとモデルがより予期しない創造性のある応答を生成することを可能にします。

  • Max outputs – 各リクエストに対してモデルが返す応答の数を増やします。このオプションは、単一のプロンプトに対して複数の応答を生成することによりプロンプトを素早くテストするために役立ちます。

  • Safety settings – モデル応答を管理するためのセーフティ設定を調整します。制御の詳細は、セーフティ設定 をご覧ください。

 

ステップ 4 – 次のステップ

生成 AI アプリケーションのプロトタイプを行った今、そのワークをセーブしたり、独自の開発環境でこのプロンプトを使用するためのコードを生成することができます。

作成したプロンプトを保存するには :

  1. Google AI Studio アプリケーションの右上で、Save を選択します。

  2. アプリケーションを貴方の Google Drive アカウントに接続します、まだ行っていないのであれば。

  3. Save Prompt ダイアログで、プロンプト名をとオプションの説明を入力してから、Save を選択します。

 
作成したプロンプトをコードとしてエクスポートするには :

  1. Google AI Studio アプリケーションの右上で、Get code を選択します。

  2. プログラミング言語タブを選択します。

  3. Copy を選択してコードをクリップボードにコピーします。

 

 
Python

"""
At the command line, only need to run once to install the package via pip:

$ pip install google-generativeai
"""

from pathlib import Path
import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

# Set up the model
generation_config = {
  "temperature": 0.4,
  "top_p": 1,
  "top_k": 32,
  "max_output_tokens": 4096,
}

safety_settings = [
  {
    "category": "HARM_CATEGORY_HARASSMENT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_HATE_SPEECH",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
]

model = genai.GenerativeModel(model_name="gemini-1.0-pro-vision-latest",
                              generation_config=generation_config,
                              safety_settings=safety_settings)

# Validate that an image is present
if not (img := Path("image0.jpeg")).exists():
  raise FileNotFoundError(f"Could not find image: {img}")

image_parts = [
  {
    "mime_type": "image/jpeg",
    "data": Path("image0.jpeg").read_bytes()
  },
]

prompt_parts = [
  "次の写真を見て、建築家が誰なのか教えてください",
  image_parts[0],
  "建築はいつ完成したのか",
]

response = model.generate_content(prompt_parts)
print(response.text)

 
JavaSceript

// node --version # Should be >= 18
// npm install @google/generative-ai

const {
  GoogleGenerativeAI,
  HarmCategory,
  HarmBlockThreshold,
} = require("@google/generative-ai");
const fs = require("fs");

const MODEL_NAME = "gemini-1.0-pro-vision-latest";
const API_KEY = "YOUR_API_KEY";

async function run() {
  const genAI = new GoogleGenerativeAI(API_KEY);
  const model = genAI.getGenerativeModel({ model: MODEL_NAME });

  const generationConfig = {
    temperature: 0.4,
    topK: 32,
    topP: 1,
    maxOutputTokens: 4096,
  };

  const safetySettings = [
    {
      category: HarmCategory.HARM_CATEGORY_HARASSMENT,
      threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    },
    {
      category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
      threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    },
    {
      category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
      threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    },
    {
      category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
      threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    },
  ];

  if (!fs.existsSync("image0.jpeg")) {
    throw new Error("Could not find images in current directory.");
  }

  const parts = [
    {text: "次の写真を見て、建築家が誰なのか教えてください"},
    {
      inlineData: {
        mimeType: "image/jpeg",
        data: Buffer.from(fs.readFileSync("image0.jpeg")).toString("base64")
      }
    },
    {text: "建築はいつ完成したのか"},
  ];

  const result = await model.generateContent({
    contents: [{ role: "user", parts }],
    generationConfig,
    safetySettings,
  });

  const response = result.response;
  console.log(response.text());
}

run();

 
Curl

#!/bin/bash

# Run this from the directory in which you saved your input images
# This script was written to run on Debian Linux. It may require updates
# to run on other platforms

# Test that the first image is present
if [ ! -f "image0.jpeg" ]; then
  echo "Could not find images in the current directory." >&2
  exit 1
fi

API_KEY="YOUR_API_KEY"

curl \
  -X POST https://generativelanguage.googleapis.com/v1beta/models/gemini-1.0-pro-vision-latest:generateContent?key=${API_KEY} \
  -H 'Content-Type: application/json' \
  -d @<(echo '{
  "contents": [
    {
      "parts": [
        {
          "text": "次の写真を見て、建築家が誰なのか教えてください"
        },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "'$(base64 -w0 image0.jpeg)'"
          }
        },
        {
          "text": "建築はいつ完成したのか"
        }
      ]
    }
  ],
  "generationConfig": {
    "temperature": 0.4,
    "topK": 32,
    "topP": 1,
    "maxOutputTokens": 4096,
    "stopSequences": []
  },
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
    {
      "category": "HARM_CATEGORY_HATE_SPEECH",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
    {
      "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
    {
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}')

 

以上



クラスキャット

最近の投稿

  • LangGraph on Colab : SQL エージェントの構築
  • LangGraph on Colab : マルチエージェント・スーパーバイザー
  • LangGraph on Colab : エージェント型 RAG
  • LangGraph : 例題 : エージェント型 RAG
  • LangGraph Platform : Get started : クイックスタート

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (24) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2024年4月
月 火 水 木 金 土 日
1234567
891011121314
15161718192021
22232425262728
2930  
« 3月   5月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme