Google Gemini API 開発ガイド: Google Gemini をウェブサイトやプロジェクトに統合するにはどうすればよいですか?
先月、GoogleはGeminiをリリースした。その直後、私は Google Gemini に基づいて AI SEO を開発しました。これは、SEO 成果物である検索エンジンに適した記事を自動的にバッチで生成する WordPress プラグインです。
詳細はこちらでご覧いただけます:
今月、私は Google Gemini をベースにしたチャットボットを開発しました。
ここでは、Google Gemini API に基づいた私の開発経験を共有したいと思います。
I. 概要
1. 開発言語
js、python、go、swift、android を開発している場合は、公式の Google Gemini API ドキュメントの例を直接参照できます。
https://ai.google.dev/docs?hl=zh-cn
この記事の例は PHP に基づいて開発されています。
2. 残りの API
上記の開発言語に加えて、他の開発言語は Rest API を使用して Google Gemini と対話します。
したがって、この記事で使用されている PHP も、Rest API と Google Gemini インタラクションに基づいています。
2. 3つのリクエストモード
1. テキスト生成テキスト
これが最も基本的なものです。
モデル:
ジェミニプロ。
リクエストされた URL:
https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=’${API_KEY}
リクエスト方法:
役職
要求されたデータ構造:
{ "コンテンツ": [ { "パーツ": [ { "テキスト": "xxxxxx" } ] } ] }
2. マルチモード(テキスト+画像でテキストを生成)
画像、またはテキストと画像をプロンプトワードとして使用して、テキストを生成します。
モデル:
ジェミニのプロバージョン。
リクエストされた URL:
https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key='${API_KEY}
リクエスト方法:
役職
要求されたデータ構造:
{ "content": [ { "parts": [ { "text": "こんにちは\n こんにちは! 今日はどのようにお手伝いさせていただけますか?\na 猫" }, { "inlineData": { "mimeType": "image/jpeg ", "データ": "'$(base64 -w0 image0.jpeg)'" } }, { "テキスト": "xxxxxxx" } ] } ], }
3. 複数回の対話(チャット)
Gemini Pro モデルのみを使用できます。つまり、テキストからテキストを生成することしかできません。
モデル:
ジェミニプロ。
リクエストされた URL:
https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=’${API_KEY}
リクエスト方法:
役職
要求されたデータ構造:
{ "コンテンツ": [ {"ロール":"ユーザー", "パーツ":[{ "テキスト": "xxxxxx"}]}, {"ロール": "モデル", "パーツ":[{ "テキスト" : "xxxxxx"}]}, {"role": "user", "parts":[{ "text": "xxxxxx"}]}, ] }
3. 例
PHP と Google Gemini の Rest API を使用して呼び出しを行います。
1. Google Gemini API キーを取得する
この記事を参照してください。
2. PHPリクエストコード(テキストがテキストを生成)
function gemini_post(){ //gemini の API キー $apikey="xxxxxx"; //url $url = "https://generative language.googleapis.com/v1beta/models/gemini-pro:generateContent?key=" . $apikey; / /リクエストデータ $data = [ "contents" => [ "parts" => [ "text" => $text ] ] ]; //ポストリクエスト $curl =curl_init();curl_setopt($curl, CURLOPT_URL, $url); // 設定リクエストheadercurl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); if (!empty($data)) { // 決定POST リクエストであるかどうかcurl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); }curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $response =curl_exec($curl) ; $res = json_decode($response) ;curl_close($curl); $res を返します; }
3. マルチモード
マルチモードのリクエスト方法はテキスト生成と同じですが、リクエストされたデータに画像が含まれる点が異なります。
4. チャット
チャットのリクエスト方法はテキスト生成と同じですが、リクエストするデータに複数のデータが含まれており、「ロール」フィールドが必要である点が異なります。
4. ベストプラクティス
サーバーリクエストですか、それともクライアントリクエストですか?
私の経験から言えば、製品に多数のプロンプトワードが含まれる場合は、サーバー経由でリクエストする方がプロンプトワードの管理が容易であるため、最適です。
さらに、一部の地域では Google Gemini をリクエストできないことを考慮して、サーバー側リクエストにより、これらの地域のユーザーが Google Gemini ベースの製品を使用できるようにすることができます。
この2点を考慮する必要がないのであれば、依頼者にとっては都合が良いでしょう。
5. まとめ
Google Gemini は GPT と同等の機能を備えており、無料で利用できるため、Google Gemini をベースにしてさまざまな AI アプリケーションをより便利に開発できます。私たちは Google Gemini の将来の発展について楽観的です。
6. 付録
Google Gemini 公式ウェブサイト:
Google Gemini API ドキュメント:
https://ai.google.dev/docs?hl=zh-cn