はじまり
おおっ、こんな簡単になったんだ~
スゴイ開発しやすくなったね
最近、生成AIを使っていなかったもので・・・
気が付いたら、生成AI周りのツールがスゴイ使いやすくなってそうですね!
特に大規模言語モデルの領域は全然違う感じがします。
なので、今回は初めてGoogle AI Studioを使うための手順と、その他のAIツールと比較していきたいと思います。
Google AI Studioとは?
「Google AI Studio」は、Googleが開発した大規模言語モデル(LLM)である「Gemini」や「Gemma」などの機能を手軽に試せるように設計されたプラットフォームです。
Google AI Studioを利用するメリットは主に以下になります。
- コードを書かなくてもAIモデルを構築可能。
- AIモデルのAPIを利用できるようになる。
また、2024-10-28時点で、無料枠で利用できるAIモデルは以下のとおりです。
- Gemini 1.5 Pro 002
- Gemini 1.5 Pro
- Gemini 1.5 Flash
- Gemini 1.5 Flash-02
- Gemini 1.5 Flash-8B
- Gemma 2 2B
- Gemma 2 9B
- Gemma 2 27B
- Gemini 1.5 Pro Experimental 0827
- Gemini 1.5 Flash Experimental 0827
- Gemini 1.5 Flash 8B Experimental 0924
- Gemini 1.0 Pro
使ってみる
使ってみます。適当にブラウザで「google ai studio」と検索して、Google AI Studioを開きます。
APIキーの発行
まずは左のサイドバーの方からAPIキーを発行してみます。発行するためにはGoogle Cloudで既存のプロジェクトを使うか、新規プロジェクトを作成する必要があります。
発行できると、APIキーの管理画面でキーの値などを確認することが出来るようになります。
実際にプロンプトしてみる。
それでは次は実際にプロンプトしていきます。まずは「Gemini 1.5 Flash」から試していきます。
まずはプロジェクト名を付けます。付けた時に権限の認証をするウインドウが出てきたりもするので、認証します。
プロジェクト名が付いたらプロンプトしていきます。
まずは手始めに、「現在Google AI Studioで使用できるGeminiのモデルを、無料枠と有料枠で分けて列挙して。」と打ち込んでみます。
すると、こんな感じ。 アレッ・・・
Geminiに関する情報はあまり学習されていないようですね。まあ、ハルシネーションが起きるよりは良いと思います。
それでは次に、「現在ChatGPTで使用できる生成AIのモデルを、無料枠と有料枠で分けて列挙して。」と打ち込んでみます。
すると、こんな感じ。 アレッ・・・
ChatGPTに関する情報もあまり学習されていないようですね。この手の質問はダメか・・・。
それでは今度は、「現在巷で主流となっている画像生成AIを列挙して。」と打ち込んでみます。
すると、こんな感じ。
なるほどなるほど、FLUX.1とかが含まれていませんが、欲しい情報はおおよそ把握することが出来ました。
プリプロンプトできる。
次に、これからプロンプトする内容に対してどのように回答するかどうかを設定するためにプリプロンプトしていきます。「Optional tone and style instructions for the model」と表示されている場所に入力できるみたいです。
まずは、「画像生成AIに関する質問は答えないで。」とプリプロンプトしてみます。
そして先程の「現在巷で主流となっている画像生成AIを列挙して。」とプロンプトして答えなくなるかどうかを試します。
すると・・・、
アレッ、先程と同様に回答してしまっています・・・。モデルによるか?
そこで次は、「Gemini 1.5 Flash」から「Gemini 1.5 Pro」にモデルを変えてからプロンプトを送ってみます。
Gemini 1.5 Proにすることで答えがより詳細になりましたね! しかし、この手のプリプロンプトはダメか・・・。
それでは次に、「答えた内容でブログ記事も加えて書いて。」とプリプロンプトしてみます。
すると・・・、
オオオッ・・・、
先程の回答に、ブログ記事用に脚色されたレイアウトで回答が生成されました。明朗な感じの切り口で記事を執筆していますね。
Google AI Studioの生成内容の表示は、Geminiのものよりも見やすいですね・・・。
プロンプトした内容をGoogleドライブに保存できる。
まさにGeminiと違うところですね。
Geminiにプロンプトするとスレッドがどんどん蓄積されて、サイドバーがごちゃごちゃしてしまっていましたが、ファイルとして保存できるのであれば、サイドバーに表示せずにプロンプトとその回答を保存することが出来ますね。
右上の方にある「Save」をクリックすれば、AI Studioのプロジェクトが保存されます。
Googleドライブの方を確認すると・・・、マイドライブのフォルダの中に「Google AI Studio」というフォルダが追加されているので、その中に先ほど保存したプロジェクトのファイルが格納されていることが確認できます。
プロンプトギャラリーというものもある。
プロンプトおよびその回答のサンプルが紹介されているページが存在します。以下からそのページに飛べます。
今回は「JSON スキーマをを使用してレシピを一覧表示する」を選択します。
すると、クロワッサンの画像が出てきます。とてもおいしそうですね。
Gemini 1.5 FlashからJSONを含めた回答が為されていることが確認できます。
材料や手順に関する情報がJSON形式で出力されます。他の場所でこのデータをベクトル化して別のAIモデルに学習させることも出来そうです。
画像のOCRを試してみる。
次に、添付した画像をOCRしてもらって、そのテキストをイイ感じにしてもらいます。
「添付した画像にある内容をOCRして、Markdown形式で適切な形でまとめて下さい。」とプロンプトして、画像を添付してみます。ちなみに、Google AI Studio上で添付できるファイルの種類は、画像、音声、そしてそれらのファイルをGoogleドライブからも添付することが出来ます。
すると、このような回答が生成されました。
今回添付した画像はこれです。
生成された回答を見て、画像内の情報をかなり整理できているなと感じました。「セミファンレス機能対応」の部分は、情報がそのまま出力されずに意訳されていますが、意味的には合っています。かなり使えそうな印象です。
以下、今回のOCRで生成された全文です。
ゲーミングPCに最適 高変換効率電源
850Wの大容量でハイエンドGPUにも対応。
フルプラグイン & フルブラックケーブルで魅せるスッキリ
80PLUS GOLD認証
変換効率平均90%以上で、省エネ&発熱を抑える
▼ ☑ 玄人志向
グラボ用16pin電源コネクター搭載
※ホワイトモデルのみ
▼ ☑ 玄人志向
70cmのATX12Vケーブル
電源下配置や裏配線に対応
▼ ☑ 玄人志向
フルプラグイン & フラットケーブル
ケーブルの取り回しがしやすく、ケース内スッキリ
▼ ☑ 玄人志向
ALL日本メーカー製コンデンサ
信頼性の高いコンデンサで、安心の長寿命
▼ ☑ 玄人志向
セミファンレス機能対応
負荷が軽いと回転を停止させてファン騒音を抑えます
▼ ☑ 玄人志向
また、添付した画像などのファイルは、Googleドライブに保存されるみたいです。
Geminiと比較してみる。
大規模言語モデルとチャットできるプラットフォームは他にも色々あります。
今回はGeminiと比較してみます。AIモデルは「Gemini 1.5 Flash」です。
Geminiの場合。
先程と同様に、「添付した画像にある内容をOCRして、Markdown形式で適切な形でまとめて下さい。」とプロンプトしてOCRをしてもらいます。
そして、少し関係のない内容でプロンプトして回答をしてもらって・・・。(「おすすめのゲーミングPC用の電源ユニットを5個紹介して」)
再び、「先程、添付した画像にあった内容をテーブル形式にして。」とプロンプトすると、先程の画像の内容は忘れてしまったようです。
Google AI Studioの場合。
Google AI Studioでは、先程の画像のOCRは済ませたので、「おすすめのゲーミングPC用の電源ユニットを5個紹介して」のプロンプトから始めます。
そして、「先程、添付した画像にあった内容をテーブル形式にして。」とプロンプトすると・・・、
「先程の画像にあった内容をテーブル形式にして。」というプロンプトに対して回答を用意することが出来ます。Google AI Studioでは以前にプロジェクト内でOCRさせた内容を記憶してくれていますね。
比較まとめ
Googleの各々のAIチャットプラットフォームサービスの比較表です。
サービス | 価格 | 使い勝手、UX | AIモデル | 添付可能 | 記憶力 |
---|---|---|---|---|---|
Google AI Studio | 0 | 5 | 1.5 Flash、Pro | 画像、音声 | 4 |
Gemini | 0 | 3 | 1.5 Flash | 画像、音声 | 3 |
GASでAPIキーを使ってみる。
次に、先程作成したAPIキーで、Google Apps ScriptからGeminiモデルにプロンプトをしてみます。
function getAccessToken() {
const accessToken = PropertiesService.getScriptProperties().getProperty("API_KEY_FOR_GOOGLE_AI_STUDIO");
return accessToken;
}
function promptToGenAi(model, prompt){
const endpoint = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${getAccessToken()}`;
const options = {
"muteHttpExceptions": true,
"method" : "post",
"headers" : {
"Content-Type": "application/json",
},
"payload" : JSON.stringify({
"contents": [{
"parts":[{"text": `${prompt}`}]
}]
})
};
const response = UrlFetchApp.fetch(endpoint, options);
return JSON.parse(response.getContentText());
}
function myFunction() {
const model = "gemini-1.5-flash";
const prompt = "Explain how AI works.";
const result = promptToGenAi(model, prompt);
console.log(result);
console.log(result["candidates"][0]["content"]);
}
result
部分のログです。
{ candidates:
[ { content: [Object],
finishReason: 'STOP',
index: 0,
safetyRatings: [Object] } ],
usageMetadata:
{ promptTokenCount: 4,
candidatesTokenCount: 735,
totalTokenCount: 739 },
modelVersion: 'gemini-1.5-flash-001' }
result["candidates"][0]["content"]
部分のログです。
{ parts: [ { text: ‘## Understanding the Building Blocks of AI:\n\nArtificial Intelligence (AI) is a broad field encompassing a vast array of techniques and approaches. At its core, AI aims to create systems capable of performing tasks that typically require human intelligence, such as:\n\n**1. Learning from Data:**\n\n* **Machine Learning (ML):** This is the most common AI approach. ML algorithms learn from data without explicit programming. They identify patterns and relationships within data to make predictions and decisions. \n * **Supervised learning:** The algorithm is trained on labeled data (e.g., images with corresponding labels like “cat” or “dog”). It learns to predict labels for new data.\n * **Unsupervised learning:** The algorithm is trained on unlabeled data. It finds patterns and structures within the data without specific guidance.\n * **Reinforcement learning:** The algorithm learns through trial and error, receiving rewards or penalties for its actions.\n\n**2. Reasoning and Problem-Solving:**\n\n* **Expert Systems:** These systems capture the knowledge and expertise of humans in a specific domain. They can diagnose problems, provide recommendations, or make decisions based on a set of rules and facts.\n* **Search Algorithms:** These algorithms explore possible solutions to problems, often using heuristics (rules of thumb) to guide their search.\n* **Reasoning Engines:** These systems use logical inference to draw conclusions from a set of facts and rules.\n\n**3. Natural Language Processing (NLP):**\n\n* **Language Understanding:** This involves enabling machines to understand the meaning of human language.\n* **Language Generation:** This involves enabling machines to produce human-like text.\n* **Machine Translation:** This involves translating text from one language to another.\n\n**4. Computer Vision:**\n\n* **Image Recognition:** Enables machines to recognize objects and scenes within images.\n* **Object Detection:** Locates and identifies specific objects within images.\n* **Image Segmentation:** Divides images into regions based on their content.\n\n**5. Robotics:**\n\n* **Autonomous Navigation:** Enables robots to move around in their environment without human intervention.\n* **Manipulation:** Enables robots to interact with objects in their environment.\n* **Sensing and Perception:** Enables robots to perceive their environment and gather information.\n\n**How AI Works in Practice:**\n\nImagine training a machine to recognize cats. This is how it works:\n\n1. **Data Collection:** You feed the machine thousands of images labeled as “cat” and “not cat”.\n2. **Model Training:** The machine uses a learning algorithm (e.g., a neural network) to learn from these images. It adjusts its internal parameters to recognize patterns associated with cats.\n3. **Model Evaluation:** You test the machine with new images to see how accurately it can identify cats.\n4. **Deployment:** Once satisfied with the performance, the machine can be deployed to recognize cats in real-time applications, such as a photo app or a security system.\n\n**Key Points to Remember:**\n\n* AI is a diverse field with many different approaches and techniques.\n* AI relies heavily on data, and the quality and quantity of data can significantly impact its performance.\n* AI systems are constantly evolving and improving.\n* Ethical considerations are crucial in the development and use of AI.\n\n**In summary, AI aims to create intelligent systems by mimicking human cognitive abilities through learning, problem-solving, and interacting with the world.** This involves using algorithms, data, and computing power to develop systems capable of performing tasks that traditionally require human intelligence.’ } ], role: ‘model’ }
「Explain how AI works. Reply in Japanese.」とプロンプトしたら、日本語で返答してくれました。
{ parts: [ { text: ‘## 人工知能(AI)の仕組み\n\n人工知能(AI)は、人間の知能を模倣するように設計されたコンピューターシステムです。その仕組みは非常に複雑ですが、一般的に以下の要素から構成されています。\n\n**1. データ収集と前処理:**\n\n* AIは、学習のために大量のデータが必要です。テキスト、画像、音声など、様々な形式のデータを収集します。\n* 収集されたデータは、AIモデルが理解できる形式に前処理されます。例えば、テキストデータは単語やフレーズに分割され、画像データは数値に変換されます。\n\n**2. 学習:**\n\n* AIモデルは、収集されたデータを使って学習します。学習には、**機械学習**という技術が使用されます。\n* 機械学習には、**教師あり学習**、**教師なし学習**、**強化学習**など様々な種類があります。\n* **教師あり学習:** ラベル付きのデータを使ってモデルを学習させます。例えば、猫の画像に「猫」というラベルを付けて、猫の画像を識別できるモデルを学習させます。\n* **教師なし学習:** ラベルなしのデータを使ってモデルを学習させます。例えば、顧客の購買履歴を分析して、顧客の好みを推測します。\n* **強化学習:** モデルは、環境との相互作用を通して学習します。例えば、ゲームのルールに基づいて、最適な行動を学習します。\n\n**3. 推論:**\n\n* 学習が完了したAIモデルは、新しいデータに対して推論を行うことができます。\n* 例えば、学習済みモデルに新しい画像を入力すると、その画像が猫であるかどうかを判断することができます。\n\n**4. 評価:**\n\n* AIモデルの性能を評価するために、様々な指標が使用されます。\n* 例えば、画像認識モデルの性能を評価するために、正答率や誤り率が使用されます。\n\n**5. 反復学習:**\n\n* AIモデルは、評価結果に基づいて改善されます。\n* 学習と評価を繰り返すことで、AIモデルの精度を高めることができます。\n\n**AIは様々な分野で活用されています:**\n\n* 画像認識: 顔認識、物体検出、医療診断など\n* 自然言語処理: 機械翻訳、チャットボット、文章要約など\n* 音声認識: 音声アシスタント、音声入力、音声検索など\n* 推奨システム: 商品推薦、映画推薦、音楽推薦など\n\nAIは、今後も発展を続け、私たちの生活に大きな影響を与えていくと考えられています。\n’ } ], role: ‘model’ }
まとめ
今回は、Google AI Studioの大まかな機能を試して、その後にGeminiプラットフォームとの比較を行いました。
日に日に大規模言語モデルを利用できるサービスは便利になってきていますので、常日頃で触れて生産性を加速させていきたいですね。
作業のお供に。
ロジクール ワイヤレスキーボード K295GP 静音 耐水 キーボード 無線 Unifying K295 windows chrome グラファイト 国内正規品
PFU キーボード HHKB Professional HYBRID Type-S 日本語配列/墨
おしまい
良い時代だなあ。
発展が加速していますね。
以上になります!
コメント