登入

Google Gemini API開發指南:如何將Google Gemini整合到你的網站和專案中?

作者:neo yang 時間:2024/01/27 讀: 11110
上個月,Google發布了Gemini。緊跟在後,我基於Google Gemini開發了AI SEO——自動和[…]

上個月,Google發布了Gemini。緊隨其後,我基於Google Gemini開發了AI SEO——自動和批量化生成搜尋引擎友好的文章的Wordpress 插件,一個SEO神器。

詳情可以看這裡:

這個月,我又基於Google Gemini 開發了一個chatbot。

這裡分享一下基於Google Gemini API的開發經驗。

一、概述

1、開發語言

如果是js、python、go、swift、android的開發,可以直接參考Google Gemini API官方文件的範例:

https://ai.google.dev/docs?hl=zh-cn

本文的範例是基於PHP開發的。

2、Rest API

除了以上幾種開發語言,其它開發語言都將使用Rest API和Google Gemini進行互動。

所以,本文使用的PHP,也是基於Rest API和Google Gemini互動的。

二、三種請求模式

1.文本生成文本

這是最基本的。

模型:

Gemini Pro。

請求的URL:

https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=’${API_KEY}

請求方式:

POST

請求的資料結構:

{ "contents": [ { "parts": [ { "text": "xxxxxx" } ] } ] }

2、多模式(文字+圖片產生文字)

用圖片,或文字加圖片做提示詞產生文字。

模型:

Gemini Pro Version。

請求的URL:

https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key='${API_KEY}

請求方式:

POST

請求的資料結構:

{ "contents": [ { "parts": [ { "text": "hello\n Hello! How may I assist you today?\na cat" }, { "inlineData": { "mimeType": "image/jpeg ", "data": "'$(base64 -w0 image0.jpeg)'" } }, { "text": "xxxxxxx" } ] } ], }

3、多輪對話(聊天)

只能用Gemini Pro模型,也就是說只能文字產生文字。

模型:

Gemini Pro。

請求的URL:

https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=’${API_KEY}

請求方式:

POST

請求的資料結構:

{ "contents": [ {"role":"user", "parts":[{ "text": "xxxxxx"}]}, {"role": "model", "parts":[{ "text" : "xxxxxx"}]}, {"role": "user", "parts":[{ "text": "xxxxxx"}]}, ] }

三、實例

使用PHP和Google Gemini的Rest API進行呼叫。

1、取得Google Gemini API Key

參考這篇文章:

2、PHP請求代碼(文字產生文字)

function gemini_post(){ //gemini 的API key $apikey="xxxxxx"; //url $url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateent?key=" . $apikey; / /請求資料$data = [ "contents" => [ "parts" => [ "text" => $text ] ] ]; //post請求$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); // 設定請求頭curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_se頂data)) { //判斷是否為POST請求curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); curl); $res = json_decode($response); curl_close($curl); return $res; }

3.多模式

多模式的請求方式和文字產生文字是一樣的,只是請求的資料中會有圖片。

4.聊天

聊天的請求方式和文字產生文字是一樣的,只是請求的資料中是多個數據,並且,必須要有「role」欄位。

四、最佳實踐

服務端請求還是客戶端請求?

我的經驗,如果產品涉及大量的提示詞,那麼,最好還是透過服務端請求,因為便於提示詞的管理。

另外,考慮到一些地區無法要求Google Gemini,服務端請求可以讓這些地區的使用者可以使用基於Google Gemini的產品。

如果不需要考慮這兩點,還是客戶端請求更方便一些。

五、總結

Google Gemini的能力不輸於GPT,而且,可以免費使用,基於Google Gemini可以更方便地開發各種AI應用。看好Google Gemini未來的發展。

六、附錄

Google Gemini官網:

https://ai.google.dev/

Google Gemini API 文件:

https://ai.google.dev/docs?hl=zh-cn

如何申請Google Gemini API key:

基於Google Gemini API開發的產品案例:



copyright © www.lyustu.com all rights reserve.
Theme: TheMoon V3.0. Author:neo yang