Zaloguj sie

Przewodnik rozwoju API Google Gemini: Jak zintegrować Google Gemini ze swoimi stronami internetowymi i projektami?

Autor:neo-yang Czas:2024/01/27 Czytać: 11127
W zeszłym miesiącu Google wypuściło Gemini. Zaraz potem opracowałem AI SEO w oparciu o Google Gemini – automatyczne i […]

上个月,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:generateContent?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_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);
    return $res;
}

3、多模式

多模式的请求方式和文本生成文本是一样的,只是请求的数据中会有图片。

4、聊天

聊天的请求方式和文本生成文本是一样的,只是请求的数据中是多条数据,并且,必须要有“role”字段。

四、最佳实践

服务端请求还是客户端请求?

我的经验,如果产品涉及到大量的提示词,那么,最好还是通过服务端请求,因为便于提示词的管理。

另外,考虑到一些地区无法请求Google Gemini,服务端请求可以让这些地区的用户可以使用基于Google Gemini的产品。

如果不需要考虑这两点,还是客户端请求更方便一些。

5. Podsumowanie

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开发的产品案例:



prawa autorskie © www.lyustu.com wszelkie prawa zastrzeżone.
Temat: TheMoon V3.0 Autor:neo yang