Introduction
以前から予告されていたとおり、Gemini Pro APIが使えるようになりました。
Geminiとは、2023年12月6日にGoogleから発表されたマルチモーダル大規模言語モデルです。
LaMDA/PaLM2の後継と位置づけられており、テキスト、画像、音声などのデータを
同時に認識して処理が可能とされています。
今回はこのGemoniシリーズのGemini Pro(テキスト・コード生成/チャットなどを想定)をNodeから使ってみます。
なお、他にもGemini Pro Visionと呼ばれる、テキスト・画像・動画を扱えるモデルもあります。
現時点では、Gemini Pro/Gemini Pro Visionは60req/分が無料で使えます。
GAまでは無料で使えるので、心置きなく試せます。
Environment
- MacBook Pro (13-inch, M1, 2020)
- OS : MacOS 13.5.2
- node : v20.8.1
Setup
Gemini APIを使うための最も簡単な方法は、Google AI StudioでAPI Keyを取得することです。
※ Generative AI Studioではない
Google AI Studioにアクセスし、「Get API key」をおせば取得できます。
あとは環境変数に設定。
% export GEMINI_API_KEY=xxxxxxxxxx
Node用SDKをインストールしましょう。
% npm install @google/generative-ai --save
あとはこのあたりにひととおりドキュメントがあるので、それを見ればだいたい動かせるかと思います。
↓みたいな感じで、gemini-proモデルを指定してstreamingで表示させてみます。
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
async function run() {
// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});
const prompt = "こんにちわ。あなたは誰?";
const result = await model.generateContentStream(prompt);
let text = '';
for await (const chunk of result.stream) {
//const chunkText = chunk.text();
const chunkText = chunk.text();
console.log(chunkText);
text += chunkText;
}
}
run();
実行してみます。
streamingで返事をかえしてくれました。
% node main.js
私はGoogleアシスタントです。私は会話型AIであり、情報を提供し
、タスクを実行し、質問に答えます。私は、Google検索、ニュース、天気、翻訳、アラーム、リマインダー、ナビゲ
ーション、音楽、ビデオの再生、テキストメッセージの送信、電話をかける、電子メールの送信、レストランの予約、アラームを設定するなど、さまざまなタスクを実行するように設計されています。
※何度か試してみたところ、たまに�����みたいに文字化けっぽいのが出た
Summary
とりあえずGemini ProをNodeから試してみました。
Gemini Pro Visionのほうもやってみたいところです。
現時点では入出力データがモデルの学習に使用されるらしいので注意してください。