You are currently viewing Gemini API をお楽しみください 

Gemini API をお楽しみください 

導入

前回の記事では、Google が開発した大規模モデル構築の新しいステップである Gemma モデルを紹介しました。今回は、同じくGoogleの製品であるGeminiについて紹介したいと思います。その後、Google が提供する Gemini API を学習して使用します。

画像.png

ジェミニ🤖

Gemini は、Google AI による大規模な言語モデルです。大規模なテキストとコードのデータセットでトレーニングされているため、人間の質問や要求に応じて人間のようなテキストを通信し、生成することができます。これは、次のようなさまざまなタスクを実行する人々を支援できる強力な言語ツールであると考えてください。

  • 質問が自由回答であったり、挑戦的であったり、奇妙なものであっても、有益な方法で質問に答えてください。
  • 詩、コード、スクリプト、楽譜、電子メール、手紙など、さまざまなクリエイティブなテキスト形式を作成します。
  • たとえそれが自由回答であったり、挑戦的であったり、奇妙なものであっても、有益な情報を提供するように質問に答えてください。

Gemini はウェブまたは携帯電話 で試すことができます。画像.png

ジェミニ API 👾

Web やモバイルでの使用に加え、Google は Gemini API を使用するための SDK を提供しているため、開発者は柔軟に Gemini API を使用できます。では、Googleが提供している機能を使ってみましょう。次の手順を実行します。

  1. 環境をセットアップし、API にアクセスするためのトークンを取得する方法を設定します。
  2. テキスト要求からテキスト応答を生成します (テキスト ** 入力から ** テキストを生成します)。
  3. 画像入力からテキストを生成します。

環境設定

Python SDK をインストールして、GeminiAPI を使用するにはgoogle-generativeai、. これは次の構文を使用して行います。

pip install -q -U google-generativeai

Gemini にアクセスするためのトークンを取得するには、ここにアクセスしてコードを取得しますStudio にアクセスした後、左側を見ると、API トークンを作成するボタンが表示されます。 画像.png ライブラリを呼び出して必要な関数を構築します

import pathlib
import textwrap

import google.generativeai as genai

from IPython.display import display
from IPython.display import Markdown


def to_markdown(text):
  text = text.replace('•', '  *')
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))

新しく作成した API トークンを入力してモデルを利用します

GOOGLE_API_KEY = "Các bạn nhập API Token vào đây"

genai.configure(api_key=GOOGLE_API_KEY)

実験

この記事では、次の 2 つの実験を実行します。

  • テキストからテキストを実行: テキスト要求を受信したときに、Gemini にテキスト結果を返すように依頼ますたとえば、質問と回答、情報検索リクエスト、概要リクエストなど。ChatGPT のような有名なアプリケーションが考えられます。
  • img からテキストを実行: 画像リクエストを受信したときにテキスト結果を返すように Gemini に依頼ます具体的には、ジェミニに画像を与えると、その画像の内容を説明します。

まず、Gemini が提供する他のモデルを見てみましょう。

for m in genai.list_models():
  if 'generateContent' in m.supported_generation_methods:
    print(m.name)
    """
            Kết quả   
            models/gemini-1.0-pro
            models/gemini-1.0-pro-001
            models/gemini-1.0-pro-latest
            models/gemini-1.0-pro-vision-latest
            models/gemini-pro
            models/gemini-pro-vision
      """

テキストからのテキスト

models/gemini-1.0-proこの記事ではこのモデルを使用します。

model = genai.GenerativeModel('gemini-1.0-pro')
model

モーダルは、generate_content基礎となるモデルがサポートする内容に応じて、マルチターン チャットやマルチモーダル入力など、さまざまなユースケースを処理できます。既存のモデルは、入力としてテキストと画像、出力としてテキストのみをサポートします。

デフォルトでは、モデルは作成プロセス全体が完了した後に応答を返します。作成された応答をストリーミングすることもでき、モデルは作成されるとすぐに応答部分を返します。

応答をストリーミングするには、次の構文を使用しますGenerativeModel.generate_content(..., stream=True)

例: 即時対応

%%time
response = model.generate_content("Tại sao Trái Đất quay xung quanh mặt trời?")
response

"""
CPU times: user 117 ms, sys: 8.24 ms, total: 126 ms
Wall time: 6.74 s
response:
GenerateContentResponse(
    done=True,
    iterator=None,
    result=glm.GenerateContentResponse({'candidates': [{'content': {'parts': [{'text': 'Trái Đất quay quanh Mặt Trời vì lực hấp dẫn.\n\nKhi Mặt Trời hình thành, một đĩa vật chất bồi tụ xung quanh nó. Đĩa này chứa chủ yếu là hydro và heli, cùng với một lượng nhỏ các nguyên tố nặng hơn. Khi đĩa bồi tụ, các hạt vật chất va chạm với nhau, giải phóng năng lượng và làm nóng đĩa.\n\nỞ trung tâm của đĩa, vật chất trở nên đủ nóng để phản ứng hạt nhân diễn ra. Các phản ứng này giải phóng một lượng năng lượng khổng lồ, khiến Mặt Trời trở thành một ngôi sao.\n\nKhi Mặt Trời hình thành, phần vật chất còn lại trong đĩa bồi tụ bắt đầu tích tụ lại với nhau, hình thành nên các hành tinh, bao gồm cả Trái Đất. Trái Đất được tạo thành từ các vật liệu nặng hơn trong đĩa bồi tụ, bao gồm sắt, silic và oxy.\n\nKhi Trái Đất hình thành, nó bắt đầu quay quanh Mặt Trời vì lực hấp dẫn. Lực hấp dẫn là lực mà bất kỳ hai vật thể nào có khối lượng cũng tác động lên nhau. Khối lượng của Mặt Trời rất lớn, vì vậy nó tạo ra một lực hấp dẫn rất mạnh tác động lên Trái Đất. Lực này giữ cho Trái Đất quay quanh Mặt Trời theo quỹ đạo hình elip.'}], 'role': 'model'}, 'finish_reason': 1, 'index': 0, 'safety_ratings': [{'category': 9, 'probability': 1, 'blocked': False}, {'category': 8, 'probability': 1, 'blocked': False}, {'category': 7, 'probability': 1, 'blocked': False}, {'category': 10, 'probability': 1, 'blocked': False}], 'token_count': 0, 'grounding_attributions': []}], 'prompt_feedback': {'safety_ratings': [{'category': 9, 'probability': 1, 'blocked': False}, {'category': 8, 'probability': 1, 'blocked': False}, {'category': 7, 'probability': 1, 'blocked': False}, {'category': 10, 'probability': 1, 'blocked': False}], 'block_reason': 0}}),
)
"""

ストリームに応答する

%%time
response_st = model.generate_content("Tại sao Trái Đất quay xung quanh mặt trời?", stream=True)

for chunk in response_st:
  print(chunk.text)
  print("_"*50)
  
 """
 Trái Đất quay xung quanh Mặt Trời chủ yếu là do hai
__________________________________________________
 lý do:

**1. Lực hấp dẫn:**

* Mặt Trời là ngôi sao có khối lượng rất lớn.
* Theo định luật
__________________________________________________
 hấp dẫn của Newton, hai vật thể có khối lượng càng lớn thì lực hấp dẫn giữa chúng càng mạnh.
* Mặt Trời có khối lượng lớn hơn Trái Đất rất nhiều, tạo ra lực hấp dẫn mạnh mẽ.

**2. Bảo toàn động lượng góc:**

* Hệ Mặt Tr
__________________________________________________
ời ban đầu là một đám mây khí và bụi đang quay.
* Khi đám mây này sụp đổ để tạo thành Mặt Trời, vật chất ở bên ngoài đám mây phải di chuyển nhanh hơn để bảo toàn động lượng góc.
* Vật chất này cuối cùng tạo thành các hành tinh, bao gồm Trái Đất, chuyển động xung quanh Mặt Trời trên cùng một mặt phẳng và cùng hướng.

Vì vậy, sự kết hợp giữa lực hấp dẫn của Mặt Trời và động lượng góc bảo toàn đã khiến Trái Đất và các hành tinh khác quay quanh Mặt Trời trong
__________________________________________________
 quỹ đạo của chúng.
__________________________________________________
CPU times: user 152 ms, sys: 11.8 ms, total: 164 ms
Wall time: 8.28 s
 """

定義したばかりの関数を使用して、to_markdown結果を見栄え良くします。

to_markdown(response.text)

さらに、入力したばかりのコンテンツの安全性を次のように確認できます。

response.prompt_feedback

"""
safety_ratings {
  category: HARM_CATEGORY_SEXUALLY_EXPLICIT
  probability: NEGLIGIBLE
}
safety_ratings {
  category: HARM_CATEGORY_HATE_SPEECH
  probability: NEGLIGIBLE
}
safety_ratings {
  category: HARM_CATEGORY_HARASSMENT
  probability: NEGLIGIBLE
}
safety_ratings {
  category: HARM_CATEGORY_DANGEROUS_CONTENT
  probability: NEGLIGIBLE
}

"""

画像からのテキスト

Gemini は、テキスト、画像、入力の両方を受け入れるマルチモーダル モデル (gemini-pro-vision) を提供します。マルチモーダル プロンプトをGenerativeModel.generate_content処理し、テキスト結果を返すように設計されています。

このテストでは、画像を Colab にアップロードして機能をテストします 画像.png

モデルをインストールしますgemini-pro-vision

v_model = genai.GenerativeModel('gemini-pro-vision')
v_model

画像のコンテンツをモデル化するには、次の操作を行います。

response = v_model.generate_content(img)

to_markdown(response.text)

"""
A Turkish breakfast is a feast of delicious dishes that are meant to be shared with family and friends. The table is typically laden with a variety of breads, cheeses, olives, tomatoes, cucumbers, and other fresh vegetables. There are also often eggs, sausage, and other meat dishes. The meal is typically rounded out with tea or coffee and a sweet dessert.

Turkish breakfast is a social occasion, and it is often enjoyed at a leisurely pace. It is a time to catch up with loved ones and to enjoy the simple pleasures of life.

If you are ever lucky enough to be invited to a Turkish breakfast, be sure to come hungry! You will be treated to a delicious and unforgettable meal.
"""

: 他の機能についても [2] で説明およびガイドされています。

出典 : https://viblo.asia/p/no-dua-cung-gemini-api-oK9VyEo5VQR

Please follow and like us:
Pin Share

1,403件のコメントがあります

  1. Williamsah

    শুভেচ্ছা!
    [url=https://onlinecasinospins.shop]ক্যাসিনো টাকা ডিপোজিট[/url]
    এই লিঙ্কটি পড়ুন – https://onlinecasinospins.shop/
    ক্যাসিনো টাকা ইনকাম
    অনলাইন জোয়া
    ক্যাসিনো অনলাইন

    শুভকামনা!

  2. turnyouroyal-621

    Custom Royal Portrait turnyouroyal.com an exclusive portrait from a photo in a royal style. A gift that will impress! Realistic drawing, handwork, a choice of historical costumes.

  3. besarte-330

    Открыть онлайн брокерский счёт – ваш первый шаг в мир инвестиций. Доступ к биржам, широкий выбор инструментов, аналитика и поддержка. Простое открытие и надёжная защита средств.

コメントを残す