Python

【Python】Google Bard API 活用方法『徹底解説』

「Google Bard(グーグルバード)」は、検索エンジン最大手であるGoogleによって開発された対話型AIサービスです。2023年3月にアメリカとイギリスで一般公開され、日本語版は2023年5月からスタートしました。

現在Google Bardは試験運用中で、Googleアカウントがあれば誰でも無料で利用することができます。

本記事では、BardAPIをPythonから利用する方法と、BardAPIからの回答を、Wordpressへブログ記事を自動投稿する処理までを紹介します。

この方法を利用すると、ブログの完全自動運用が可能になります。また、今回紹介する方法を応用することで、ビジネスシーンにおいてもとても有用なツールを作成する事も可能です。

Google Bardとは

「Google Bard」とは、Googleが開発した対話型AIサービスです。人間との会話のような自然なやり取りが可能な対話型AIに、Googleが誇る検索サービスを連携しており、チャットで質問をするだけで、AIがビッグデータから自然かつ正確な回答を出力してくれます。ちなみに「Bard」という単語は、日本語の「吟遊詩人」「歌人」という意味があり、その名の通り人間が使うような自然な文章で回答することを見込んで名付けられています。

Chat GPTを含む他の対話型AIモデルと同様に、ユーザーの質問への回答や文章の自動生成、言語翻訳、ソースコードの生成、要約といった対応が可能となっています。Google Bardでは、世界中の幅広い知識を大規模言語モデルの知能やクリエイティビティと組み合わせることを目的としています。

ChatGPTとGoogle Bard APIの相違点

Google BardChatGPT
最新情報へのアクセスGoogleの検索システムと連携しており、最新情報についての質問が可能リアルタイムの最新情報へのアクセスは限定的
プラグインの活用導入を発表しているが、現時点では活用不可有料課金するなど条件を満たせば使用可能
言語モデル大規模言語モデル「LaMDA」および次世代モデル「PaLM2」GPT-4
多言語対応180を超える国で利用可能英語以外では、スペイン語、フランス語、ドイツ語、イタリア語、オランダ語、ロシア語、中国語、日本語など
対話型の設計ユーザーからの指示に対してクリエイティブな返答過去に交わした会話を念頭においた対話が可能
主な用途詩や脚本など、創作分野チャットボットやバーチャルアシスタントなど、会話型AI
検索エンジンGoogleBing

Google Bardは詩や脚本など、創作分野に適していると言われています。

一方、ChatGPTは、チャットボットやバーチャルアシスタントなど、会話型AIとしての用途に適しています。

まだ、Google Bard APIは試作段階なので、回答の正確性は、ChatGPTの方が高いです。

また、ChatGPTはインターネット接続がないものの、人間が書いた自然な文章に近い高精度の回答を生成します。

一方、Google BardはGoogleの検索システムと連携していますが、単純な知識質問に対応できない場合があります。ただ、Google BardはGoogleの検索システムと連携しているので、Web上のコンテンツ情報を即時に利用できます。

一方、ChatGPTが学習している情報は2021年9月までなので、それ以降の情報を利用した回答はできません。

Google Bard APIとは

Google Bard APIは、自然言語処理(NLP)と機械学習を駆使した強力なツールです。このAPIを使用することで、与えられたコンテキストに基づいて意味のあるテキストを生成することができます。Google Bard APIは、チャットボットや仮想アシスタント、コンテンツ生成など、さまざまな用途に活用されています。

Google Bard APIを利用するには、まずAPIキーの取得が必要です。Google Cloudアカウントを作成し、プロジェクトを作成した後、Google Cloud ConsoleでBard APIを有効化し、APIキーを生成することができます。APIキーは、Google Bard APIを使用する際に認証に利用される重要な情報です。

Google Bard APIを使用すると、以下のようなさまざまなアプリケーションを作成することができます。

  1. ユーザーと会話ができるチャットボット:Google Bard APIは、会話の流れやコンテキストに基づいて、ユーザーとの対話を行うチャットボットを作成するのに役立ちます。
  2. コンテンツ生成:Google Bard APIは、ウェブサイトやソーシャルメディアのコンテンツを生成するためのツールとして活用できます。例えば、ブログ記事や商品の説明文を自動的に生成することができます。
  3. 翻訳:Google Bard APIは、テキストを1つの言語から別の言語に翻訳するためのツールとして使用できます。異なる言語間でのコミュニケーションや文書の翻訳に役立ちます。
  4. 回答者:Google Bard APIは、さまざまなトピックに関する質問に回答するためのツールとして活用できます。一般的な知識、情報源、データベースなどからの情報を利用して、正確な回答を生成することができます。

これらはGoogle Bard APIの使用例の一部であり、さまざまな応用が可能です。

Google Bard APIのキーの取得方法

Google Bard APIを使用するには、まずAPIキーを取得する必要があります。以下にGoogle Bard APIのAPIキーを取得する手順を示します。

  1. Google Cloudアカウントにサインアップします。アカウントを持っていない場合は、こちらから無料でサインアップできます: https://cloud.google.com/free
  2. Google Cloudコンソールで新しいプロジェクトを作成します。プロジェクトに名前を付け、関連付ける課金アカウントを選択します。
  3. プロジェクトでBard APIを有効にします。これを行うには、Google CloudコンソールのAPIライブラリに移動し、「Bard API」を検索します。APIをクリックし、「有効化」ボタンをクリックします。
  4. 新しいAPIキーを作成します。APIキーを作成するには、Google Cloudコンソールの認証情報ページに移動し、「認証情報を作成」ボタンをクリックします。ドロップダウンメニューから「APIキー」を選択し、指示に従って新しいAPIキーを作成します。
  5. APIキーをコピーして安全に保存します。このAPIキーは、Google Bard APIとの認証にアプリケーションで使用する必要があります。

これでGoogle Bard APIのAPIキーを取得する手順が完了しました。

PythonからBard API を利用する方法

まず次のことを確認して下さい。

  1. Python 3がインストールされていること
  2. pipがインストールされていること

次にターミナルで次のコマンドを実行します。

pip install pip --upgrade
pip install bard-api

PythonからBard API の呼び出し方法

from bard_api import Bard

# APIキーを設定
bard = Bard(api_key="YOUR_API_KEY")

# テキスト生成
text = bard.generate_text("こんにちは、Bardです。")
print(text)

# 翻訳
translated_text = bard.translate("こんにちは、Bardです。", "en")
print(translated_text)

# 質問応答
answer = bard.ask("日本の首都はどこですか?")
print(answer)

Bard APIの3つの機能(テキスト生成、翻訳、質問応答)をPythonから利用しています。

from bard_api import Bard

bard_apiライブラリをインポートし、Bardクラスを利用できるようにします。

# APIキーを設定
bard = Bard(api_key="YOUR_API_KEY")

YOUR_API_KEYを実際のAPIキーに置き換えます。

# テキスト生成
text = bard.generate_text("こんにちは、Bardです。")
print(text)

generate_text()メソッドを使って、”こんにちは、Bardです。”というプロンプトからテキストを生成し、text変数に格納します。

# 翻訳
translated_text = bard.translate("こんにちは、Bardです。", "en")
print(translated_text)

translate()メソッドを使って、”こんにちは、Bardです。”という日本語を英語に翻訳し、translated_text変数に格納します。

# 質問応答
answer = bard.ask("日本の首都はどこですか?")
print(answer)

ask()メソッドを使って、「日本の首都はどこですか?」という質問に対して回答を取得し、answer変数に格納します。

ターミナルから次の様に実行してみて下さい。

python code.py

コードを実行すると、以下の出力が得られます。

こんにちは、Bardです。

Hello, Bard.

日本の首都は東京です。

ポイントと改善点

  • APIキーは環境変数に設定するなど、安全な方法で管理
  • 生成されたテキストや翻訳結果は必ず確認
  • 質問は簡潔で明確に

以上を改善すると実際に利用できるレベルになるかと思います。

PythonでBard APIを利用しWordpressへ自動投稿

Bard APIとPythonを使って、WordPressブログ記事を自動投稿し、自動でブログを運用する方法を紹介します。

以下が準備されている事を確認して下さい。

  1. WordPress環境
    • WordPressがインストールされていること
    • XML-RPCが有効になっていること
    • XML-RPCのユーザー名とパスワードがあること
  2. Bard API
    • Google Cloud Platformアカウント
    • APIキー
  3. Python環境
    • Python 3
    • pip
    • 以下のライブラリ
      • bard-api
      • wordpress-xmlrpc

サンプルコード

from bard_api import Bard
from wordpress_xmlrpc import Client

# WordPressの設定
client = Client("https://your_wordpress_url/xmlrpc.php", "your_username", "your_password")

# 記事のタイトルとカテゴリー
title = "自動投稿記事"
category = 1

# Bard APIで記事本文を生成
content = bard.generate_text("ブログ記事の本文")

# 記事を投稿
client.call("wp.newPost", 1, title, content, category)

簡単なコードですがWordpressへの投稿はこれだけで行えます。
あとはcrontabなどを使って、定期的にコードを実行するように設定したり、動的にプロンプトを変更する様にしておくと自動運用が可能になります。

注意点

  • Bard APIはベータ版であり、予告なく変更される可能性があります。
  • 生成される記事の内容は、必ずしも正確とは限りません。
  • 記事の内容は、投稿前に確認することをおすすめします。

Bard APIで特定タイトルのブログ記事を書くためのプロンプト

ポイント:

  • タイトルを明確に伝える
  • 記事内容の要点を指示
  • 記事の構成を伝える
  • 口調や文体を指示

Pythonコードでプロンプトを挿入するには、いくつかの方法があります。

1. f-strings

f-stringsは、変数を文字列に直接埋め込むことができる便利な機能です。プロンプトを動的に生成するのに役立ちます。

title = "ブログ記事のタイトル"
content = bard.generate_text("ブログ記事の本文")

# プロンプトをf-stringで生成
prompt = f"""
# {title}

{content}
"""

# 記事投稿
client.call("wp.newPost", 1, title, prompt, category)

2. heredoc

heredocは、複数行の文字列を簡単に記述できる構文です。複雑なプロンプトを記述するのに適しています。

title = "ブログ記事のタイトル"
content = bard.generate_text("ブログ記事の本文")

# heredocでプロンプトを生成
prompt = """
# {title}

## はじめに

{content}

## まとめ

## 関連記事
"""

# 記事投稿
client.call("wp.newPost", 1, title, prompt, category)

3. .format()メソッド

.format()メソッドは、文字列内のプレースホルダに値を埋め込む方法です。シンプルなプロンプトを生成するのに適しています。

title = "ブログ記事のタイトル"
content = bard.generate_text("ブログ記事の本文")

# .format()メソッドでプロンプトを生成
prompt = """
# {}

{}
""".format(title, content)

# 記事投稿
client.call("wp.newPost", 1, title, prompt, category)

4. 複数方法の組み合わせ

上記の3つの方法を組み合わせて、より複雑なプロンプトを生成することもできます。

ポイント:

  • プロンプトの内容を明確にする
  • コードの読みやすさを考慮する
  • 適切な方法を選択する

まとめ

Google Bard APIを使用してPythonと統合することで、多くの可能性が開けます。データ分析やAIから、応用範囲はほぼ無限です。今回はWordpressへの自動投稿を紹介しましたが今回の内容を応用し色々なツールを皆さんの手で作り出して下さい。

重要なのは、手元にあるデータではなく、それをどのように使用するかです。Google Bard、Python、適切なツールを使用することで、データを知識に、そして知識を行動に変えることができます。