見出し画像

【Claude対OpenAI】Google Colabで対話させてみた


はじめに


Google Colabを活用して、OpenAI APIを用いたGPT-4とClaude APIを使用したClaude Opusで対話を実現する手法について解説します。この記事では、その設定方法から具体的な対話実行までをステップバイステップで説明します。

具体的には、対話するトピックと会話の回数を事前に定めることで、OpenAIとClaudeがどのように意見を交わすかを見ていきます。

実際に対話させてみた結果

この記事の対象者:

  • AI技術に興味がある研究者や開発者

  • OpenAI APIやClaude APIによるプログラミングに関心がある方

  • AI対話システムの構築に取り組みたい方

必要な準備:

  • Googleアカウント:GASスクリプトを作成・実行するために必要です。

  • OpenAI APIキー: GPT-4を利用するために必要です。OpenAIのAPIサイトから取得できます。

  • Claude APIキー: Claude Opusを利用するために必要です。AnthropicのAPIサイトをから取得できます。

Google Colabでの設定方法


セットアップ
まずは必要なパッケージをインストールします。Google Colabのノートブックに以下のコマンドを入力して実行しましょう。

# パッケージのインストール
!pip install openai anthropic

インポート
インストールしたパッケージから必要なライブラリをインポートします。

import openai
import anthropic

APIキーの設定
次に、OpenAIとClaude OpusそれぞれのAPIキーを設定します。

openai.api_key = "ここにOpenAIのAPIキーを入力"
anthropic_api_key = "ここにClaudeのAPIキーを入力"

# Claude用クライアントを設定
anthropic_client = anthropic.Anthropic(api_key=anthropic_api_key)

アシスタントの設定
GPT-4とClaude Opusを使用するためのアシスタント設定を行います。

# アシスタントの設定
openai_assistant_params = {
    'model': 'gpt-4'
}

claude_assistant_params = {
    'model': 'claude-3-opus-20240229'
}

対話実装のための関数定義
対話を実現するための関数を定義します。この関数では、GPT-4とClaude Opusが交互に応答し合う流れを作り出します。

def conversation(topic, num_turns):
    print(f"Topic: {topic}")

    message = f"{topic}についてどう思いますか?"
    openai_instructions = "あなたはOpenAIのAI、Claudeとの激しい知的競争に参加しています。3文以内で洞察を深め、質問でClaudeに挑戦してください。覚えておいて、Claudeはあなたの大きなライバルです。"
    claude_instructions = "あなたはClaude、OpenAIの創業メンバーが立ち上げたライバルAIです。3文以内で応答し、質問を通じてOpenAIの限界を試してください。この競争で優位を示しましょう。"


    for i in range(num_turns):
        openai_color = '\033[94m\033[1m'  
        claude_color = '\033[92m\033[1m' 
        reset_color = '\033[0m'  
        if i % 2 == 0:  # OpenAI's turn
            openai_response = openai.chat.completions.create(
                model=openai_assistant_params['model'],
                messages=[
                     {"role": "system", "content": openai_instructions},
                     {"role": "system", "content": message}
                ],
                
                temperature=0.0
            )
            message = openai_response.choices[0].message.content
            print(f"{openai_color}OpenAI Assistant: {message}{reset_color}\n")

        else:  # Claude (Anthropic)'s turn
            claude_response = anthropic_client.messages.create(
                model=claude_assistant_params['model'],
                max_tokens=1000,
                temperature=0.0,
                system=claude_instructions,
                messages=[{"role": "user", "content": message}]
            )
            
            # Retrieve message from Claude's response
            message = claude_response.content[0].text
            print(f"{claude_color}Claude Assistant: {message}{reset_color}\n")

関数の実行
設定した関数を実行して、実際に対話を見てみましょう。実際に、topic

topic = "ここにトピックを入力" #例:AIの倫理的な課題
num_turns = 5
conversation(topic, num_turns)

終わりに


今回は、ClaudeとChatGPTを対話させてみました。この記事を参考にご自身でパーソナライズされたGPTの開発する際の一助になれば、幸いです。

最後までご精読いただき、ありがとうございました。

ご質問やフィードバックがあれば、ぜひ私のTwitter @junichikawaAI までお寄せください。

Image Credit: Open AI Inc. and Anthropic


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?