OpenAI সামঞ্জস্য

জেমিনি মডেলগুলি OpenAI লাইব্রেরি (পাইথন এবং টাইপস্ক্রিপ্ট / জাভাস্ক্রিপ্ট) এবং REST API ব্যবহার করে অ্যাক্সেসযোগ্য, তিনটি লাইন কোড আপডেট করে এবং আপনার জেমিনি API কী ব্যবহার করে। আপনি যদি ইতিমধ্যে OpenAI লাইব্রেরি ব্যবহার না করে থাকেন, তাহলে আমরা আপনাকে সরাসরি জেমিনি API-তে কল করার পরামর্শ দিচ্ছি।

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": "Explain to me how AI works"
        }
    ]
)

print(response.choices[0].message)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

const response = await openai.chat.completions.create({
    model: "gemini-2.0-flash",
    messages: [
        { role: "system", content: "You are a helpful assistant." },
        {
            role: "user",
            content: "Explain to me how AI works",
        },
    ],
});

console.log(response.choices[0].message);

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
    "model": "gemini-2.0-flash",
    "messages": [
        {"role": "user", "content": "Explain to me how AI works"}
    ]
    }'

কী বদল হলো? মাত্র তিন লাইন!

  • api_key="GEMINI_API_KEY" : " GEMINI_API_KEY " কে আপনার আসল Gemini API কী দিয়ে প্রতিস্থাপন করুন, যা আপনি Google AI Studio তে পেতে পারেন।

  • base_url="https://generativelanguage.googleapis.com/v1beta/openai/" : এটি OpenAI লাইব্রেরিকে ডিফল্ট URL-এর পরিবর্তে Gemini API এন্ডপয়েন্টে অনুরোধ পাঠাতে বলে।

  • model="gemini-2.5-flash" : একটি সামঞ্জস্যপূর্ণ জেমিনি মডেল বেছে নিন

ভাবছি

জেমিনি ৩ এবং ২.৫ মডেলগুলিকে জটিল সমস্যাগুলির মধ্য দিয়ে চিন্তা করার জন্য প্রশিক্ষিত করা হয়েছে, যার ফলে যুক্তি উল্লেখযোগ্যভাবে উন্নত হয়। জেমিনি এপিআই চিন্তাভাবনার পরামিতিগুলির সাথে আসে যা মডেলটি কতটা চিন্তা করবে তার উপর সূক্ষ্ম নিয়ন্ত্রণ দেয়।

জেমিনি ৩ "low" এবং "high" চিন্তাভাবনার স্তর ব্যবহার করে, এবং জেমিনি ২.৫ মডেলগুলি সঠিক চিন্তাভাবনার বাজেট ব্যবহার করে। এই মডেলগুলি ওপেনএআই-এর যুক্তি প্রচেষ্টার সাথে নিম্নরূপ মানানসই:

reasoning_effort (ওপেনএআই) thinking_level (মিথুন 3) thinking_budget (মিথুন 2.5)
minimal low 1,024
low low 1,024
medium high 8,192
high high 24,576

যদি কোনও reasoning_effort নির্দিষ্ট না করা থাকে, তাহলে Gemini মডেলের ডিফল্ট স্তর বা budget ব্যবহার করে।

যদি আপনি চিন্তাভাবনা বন্ধ করতে চান, তাহলে ২.৫ মডেলের জন্য reasoning_effort "none" তে সেট করতে পারেন। Gemini 2.5 Pro বা ৩টি মডেলের জন্য Reasoning বন্ধ করা যাবে না।

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    reasoning_effort="low",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": "Explain to me how AI works"
        }
    ]
)

print(response.choices[0].message)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

const response = await openai.chat.completions.create({
    model: "gemini-2.5-flash",
    reasoning_effort: "low",
    messages: [
        { role: "system", content: "You are a helpful assistant." },
        {
            role: "user",
            content: "Explain to me how AI works",
        },
    ],
});

console.log(response.choices[0].message);

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
    "model": "gemini-2.5-flash",
    "reasoning_effort": "low",
    "messages": [
        {"role": "user", "content": "Explain to me how AI works"}
      ]
    }'

মিথুন চিন্তাভাবনার মডেলগুলি চিন্তার সারাংশও তৈরি করে। আপনার অনুরোধে মিথুন ক্ষেত্রগুলি অন্তর্ভুক্ত করতে আপনি extra_body ক্ষেত্রটি ব্যবহার করতে পারেন।

মনে রাখবেন যে reasoning_effort এবং thinking_level / thinking_budget কার্যকারিতাকে ওভারল্যাপ করে, তাই এগুলি একই সময়ে ব্যবহার করা যাবে না।

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{"role": "user", "content": "Explain to me how AI works"}],
    extra_body={
      'extra_body': {
        "google": {
          "thinking_config": {
            "thinking_budget": "low",
            "include_thoughts": True
          }
        }
      }
    }
)

print(response.choices[0].message)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

const response = await openai.chat.completions.create({
    model: "gemini-2.5-flash",
    messages: [{role: "user", content: "Explain to me how AI works",}],
    extra_body: {
      "google": {
        "thinking_config": {
          "thinking_budget": "low",
          "include_thoughts": true
        }
      }
    }
});

console.log(response.choices[0].message);

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
    "model": "gemini-2.5-flash",
      "messages": [{"role": "user", "content": "Explain to me how AI works"}],
      "extra_body": {
        "google": {
           "thinking_config": {
             "include_thoughts": true
           }
        }
      }
    }'

জেমিনি 3 চ্যাট কমপ্লিশন এপিআই-তে চিন্তার স্বাক্ষরের জন্য OpenAI সামঞ্জস্যতা সমর্থন করে। আপনি চিন্তার স্বাক্ষর পৃষ্ঠায় সম্পূর্ণ উদাহরণটি খুঁজে পেতে পারেন।

স্ট্রিমিং

জেমিনি এপিআই স্ট্রিমিং রেসপন্স সমর্থন করে।

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.chat.completions.create(
  model="gemini-2.0-flash",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  stream=True
)

for chunk in response:
    print(chunk.choices[0].delta)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

async function main() {
  const completion = await openai.chat.completions.create({
    model: "gemini-2.0-flash",
    messages: [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    stream: true,
  });

  for await (const chunk of completion) {
    console.log(chunk.choices[0].delta.content);
  }
}

main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
    "model": "gemini-2.0-flash",
    "messages": [
        {"role": "user", "content": "Explain to me how AI works"}
    ],
    "stream": true
  }'

ফাংশন কলিং

ফাংশন কলিং আপনার জন্য জেনারেটিভ মডেল থেকে স্ট্রাকচার্ড ডেটা আউটপুট পাওয়া সহজ করে তোলে এবং এটি জেমিনি API তে সমর্থিত

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

tools = [
  {
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get the weather in a given location",
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. Chicago, IL",
          },
          "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
        },
        "required": ["location"],
      },
    }
  }
]

messages = [{"role": "user", "content": "What's the weather like in Chicago today?"}]
response = client.chat.completions.create(
  model="gemini-2.0-flash",
  messages=messages,
  tools=tools,
  tool_choice="auto"
)

print(response)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

async function main() {
  const messages = [{"role": "user", "content": "What's the weather like in Chicago today?"}];
  const tools = [
      {
        "type": "function",
        "function": {
          "name": "get_weather",
          "description": "Get the weather in a given location",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "description": "The city and state, e.g. Chicago, IL",
              },
              "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
            },
            "required": ["location"],
          },
        }
      }
  ];

  const response = await openai.chat.completions.create({
    model: "gemini-2.0-flash",
    messages: messages,
    tools: tools,
    tool_choice: "auto",
  });

  console.log(response);
}

main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
  "model": "gemini-2.0-flash",
  "messages": [
    {
      "role": "user",
      "content": "What'\''s the weather like in Chicago today?"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state, e.g. Chicago, IL"
            },
            "unit": {
              "type": "string",
              "enum": ["celsius", "fahrenheit"]
            }
          },
          "required": ["location"]
        }
      }
    }
  ],
  "tool_choice": "auto"
}'

চিত্র বোঝাপড়া

জেমিনি মডেলগুলি স্থানীয়ভাবে মাল্টিমডাল এবং অনেক সাধারণ দৃষ্টিভঙ্গির কাজে সর্বোত্তম কর্মক্ষমতা প্রদান করে।

পাইথন

import base64
from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

# Function to encode the image
def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')

# Getting the base64 string
base64_image = encode_image("Path/to/agi/image.jpeg")

response = client.chat.completions.create(
  model="gemini-2.0-flash",
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What is in this image?",
        },
        {
          "type": "image_url",
          "image_url": {
            "url":  f"data:image/jpeg;base64,{base64_image}"
          },
        },
      ],
    }
  ],
)

print(response.choices[0])

জাভাস্ক্রিপ্ট

import OpenAI from "openai";
import fs from 'fs/promises';

const openai = new OpenAI({
  apiKey: "GEMINI_API_KEY",
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

async function encodeImage(imagePath) {
  try {
    const imageBuffer = await fs.readFile(imagePath);
    return imageBuffer.toString('base64');
  } catch (error) {
    console.error("Error encoding image:", error);
    return null;
  }
}

async function main() {
  const imagePath = "Path/to/agi/image.jpeg";
  const base64Image = await encodeImage(imagePath);

  const messages = [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What is in this image?",
        },
        {
          "type": "image_url",
          "image_url": {
            "url": `data:image/jpeg;base64,${base64Image}`
          },
        },
      ],
    }
  ];

  try {
    const response = await openai.chat.completions.create({
      model: "gemini-2.0-flash",
      messages: messages,
    });

    console.log(response.choices[0]);
  } catch (error) {
    console.error("Error calling Gemini API:", error);
  }
}

main();

বিশ্রাম

bash -c '
  base64_image=$(base64 -i "Path/to/agi/image.jpeg");
  curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer GEMINI_API_KEY" \
    -d "{
      \"model\": \"gemini-2.0-flash\",
      \"messages\": [
        {
          \"role\": \"user\",
          \"content\": [
            { \"type\": \"text\", \"text\": \"What is in this image?\" },
            {
              \"type\": \"image_url\",
              \"image_url\": { \"url\": \"data:image/jpeg;base64,${base64_image}\" }
            }
          ]
        }
      ]
    }"
'

একটি ছবি তৈরি করুন

একটি ছবি তৈরি করুন:

পাইথন

import base64
from openai import OpenAI
from PIL import Image
from io import BytesIO

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)

response = client.images.generate(
    model="imagen-3.0-generate-002",
    prompt="a portrait of a sheepadoodle wearing a cape",
    response_format='b64_json',
    n=1,
)

for image_data in response.data:
  image = Image.open(BytesIO(base64.b64decode(image_data.b64_json)))
  image.show()

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: "GEMINI_API_KEY",
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

async function main() {
  const image = await openai.images.generate(
    {
      model: "imagen-3.0-generate-002",
      prompt: "a portrait of a sheepadoodle wearing a cape",
      response_format: "b64_json",
      n: 1,
    }
  );

  console.log(image.data);
}

main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer GEMINI_API_KEY" \
  -d '{
        "model": "imagen-3.0-generate-002",
        "prompt": "a portrait of a sheepadoodle wearing a cape",
        "response_format": "b64_json",
        "n": 1,
      }'

অডিও বোঝাপড়া

অডিও ইনপুট বিশ্লেষণ করুন:

পাইথন

import base64
from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

with open("/path/to/your/audio/file.wav", "rb") as audio_file:
  base64_audio = base64.b64encode(audio_file.read()).decode('utf-8')

response = client.chat.completions.create(
    model="gemini-2.0-flash",
    messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Transcribe this audio",
        },
        {
              "type": "input_audio",
              "input_audio": {
                "data": base64_audio,
                "format": "wav"
          }
        }
      ],
    }
  ],
)

print(response.choices[0].message.content)

জাভাস্ক্রিপ্ট

import fs from "fs";
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "GEMINI_API_KEY",
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

const audioFile = fs.readFileSync("/path/to/your/audio/file.wav");
const base64Audio = Buffer.from(audioFile).toString("base64");

async function main() {
  const response = await client.chat.completions.create({
    model: "gemini-2.0-flash",
    messages: [
      {
        role: "user",
        content: [
          {
            type: "text",
            text: "Transcribe this audio",
          },
          {
            type: "input_audio",
            input_audio: {
              data: base64Audio,
              format: "wav",
            },
          },
        ],
      },
    ],
  });

  console.log(response.choices[0].message.content);
}

main();

বিশ্রাম

bash -c '
  base64_audio=$(base64 -i "/path/to/your/audio/file.wav");
  curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer GEMINI_API_KEY" \
    -d "{
      \"model\": \"gemini-2.0-flash\",
      \"messages\": [
        {
          \"role\": \"user\",
          \"content\": [
            { \"type\": \"text\", \"text\": \"Transcribe this audio file.\" },
            {
              \"type\": \"input_audio\",
              \"input_audio\": {
                \"data\": \"${base64_audio}\",
                \"format\": \"wav\"
              }
            }
          ]
        }
      ]
    }"
'

স্ট্রাকচার্ড আউটপুট

জেমিনি মডেলগুলি আপনার সংজ্ঞায়িত যেকোনো কাঠামোতে JSON অবজেক্ট আউটপুট করতে পারে।

পাইথন

from pydantic import BaseModel
from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

class CalendarEvent(BaseModel):
    name: str
    date: str
    participants: list[str]

completion = client.beta.chat.completions.parse(
    model="gemini-2.0-flash",
    messages=[
        {"role": "system", "content": "Extract the event information."},
        {"role": "user", "content": "John and Susan are going to an AI conference on Friday."},
    ],
    response_format=CalendarEvent,
)

print(completion.choices[0].message.parsed)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";
import { zodResponseFormat } from "openai/helpers/zod";
import { z } from "zod";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai"
});

const CalendarEvent = z.object({
  name: z.string(),
  date: z.string(),
  participants: z.array(z.string()),
});

const completion = await openai.chat.completions.parse({
  model: "gemini-2.0-flash",
  messages: [
    { role: "system", content: "Extract the event information." },
    { role: "user", content: "John and Susan are going to an AI conference on Friday" },
  ],
  response_format: zodResponseFormat(CalendarEvent, "event"),
});

const event = completion.choices[0].message.parsed;
console.log(event);

এম্বেডিং

টেক্সট এম্বেডিং টেক্সট স্ট্রিংগুলির সম্পর্ক পরিমাপ করে এবং জেমিনি API ব্যবহার করে তৈরি করা যেতে পারে।

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

response = client.embeddings.create(
    input="Your text string goes here",
    model="gemini-embedding-001"
)

print(response.data[0].embedding)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
    apiKey: "GEMINI_API_KEY",
    baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});

async function main() {
  const embedding = await openai.embeddings.create({
    model: "gemini-embedding-001",
    input: "Your text string goes here",
  });

  console.log(embedding);
}

main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/openai/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer GEMINI_API_KEY" \
-d '{
    "input": "Your text string goes here",
    "model": "gemini-embedding-001"
  }'

ব্যাচ এপিআই

আপনি OpenAI লাইব্রেরি ব্যবহার করে ব্যাচ জব তৈরি করতে, জমা দিতে এবং তাদের স্থিতি পরীক্ষা করতে পারেন।

আপনাকে JSONL ফাইলটি OpenAI ইনপুট ফর্ম্যাটে প্রস্তুত করতে হবে। উদাহরণস্বরূপ:

{"custom_id": "request-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gemini-2.5-flash", "messages": [{"role": "user", "content": "Tell me a one-sentence joke."}]}}
{"custom_id": "request-2", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gemini-2.5-flash", "messages": [{"role": "user", "content": "Why is the sky blue?"}]}}

ব্যাচের জন্য OpenAI সামঞ্জস্যতা একটি ব্যাচ তৈরি, কাজের অবস্থা পর্যবেক্ষণ এবং ব্যাচের ফলাফল দেখার ক্ষেত্রে সহায়তা করে।

আপলোড এবং ডাউনলোডের জন্য সামঞ্জস্য বর্তমানে সমর্থিত নয়। পরিবর্তে, নিম্নলিখিত উদাহরণে ফাইল আপলোড এবং ডাউনলোড করার জন্য genai ক্লায়েন্ট ব্যবহার করা হয়েছে, যা Gemini Batch API ব্যবহার করার সময় একই রকম।

পাইথন

from openai import OpenAI

# Regular genai client for uploads & downloads
from google import genai
client = genai.Client()

openai_client = OpenAI(
    api_key="GEMINI_API_KEY",
    base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

# Upload the JSONL file in OpenAI input format, using regular genai SDK
uploaded_file = client.files.upload(
    file='my-batch-requests.jsonl',
    config=types.UploadFileConfig(display_name='my-batch-requests', mime_type='jsonl')
)

# Create batch
batch = openai_client.batches.create(
    input_file_id=batch_input_file_id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)

# Wait for batch to finish (up to 24h)
while True:
    batch = client.batches.retrieve(batch.id)
    if batch.status in ('completed', 'failed', 'cancelled', 'expired'):
        break
    print(f"Batch not finished. Current state: {batch.status}. Waiting 30 seconds...")
    time.sleep(30)
print(f"Batch finished: {batch}")

# Download results in OpenAI output format, using regular genai SDK
file_content = genai_client.files.download(file=batch.output_file_id).decode('utf-8')

# See batch_output JSONL in OpenAI output format
for line in file_content.splitlines():
    print(line)    

OpenAI SDK Batch API এর মাধ্যমে এম্বেডিং তৈরি করতেও সহায়তা করে। এটি করার জন্য, create পদ্ধতির endpoint ফিল্ডটি একটি এম্বেডিং এন্ডপয়েন্টের জন্য স্যুইচ করুন, সেইসাথে JSONL ফাইলের url এবং model কীগুলিও ব্যবহার করুন:

# JSONL file using embeddings model and endpoint
# {"custom_id": "request-1", "method": "POST", "url": "/v1/embeddings", "body": {"model": "ggemini-embedding-001", "messages": [{"role": "user", "content": "Tell me a one-sentence joke."}]}}
# {"custom_id": "request-2", "method": "POST", "url": "/v1/embeddings", "body": {"model": "gemini-embedding-001", "messages": [{"role": "user", "content": "Why is the sky blue?"}]}}

# ...

# Create batch step with embeddings endpoint
batch = openai_client.batches.create(
    input_file_id=batch_input_file_id,
    endpoint="/v1/embeddings",
    completion_window="24h"
)

সম্পূর্ণ উদাহরণের জন্য OpenAI সামঞ্জস্যতা কুকবুকের ব্যাচ এম্বেডিং জেনারেশন বিভাগটি দেখুন।

extra_body

জেমিনি দ্বারা সমর্থিত বেশ কিছু বৈশিষ্ট্য রয়েছে যা OpenAI মডেলগুলিতে উপলব্ধ নয় তবে extra_body ক্ষেত্র ব্যবহার করে সক্ষম করা যেতে পারে।

extra_body বৈশিষ্ট্য

cached_content জেমিনির GenerateContentRequest.cached_content এর সাথে সঙ্গতিপূর্ণ।
thinking_config জেমিনির ThinkingConfig এর সাথে মিলে যায়।

cached_content

cached_content সেট করার জন্য extra_body ব্যবহারের একটি উদাহরণ এখানে দেওয়া হল:

পাইথন

from openai import OpenAI

client = OpenAI(
    api_key=MY_API_KEY,
    base_url="https://generativelanguage.googleapis.com/v1beta/"
)

stream = client.chat.completions.create(
    model="gemini-2.5-pro",
    n=1,
    messages=[
        {
            "role": "user",
            "content": "Summarize the video"
        }
    ],
    stream=True,
    stream_options={'include_usage': True},
    extra_body={
        'extra_body':
        {
            'google': {
              'cached_content': "cachedContents/0000aaaa1111bbbb2222cccc3333dddd4444eeee"
          }
        }
    }
)

for chunk in stream:
    print(chunk)
    print(chunk.usage.to_dict())

মডেলের তালিকা করুন

উপলব্ধ জেমিনি মডেলগুলির একটি তালিকা পান:

পাইথন

from openai import OpenAI

client = OpenAI(
  api_key="GEMINI_API_KEY",
  base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

models = client.models.list()
for model in models:
  print(model.id)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: "GEMINI_API_KEY",
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

async function main() {
  const list = await openai.models.list();

  for await (const model of list) {
    console.log(model);
  }
}
main();

বিশ্রাম

curl https://generativelanguage.googleapis.com/v1beta/openai/models \
-H "Authorization: Bearer GEMINI_API_KEY"

একটি মডেল উদ্ধার করুন

একটি জেমিনি মডেল উদ্ধার করুন:

পাইথন

from openai import OpenAI

client = OpenAI(
  api_key="GEMINI_API_KEY",
  base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)

model = client.models.retrieve("gemini-2.0-flash")
print(model.id)

জাভাস্ক্রিপ্ট

import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: "GEMINI_API_KEY",
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

async function main() {
  const model = await openai.models.retrieve("gemini-2.0-flash");
  console.log(model.id);
}

main();

বিশ্রাম

curl https://generativelanguage.googleapis.com/v1beta/openai/models/gemini-2.0-flash \
-H "Authorization: Bearer GEMINI_API_KEY"

বর্তমান সীমাবদ্ধতা

আমরা বৈশিষ্ট্য সমর্থন প্রসারিত করার সময় OpenAI লাইব্রেরিগুলির জন্য সমর্থন এখনও বিটাতে রয়েছে।

যদি আপনার সমর্থিত প্যারামিটার, আসন্ন বৈশিষ্ট্য সম্পর্কে কোন প্রশ্ন থাকে, অথবা জেমিনি শুরু করতে কোনও সমস্যার সম্মুখীন হন, তাহলে আমাদের ডেভেলপার ফোরামে যোগদান করুন।

এরপর কি?

আরও বিস্তারিত উদাহরণের মাধ্যমে কাজ করার জন্য আমাদের OpenAI সামঞ্জস্যতা Colab ব্যবহার করে দেখুন।