0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【コード変更1行】既存のChatGPTアプリをGemini 2.5 Proに切り替える、OpenAI互換APIが最強すぎた

Posted at

【コード変更1行】既存のChatGPTアプリをGemini 2.5 Proに切り替える、OpenAI互換APIが最強すぎた

Tags: Gemini, OpenAI, API, Python, Node.js, LLM, 個人開発

はじめに

こんにちは!
「最新のGemini 2.5 Proを試したい…でも、自分のアプリはもうOpenAI (ChatGPT) のAPIフォーマットで作り込んじゃったし、今さらコードを書き直すのは面倒だな…」

多くの開発者がそう思っているのではないでしょうか?

Geminiの公式SDKとOpenAIのSDKでは、リクエストやレスポンスの形式が全く異なります。モデルを切り替えるためだけに、認証からデータ構造のハンドリングまで、すべてを書き直すのは悪夢ですよね。

この問題を根本から解決するため、この度**「ハ吉米API (Hajimi API)」**を個人開発しました。
このAPIは、OpenAIと全く同じリクエスト形式でGemini 2.5 Proを呼び出せる、驚異的な互換性を持っています。

どれくらい簡単か?コードを見れば一目瞭然

百聞は一見に如かず。
もしあなたがPythonのopenaiライブラリを使っているなら、変更は本当に1〜2行だけです。

変更前:通常のOpenAI API呼び出し

from openai import OpenAI

# これは普段使っているコード
client = OpenAI(
    api_key="sk-xxxxxxxxxxxxxxxxxxx",
)

chat_completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "こんにちは!"}]
)

変更後:「ハ吉米API」を使ってGemini 2.5 Proを呼び出す

from openai import OpenAI

# ⚠️`api_key`と`base_url`を書き換えるだけ!
client = OpenAI(
    api_key="【あなたのハ吉米APIキー】",
    base_url="【https://hajimiapi.xyz/v1/ のようなあなたのAPIのBase URL】"
)

# ⚠️`model`名はあなたのAPIが指定するものに変更してください
chat_completion = client.chat.completions.create(
    model="gemini-2.5-pro", # ← Geminiのモデルを指定
    messages=[{"role": "user", "content": "こんにちは!"}]
)

print(chat_completion.choices.message.content)

これだけです。
client.chat.completions.create(...)以下のロジックは1行も変更する必要がありません。
既存のOpenAIエコシステム(LangChain, LlamaIndexなど)の資産をそのまま活かしながら、バックエンドのLLMをGeminiに差し替えることが可能になります。

「ハ吉米API」の使い方

ステップ1:APIキーを取得する

まずは公式サイトからユーザー登録を行い、APIキーを取得します。
無料の試用枠があるので、すぐにこの互換性を体験できます。

➡️ 公式サイト: https://hajimiapi.xyz/

ステップ2:既存コードのclient定義部分を書き換える

✅ Python (openai ライブラリ) での実装例

hajimi_api_openai_compatible.py
from openai import OpenAI
import os

# 1. APIキーをあなたのものに設定
api_key = "【ここにあなたのAPIキーを入力】"

# 2. (重要) base_urlをハ吉米APIのエンドポイントに設定
# ⚠️このURLが正しいか必ず確認してください!
base_url = "https://hajimiapi.xyz/v1"

client = OpenAI(
    api_key=api_key,
    base_url=base_url
)

print("Gemini 2.5 Proへの問い合わせをOpenAI形式で開始します...")

try:
    chat_completion = client.chat.completions.create(
        # 3. (重要) model名をあなたのAPIが要求するGeminiモデル名に設定
        # ⚠️このモデル名が正しいか必ず確認してください!
        model="gemini-2.5-pro", 
        messages=[
            {
                "role": "user",
                "content": "日本で一番高い山は何ですか?その標高も教えてください。"
            }
        ],
        temperature=0.7,
    )
    # レスポンスもOpenAI形式なので、既存のコードがそのまま動く
    print("回答:", chat_completion.choices.message.content)

except Exception as e:
    print(f"エラーが発生しました: {e}")

✅ Node.js (openai ライブラリ) での実装例

hajimi_api_openai_compatible_node.js
import OpenAI from 'openai';

// 1. APIキーをあなたのものに設定
const apiKey = '【ここにあなたのAPIキーを入力】';

// 2. (重要) baseURLをハ吉米APIのエンドポイントに設定
// ⚠️このURLが正しいか必ず確認してください!
const baseURL = 'https://hajimiapi.xyz/v1';

const openai = new OpenAI({
  apiKey: apiKey,
  baseURL: baseURL,
});

async function main() {
  console.log('Gemini 2.5 Proへの問い合わせをOpenAI形式で開始します...');
  try {
    const chatCompletion = await openai.chat.completions.create({
      // 3. (重要) model名をあなたのAPIが要求するGeminiモデル名に設定
      // ⚠️このモデル名が正しいか必ず確認してください!
      model: 'gemini-2.5-pro',
      messages: [
        {
          role: 'user',
          content: 'Qiitaの記事タイトル案を3つ、面白く考えてください。',
        },
      ],
    });
    // レスポンスもOpenAI形式なので、既存のコードがそのまま動く
    console.log('回答:', chatCompletion.choices.message.content);
  } catch (error) {
    console.error('エラーが発生しました:', error);
  }
}

main();

まとめ

「ハ吉米API」を使えば、

  • 圧倒的な移行コストの削減:既存のOpenAIベースのアプリケーションのコード変更が最小限に。
  • 柔軟なモデル選択:バックエンドをGPT系からGemini系へ、リスクなく迅速にテスト・切り替えが可能に。
  • 最新モデルへの高速アクセス:GCPの複雑な設定なしで、すぐにGemini 2.5 Proの性能を試せる。

という、開発者にとって非常に強力なメリットを享受できます。

「あの機能、Geminiで試したらどうなるだろう?」と思ったその瞬間に、数行の変更で試せる手軽さを、ぜひ体験してみてください。

無料トライアルで、このシームレスな体験をすぐにテストできます!

最後までお読みいただき、ありがとうございました!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?