見出し画像

[続・円卓会議】GPT vs Claude vs GeminiのAPIで作る最強のアイデア創出アプリ(by python)

3強AIによる円卓会議アプリ:GPT-4、Claude、Geminiが議論する!

前回はGPT-4oを使った円卓会議アプリを紹介しましたが、今回はさらに進化したモデル、GPT-4o、Claude3-opus、Gemini-1.5-Proの3強AIを導入したアプリを紹介します。

3強AIを円卓会議に集結!

このアプリは、3つのAIそれぞれが異なる個性と能力を持ちながら、一つのテーマについて議論を繰り広げる、まさに「AIによる円卓会議」を実現しています。

今回はClaude3、Geminiという比較的新しいAIモデルを採用したため、開発には苦労しました。ネット上での情報が少なく、完成まで1週間もかかってしまいました。特に、python歴半年の私にとっては、難易度が高い挑戦でした。

アプリの核心:AIたちが議論するコード

アプリの核心となるコードは、各LLMのユーザーガイドに掲載している基本的なコードを使っています。以下に、GPT-4、Claude、Geminiのコードをそれぞれ抜粋します。ユーザーインプットに前の人の回答を入れて、assitantに会話履歴を入力しています。

まずはGPT-4です。

response2 = client.chat.completions.create(
    model='gpt-4o',
    messages=[{"role": "system", "content": GPT4},
              {"role": "assistant", "content": ''.join(
                  messages_res).strip()},
              {'role': 'user', 'content': collected_result}],
    stream=True)
for chunk in response2:
    content = chunk.choices[0].delta.content
    if content:
        collected_message2.append(content)
        yield f"data: {content.strip()}\n\n"

次は、Claudeです。

with client2.messages.stream(
                    model="claude-3-opus-20240229",
                    system=CLAUDE,
                    max_tokens=4000,
                    messages=[{"role": "user", "content": collected_result2.strip()},
                              {"role": "assistant", "content": ''.join(messages_res).strip()}],
                ) as stream:
                    for text in stream.text_stream:
                        if text:
                            collected_message3.append(text)
                            yield f"data: {text.strip()}\n\n"

最後は、Geminiです。

model = genai.GenerativeModel(
    model_name='gemini-1.5-pro',
    system_instruction=GEMINI.strip()
)

chat = model.start_chat(history=history)

response = chat.send_message(
    collected_result3.strip(), stream=True)

for chunk in response:
    collected_message4.append(chunk.text)
    yield f"data: {chunk.text.strip()}\n\n"

アプリの動作は非常にシンプルです。

  1. お題を入力します。

  2. GPTがテーマを解釈し、議論を始めるためのテーマを設定します。

  3. Claudeがテーマに対して回答します。

  4. GeminiはClaudeの意見に賛否を表明し、自身の回答を述べます。

  5. GPTがさらに回答を付け加え、議論を深めます。

  6. これを指定回数繰り返します。

アプリ操作画面:テーマと議論回数を入力して開始!

アプリの操作画面は非常にシンプルです。テーマと議論回数を設定して「開始」ボタンを押すだけで、3強AIによる熱心な議論が始まります。

今回は、清涼飲料水のキャッチフレーズをテーマに議論させてみました。ポカリスエットをイメージしたもので、本家のフレーズは「自分は、きっと想像以上だ。」です。

3強AIの個性:それぞれの持ち味を比較!

AIそれぞれの個性は、議論の内容から見て取れます。

  • GPT: 安定感があり、真面目で率直な回答が特徴です。回答速度も速いです。

  • Claude: 時々改行マークが入ってしまうことがあります。また、概念的な話が多く、キャッチフレーズを直接答えないことが多々ありました。回答速度は遅めです。

  • Gemini: エラーが発生しやすいですが、学生をターゲットとしているのか、絵文字を頻繁に使用する傾向があります。人の感覚に近い回答をすることもあります。回答速度はGPTに次いで速いです。

アプリの感想:アイデア出しに最適!

このアプリを議論回数を3回にして、10回動作した結果、AIの回答から私が選んだキャッチコピーは「いいね!を超えろ。最高の瞬間を作ろう。」でした。

このアプリは、アイデア出しに非常に役立つと感じています。以前はGPT-4oのみを使用していましたが、複数のAIを使うことで、より多様性のあるアイデアを生み出すことが可能になりました。キャッチフレーズだけでなく、俳句の作成など、様々な用途に活用できます。

今回のアプリでは、キャラクター設定は行いませんでした。これは、キャラクター設定によってバイアスがかかってしまうのを避けるためです。各AIは、相手の意見に対して、適度に賛成したり、反対したりしながら、自然な議論を展開しています。

コード限定公開:

以下にコード全文を限定公開します。無料で公開することも考えましたが、有料化を試みたことがなかったので、今回はお試しとして有料とさせていただきます。

素人が作ったコードなので、基本的なものしか使っていませんが、興味のある方はぜひダウンロードして試してみてください。

注意:

  • Geminiは時々エラーが発生することがあります。その際は、もう一度実行してみてください。

  • このアプリはmacOS Sonomaで開発されており、Pythonバージョンは3.10.11です。

  • SafariよりもChromeの方が安定して動作するようです。

以上の投稿は、Geimini-1.5-Flashを作って、原文を校正しています。

ここから先は

11,309字

¥ 100

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