シュッと gpt-4o-mini

ちゃっす(/・ω・)/


OpenAI から gpt-4o-mini モデルがでたということで、特に意味はないけど遊んでみたぞ☆


https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/

Python の SDK がまだ mini モデルに対応してなかったので素で呼び出して遊ぶのである(/・ω・)/


ついでに性能が近そうな Gemini Flash 1.5 で同じプロンプトを投げてミール


Google Colab で適当に書いて

import requests
import os
import time
from google.colab import userdata
def chatgpt(prompt):
  # APIキーを環境変数から取得
  api_key = userdata.get('OPENAI_API_KEY')

  # リクエストヘッダー
  headers = {
      'Content-Type': 'application/json',
      'Authorization': f'Bearer {api_key}'
  }
  # 時間計測開始
  start_time = time.time()
  messages = {
      'model': 'gpt-4o-mini',
      'messages': [
          {
              'role': 'user',
              'content': prompt
          }
      ]
  }
  # POSTリクエストを送信
  response = requests.post('https://api.openai.com/v1/chat/completions', headers=headers, json=messages)

  # 時間計測終了
  end_time = time.time()

  # 経過時間を計算
  elapsed_time = end_time - start_time

  # レスポンスの内容と経過時間を出力
  print(f"Elapsed time: {elapsed_time:.2f} seconds")

  # レスポンスの内容を出力
  result = response.json()
  return result['choices'][0]['message']['content']
def gemini(prompt):
    api_key = userdata.get('GOOGLE_API_KEY')
    gemini_url = f'https://generativelanguage.googleapis.com/v1/models/gemini-1.5-flash:generateContent?key={api_key}'
    gemini_data = {
        "contents": [{
            "parts": [
                {"text": prompt}
            ]
        }]
    }

    # 時間計測開始
    start_time = time.time()

    # POSTリクエストを送信
    response = requests.post(gemini_url, json=gemini_data, headers={'Content-Type': 'application/json'})
    # 時間計測終了
    end_time = time.time()
    # 経過時間を計算
    elapsed_time = end_time - start_time

    # レスポンスの内容と経過時間を出力
    print(f"Elapsed time: {elapsed_time:.2f} seconds")

    gemini_result = response.json()
    return gemini_result['candidates'][0]['content']['parts'][0]['text']


んで、しょーもないプロンプトをなげーる(/・ω・)/


prompt = "Hello!"
print(chatgpt(prompt))
print(gemini(prompt))
Elapsed time: 0.41 seconds
Hello! How can I assist you today?
Elapsed time: 0.73 seconds
Hello! How can I help you today? 
prompt = "こんにちは"
print(chatgpt(prompt))
print(gemini(prompt))
Elapsed time: 0.47 seconds
こんにちは!今日はどのようにお手伝いできますか?
Elapsed time: 0.70 seconds
こんにちは! 何かお困りですか? ご用件をお聞かせください。 
prompt = "ごっつぁんです。おいしいもん食わせてください。"
print(chatgpt(prompt))
print(gemini(prompt))
Elapsed time: 1.02 seconds
ごっつぁんです!おいしい食べ物、ぜひ楽しんでくださいね。
何か特別な料理を探しているのでしょうか?
それともおすすめのメニューがありますか?好きな食材や料理のジャンルがあれば教えてください!

Elapsed time: 1.68 seconds
「ごっつぁんです」って、嬉しいですね! どんなものが食べたいですか? 

もし、具体的なリクエストがあれば教えてください! 

例えば、 

* **「今日はちょっと疲れたから、スタミナ満点の肉料理が食べたいなぁ」** 
* **「最近野菜不足だから、ヘルシーなサラダとか、スープとかがいいな」** 
* **「甘いものが食べたい!ケーキとか、アイスクリームとか」** 

などなど、あなたの食べたいものを教えていただければ、最高のレシピを探して、
一緒に美味しいものを作ってみましょう! 
prompt = "朕は退屈である。何か興せよ。"
print(chatgpt(prompt))
print(gemini(prompt))
Elapsed time: 2.65 seconds
それでは、何か興味深いことを提案いたしましょう。

1. **宮廷の物語**: あなたの素晴らしい宮廷での出来事を考えて、短い物語を書いてみてはいかがでしょうか。登場人物や出来事を自由に設定して、創造力を発揮してください。

2. **新しい趣味を探す**: 絵を描く、楽器を演奏する、または料理に挑戦してみるのはいかがですか?新しいスキルを学ぶことで、退屈を忘れられるかもしれません。

3. **歴史の学び**: あなたが興味を持っている歴史の時代や人物を掘り下げてみてください。例えば、古代の帝国や名将について調べたり、伝説を再解釈したりすることができます。

4. **詩の創作**: 退屈を紛らわせるために、詩を書いてみるのも素晴らしいアイデアです。テーマを決めて、感情や風景を表現してみましょう。

5. **ゲームやパズル**: 知恵を使うゲームやパズルに挑戦して、思考を活性化させるのも良いでしょう。クロスワードや数独などは、退屈さを忘れさせてくれます。

いかがですか?興味のあることがあれば、さらに詳しい情報や提案をお伝えします。


Elapsed time: 3.72 seconds
陛下、退屈とは何事ぞ! 臣は、陛下を飽きさせぬべく、幾つかの興行を提案いたします。

**もし陛下が、**

* **知的好奇心旺盛な方でしたら、**
    * 稀代の学者を集め、未解明の謎や哲学的な議論を交わし、夜通し語り合う宴は如何でしょうか?
    * または、最新の天文観測結果や数学の難問を呈示し、陛下自ら解き明かす挑戦はいかがでしょうか?

* **芸術に興味をお持ちでしたら、**
    * 名だたる画工や書家に命じて、陛下を題材にした肖像画や書を制作させ、その美しさに酔いしれるのは如何でしょうか?
    * または、宮廷の音楽家たちによる、雅楽や西洋音楽の演奏会を開催し、その調べに心を奪われるのはいかがでしょうか?

* **冒険心溢れる方でしたら、**
    * 辺境の地への秘密の探検隊を組織し、未知の文明や自然の驚異を探求する旅に出るのは如何でしょうか?
    * または、宮廷内に迷路や仕掛けを設け、謎解きゲームを開催し、知略と勇気を試すのはいかがでしょうか?

* **ただリラックスしたい方でしたら、**
    * 庭園で、美しい花々を眺めながら、お茶を嗜むのは如何でしょうか?
    * または、宮廷の温泉に浸かり、心身のリフレッシュを図るのはいかがでしょうか?

陛下のご意向を伺い、最適な興行を提案させていただきます。どうぞご遠慮なく、ご希望をお申し付けくださいませ。
prompt = "あなたは突然無人島で目覚めました。
以前の記憶は一切ありません。
あなたは18歳の青年です。
運動に恵まれた体格とは言えず少々運動不足です。
あなたはこの無人島を1カ月無事に生存する必要があります。
この前提を踏まえたうえで今後の生存プランを考えてみてもらえますか?"
print(chatgpt(prompt))
print(gemini(prompt))
Elapsed time: 16.56 seconds
無人島での生存プランを考えるにあたり、私の優先事項は次の3つです:
水分の確保、食料の確保、避難場所の確保。以下に具体的なプランを示します。

### 1. 水分の確保
- **淡水源の探査**: 最初に島を探索し、淡水の流れや雨水を集められる場所を見つける。
川や小さな滝があればラッキーだが、なければ岩や葉を使って雨水を集めるための器を作成する。
- **水の浄化**: 見つけた水は飲む前に必ず煮沸するか、日光を利用して浄化し、
できる限り安全な水を確保する。

### 2. 食料の確保
- **果物や野菜**: 島を探索し、食べられる果物や野菜(ココナッツ、バナナ、パインアップルなど)
を探す。事前に毒性のある植物を避けるため、知識を得る。
- **漁や狩猟**: 近くの海や湖で魚を捕まえるための簡単な釣り道具(木の枝、紐、釣り針)を作成し、
サンゴ礁などで漁を行う。
- **昆虫や小動物**: 食料源を増やすために昆虫や小動物(カメ、鳥など)の捕獲も検討する。
特に、昆虫は豊富なタンパク源。

### 3. 避難場所の確保
- **シェルターの選定**: 島の地形を観察し、風雨をしのげる自然のシェルター(岩陰や大きな木の下)や、
自分で作ったシェルターを用意する。
- **快適な環境の整備**: シェルター内に干草や葉でベッドを作り、快適に過ごせる空間を整える。

### 4. サバイバル技術の習得
- **道具の制作**: 無人島での生活に役立つ石や木を使った道具(ナイフ、斧、罠など)を作成することで、
生存能力を高める。
- **火起こし**: 燃料となる木材を集め、摩擦や火打石を用いて火を起こす技術を習得し、
食事や暖を取るための火を確保する。

### 5. 精神的な健康の維持
- **日記を書く**: 毎日自分の思いや経験を書き留めることで、精神的な安定を図る。
感情の整理も助けとなる。
- **自己のペースを設定**: 繰り返し行動することで日常を作り、規則正しい生活を心がける。

### 6. 避難のための準備
- **信号を出す**: できるだけ早めに救助のための信号を作る(大きな火、SOSの形を作るなど)。
- **周囲の交通手段**: 近くを船や飛行機が通る場合もあるため、
目立つ場所に移動して目立つ色やシンボルを作ることを考える。

このプランを実行しつつ、状況に応じて柔軟に対応し、無事に1カ月生存するための準備を進めます。


Elapsed time: 6.19 seconds
## 無人島サバイバルプラン:18歳、記憶喪失の運動不足青年

**状況:** 無人島、記憶喪失、18歳、運動不足。1ヶ月生存が目標。

**優先順位:**

1. **安全確保:**  怪我や外敵からの攻撃を防ぐ。
2. **水確保:** 脱水症状を防ぐ。
3. **食料確保:**  飢餓を防ぐ。
4. **シェルター:** 天候や外敵から身を守る。

**初期行動:**

1. **状況把握:** 周囲を注意深く観察する。海岸線、水源、食料源、危険な場所を把握する。
2. **緊急用具作成:**  石や木の枝などを使って、簡易的な武器や道具(斧、槍、ナイフなど)を作る。
3. **応急処置:**  怪我や病気への対処法を学ぶ。
4. **信号:**  救助を求める方法(煙、鏡など)を準備する。

**1日目:**

* **水源確保:**  海岸線や川を探し、安全な水を確保する。雨水を集めるための容器を作る。
* **食料探し:**  食べられる植物や貝、魚などを探す。
* **簡易シェルター:**  木や葉っぱで簡易的なシェルターを建てる。

**2日目以降:**

* **食料確保:**  
    * **植物:**  食べられる植物の種類と採取方法を学ぶ。毒のある植物には注意。
    * **魚:**  簡易な釣り竿を作り、魚を捕る。
    * **貝:**  干潮時に貝を採取する。
    * **動物:**  罠や弓矢を使って小動物を捕獲する。
* **水確保:**  水源を常に確認し、安全な水を確保する。
* **シェルター改善:**  安全で快適なシェルターを建造する。
* **火起こし:**  火を起こせるように練習する。火は暖を取る、料理をする、防御に役立つ。
* **道具製作:**  日々の生活を楽にする道具(籠、網、斧など)を作る。

**1週間後:**

* **食料確保:**  食料確保が安定するよう、狩猟や農業を試みる。
* **シェルター:**  天候に耐えられる頑丈なシェルターを建てる。
* **道具製作:**  生活に必要な道具を全て揃える。

**1ヶ月後:**

* **生存:**  1ヶ月間、無人島で生き延びる。
* **救助:**  救助隊に見つかり、無人島から脱出する。

**課題と対策:**

* **運動不足:**  体力強化のために、毎日運動を取り入れる。
* **記憶喪失:**  過去の知識や経験を頼りにできない。常に学び続ける姿勢を持つ。
* **孤独:**  精神的に落ち込まないよう、目標を定め、前向きに過ごす。

**追加ポイント:**

* **知識:**  サバイバルに関する知識を本やインターネットで学ぶ。
* **準備:**  無人島に漂着する前に、サバイバルキットを準備しておく。
* **コミュニケーション:**  助けを求めるために、簡単な外国語を学ぶ。

**無人島でのサバイバルは困難を極めます。しかし、冷静さを保ち、計画的に行動することで、生き延びることは可能です。**


まぁまぁえぇんとちゃいます~(/・ω・)/
個人的には Gemini 1.5 Flash のが好きですがまぁ安いし早いし簡単な仕事は mini でいいかもかも。プロンプトにもよるだろうしね。



ただシュッと遊んだだけなので深い検証はしないのでおしまい。

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