এই নির্দেশিকাটি জেমিনি এপিআই-তে অনুরোধ করার সময় ছবি, অডিও, ভিডিও এবং ডকুমেন্টের মতো মিডিয়া ফাইল অন্তর্ভুক্ত করার বিভিন্ন উপায় ব্যাখ্যা করে। নতুন পদ্ধতিগুলো ব্যাচ, ইন্টারঅ্যাকশন এবং লাইভ এপিআই সহ জেমিনি এপিআই-এর সমস্ত এন্ডপয়েন্টে সমর্থিত। সঠিক পদ্ধতি নির্বাচন করা নির্ভর করে আপনার ফাইলের আকার, আপনার ডেটা বর্তমানে কোথায় সংরক্ষিত আছে এবং আপনি ফাইলটি কত ঘন ঘন ব্যবহার করার পরিকল্পনা করছেন তার উপর।
আপনার ইনপুট হিসেবে একটি ফাইল অন্তর্ভুক্ত করার সবচেয়ে সহজ উপায় হলো একটি স্থানীয় ফাইল পড়া এবং সেটিকে একটি প্রম্পটে অন্তর্ভুক্ত করা। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি স্থানীয় পিডিএফ ফাইল পড়তে হয়। এই পদ্ধতির জন্য পিডিএফ ফাইলের সীমা ৫০ মেগাবাইট। ফাইল ইনপুটের প্রকার এবং সীমার সম্পূর্ণ তালিকার জন্য ইনপুট পদ্ধতি তুলনা সারণীটি দেখুন।
পাইথন
from google import genai
from google.genai import types
import pathlib
client = genai.Client()
filepath = pathlib.Path('my_local_file.pdf')
prompt = "Summarize this document"
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents=[
types.Part.from_bytes(
data=filepath.read_bytes(),
mime_type='application/pdf',
),
prompt
]
)
print(response.text)
জাভাস্ক্রিপ্ট
import { GoogleGenAI } from "@google/genai";
import * as fs from 'node:fs';
const ai = new GoogleGenAI({});
const prompt = "Summarize this document";
async function main() {
const filePath = path.join('content', 'my_local_file.pdf'); // Adjust path as needed
const contents = [
{ text: prompt },
{
inlineData: {
mimeType: 'application/pdf',
data: fs.readFileSync(filePath).toString("base64")
}
}
];
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: contents
});
console.log(response.text);
}
main();
বিশ্রাম
# Encode the local file to base64
B64_CONTENT=$(base64 -w 0 my_local_file.pdf)
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"contents": [
{
"parts": [
{"text": "Summarize this document"}
]
},
{
"parts": [
{
"inlineData": {
"mimeType": "application/pdf",
"data": "'"${B64_CONTENT}"'"
}
}
]
}
]
}'
ইনপুট পদ্ধতির তুলনা
নিম্নলিখিত সারণিতে প্রতিটি ইনপুট পদ্ধতির সাথে ফাইলের সীমা এবং সর্বোত্তম ব্যবহারের ক্ষেত্রগুলোর তুলনা করা হয়েছে। উল্লেখ্য যে, ফাইলের ধরন এবং ফাইলটি প্রসেস করতে ব্যবহৃত মডেল/টোকেনাইজারের উপর নির্ভর করে ফাইলের আকারের সীমা পরিবর্তিত হতে পারে।
| পদ্ধতি | সেরা | সর্বোচ্চ ফাইলের আকার | অধ্যবসায় |
|---|---|---|---|
| ইনলাইন ডেটা | দ্রুত পরীক্ষা, ছোট ফাইল, রিয়েল-টাইম অ্যাপ্লিকেশন। | প্রতি অনুরোধ/পেলোডে ১০০ এমবি ( পিডিএফ এর জন্য ৫০ এমবি ) | কোনোটিই নয় (প্রতিটি অনুরোধের সাথে পাঠানো হয়) |
| ফাইল এপিআই আপলোড | বড় ফাইল, ফাইলগুলো একাধিকবার ব্যবহৃত হয়েছে। | প্রতি ফাইলে ২ জিবি, প্রতি প্রকল্পে ২০ জিবি পর্যন্ত | ৪৮ ঘন্টা |
| ফাইল এপিআই জিসিএস ইউআরআই নিবন্ধন | বড় ফাইলগুলো ইতিমধ্যেই গুগল ক্লাউড স্টোরেজে রয়েছে, ফাইলগুলো একাধিকবার ব্যবহার করা হয়েছে। | প্রতি ফাইলে ২ জিবি, মোট স্টোরেজের কোনো সীমা নেই | কোনোটিই নয় (অনুরোধ অনুযায়ী আনা হয়)। এককালীন নিবন্ধনের মাধ্যমে সর্বোচ্চ ৩০ দিনের জন্য প্রবেশাধিকার পাওয়া যেতে পারে। |
| বাহ্যিক URL | পুনরায় আপলোড না করেই পাবলিক ডেটা বা ক্লাউড বাকেটে (AWS, Azure, GCS) থাকা ডেটা। | প্রতি অনুরোধ/পেলোডে ১০০ এমবি | কোনোটিই নয় (অনুরোধ অনুযায়ী আনা হয়েছে) |
ইনলাইন ডেটা
ছোট ফাইলের (১০০ মেগাবাইটের কম, বা পিডিএফের ক্ষেত্রে ৫০ মেগাবাইট) জন্য, আপনি সরাসরি রিকোয়েস্ট পেলোডে ডেটা পাঠাতে পারেন। দ্রুত পরীক্ষা অথবা রিয়েল-টাইম ও ক্ষণস্থায়ী ডেটা পরিচালনা করে এমন অ্যাপ্লিকেশনের জন্য এটিই সবচেয়ে সহজ পদ্ধতি। আপনি বেস৬৪ এনকোডেড স্ট্রিং হিসেবে অথবা সরাসরি লোকাল ফাইল থেকে ডেটা সরবরাহ করতে পারেন।
স্থানীয় ফাইল থেকে পড়ার একটি উদাহরণের জন্য এই পৃষ্ঠার শুরুতে দেওয়া উদাহরণটি দেখুন।
একটি URL থেকে আনুন
এছাড়াও আপনি একটি URL থেকে ফাইল আনতে, সেটিকে বাইটে রূপান্তর করতে এবং ইনপুটে অন্তর্ভুক্ত করতে পারেন।
পাইথন
from google import genai
from google.genai import types
import httpx
client = genai.Client()
doc_url = "https://discovery.ucl.ac.uk/id/eprint/10089234/1/343019_3_art_0_py4t4l_convrt.pdf"
doc_data = httpx.get(doc_url).content
prompt = "Summarize this document"
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents=[
types.Part.from_bytes(
data=doc_data,
mime_type='application/pdf',
),
prompt
]
)
print(response.text)
জাভাস্ক্রিপ্ট
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const docUrl = 'https://discovery.ucl.ac.uk/id/eprint/10089234/1/343019_3_art_0_py4t4l_convrt.pdf';
const prompt = "Summarize this document";
async function main() {
const pdfResp = await fetch(docUrl);
.then((response) => response.arrayBuffer());
const contents = [
{ text: prompt },
{
inlineData: {
mimeType: 'application/pdf',
data: Buffer.from(pdfResp).toString("base64")
}
}
];
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: contents
});
console.log(response.text);
}
main();
বিশ্রাম
DOC_URL="https://discovery.ucl.ac.uk/id/eprint/10089234/1/343019_3_art_0_py4t4l_convrt.pdf"
PROMPT="Summarize this document"
DISPLAY_NAME="base64_pdf"
# Download the PDF
wget -O "${DISPLAY_NAME}.pdf" "${DOC_URL}"
# Check for FreeBSD base64 and set flags accordingly
if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
B64FLAGS="--input"
else
B64FLAGS="-w0"
fi
# Base64 encode the PDF
ENCODED_PDF=$(base64 $B64FLAGS "${DISPLAY_NAME}.pdf")
# Generate content using the base64 encoded PDF
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{"inline_data": {"mime_type": "application/pdf", "data": "'"$ENCODED_PDF"'"}},
{"text": "'$PROMPT'"}
]
}]
}' 2> /dev/null > response.json
cat response.json
echo
jq ".candidates[].content.parts[].text" response.json
জেমিনি ফাইল এপিআই
ফাইল এপিআইটি বড় ফাইল (২ জিবি পর্যন্ত) অথবা এমন ফাইলের জন্য ডিজাইন করা হয়েছে যা আপনি একাধিক অনুরোধে ব্যবহার করতে চান।
স্ট্যান্ডার্ড ফাইল আপলোড
জেমিনি এপিআই-তে একটি স্থানীয় ফাইল আপলোড করুন। এভাবে আপলোড করা ফাইলগুলো সাময়িকভাবে (৪৮ ঘণ্টা) সংরক্ষিত থাকে এবং মডেল দ্বারা কার্যকরভাবে পুনরুদ্ধারের জন্য প্রক্রিয়াজাত করা হয়।
পাইথন
from google import genai
client = genai.Client()
# Upload the file
audio_file = client.files.upload(file="path/to/your/sample.mp3")
prompt = "Describe this audio clip"
# Use the uploaded file in a prompt
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents=[prompt, audio_file]
)
print(response.text)
জাভাস্ক্রিপ্ট
import {
GoogleGenAI,
createUserContent,
createPartFromUri,
} from "@google/genai";
const ai = new GoogleGenAI({});
const prompt = "Describe this audio clip";
async function main() {
const filePath = "path/to/your/sample.mp3"; // Adjust path as needed
const myfile = await ai.files.upload({
file: filePath,
config: { mimeType: "audio/mpeg" },
});
const response = await ai.models.generateContent({
model: "gemini-3-flash-preview",
contents: createUserContent([
prompt,
createPartFromUri(myfile.uri, myfile.mimeType),
]),
});
console.log(response.text);
}
await main();
বিশ্রাম
AUDIO_PATH="path/to/sample.mp3"
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO
tmp_header_file=upload-header.tmp
# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-D "${tmp_header_file}" \
-H "X-Goog-Upload-Protocol: resumable" \
-H "X-Goog-Upload-Command: start" \
-H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
-H "Content-Type: application/json" \
-d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null
upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"
# Upload the actual bytes.
curl "${upload_url}" \
-H "Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Offset: 0" \
-H "X-Goog-Upload-Command: upload, finalize" \
--data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json
file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri
# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{"text": "Describe this audio clip"},
{"file_data":{"mime_type": "${MIME_TYPE}", "file_uri": '$file_uri'}}]
}]
}' 2> /dev/null > response.json
cat response.json
echo
jq ".candidates[].content.parts[].text" response.json
গুগল ক্লাউড স্টোরেজ ফাইলগুলি নিবন্ধন করুন
আপনার ডেটা যদি ইতিমধ্যেই গুগল ক্লাউড স্টোরেজে থাকে, তাহলে আপনাকে তা ডাউনলোড করে পুনরায় আপলোড করতে হবে না। আপনি সরাসরি ফাইল এপিআই (File API) ব্যবহার করে এটি নিবন্ধন করতে পারেন।
পরিষেবা এজেন্টকে প্রতিটি বালতিতে প্রবেশাধিকার দিন।
আপনার গুগল ক্লাউড প্রজেক্টে জেমিনি এপিআই (Gemini API) সক্রিয় করুন।
সার্ভিস এজেন্ট তৈরি করুন:
gcloud beta services identity create --service=generativelanguage.googleapis.com --project=<your_project>জেমিনি এপিআই সার্ভিস এজেন্টকে আপনার স্টোরেজ বাকেটগুলো পড়ার অনুমতি দিন ।
ব্যবহারকারীকে তার ব্যবহৃত নির্দিষ্ট স্টোরেজ বাকেটগুলিতে এই সার্ভিস এজেন্টকে
Storage Object Viewerআইএএম রোলটি বরাদ্দ করতে হবে।
এই অ্যাক্সেসের মেয়াদ ডিফল্টভাবে শেষ হয় না, তবে এটি যেকোনো সময় পরিবর্তন করা যেতে পারে। অনুমতি দেওয়ার জন্য আপনি Google Cloud Storage IAM SDK কমান্ডগুলোও ব্যবহার করতে পারেন।
আপনার পরিষেবা প্রমাণীকরণ করুন
পূর্বশর্ত
- এপিআই সক্ষম করুন
- যথাযথ অনুমতিসহ একটি পরিষেবা অ্যাকাউন্ট/এজেন্ট তৈরি করুন।
প্রথমে আপনাকে সেই সার্ভিস হিসেবে প্রমাণীকরণ করতে হবে যার স্টোরেজ অবজেক্ট ভিউয়ার পারমিশন আছে। এটি কীভাবে ঘটবে তা নির্ভর করে সেই পরিবেশের উপর যেখানে আপনার ফাইল ম্যানেজমেন্ট কোডটি চলবে।
গুগল ক্লাউডের বাইরে
আপনার কোড যদি গুগল ক্লাউডের বাইরে থেকে, যেমন আপনার ডেস্কটপ থেকে, চালানো হয়, তাহলে নিচের ধাপগুলো অনুসরণ করে গুগল ক্লাউড কনসোল থেকে অ্যাকাউন্টের ক্রেডেনশিয়াল ডাউনলোড করুন:
- সার্ভিস অ্যাকাউন্ট কনসোলে যান
- প্রাসঙ্গিক পরিষেবা অ্যাকাউন্ট নির্বাচন করুন
- Keys ট্যাবটি নির্বাচন করুন এবং Add key, Create new key বেছে নিন।
- JSON কী-এর ধরনটি নির্বাচন করুন এবং আপনার মেশিনে ফাইলটি কোথায় ডাউনলোড হয়েছে তা লিখে রাখুন।
আরও বিস্তারিত জানতে, সার্ভিস অ্যাকাউন্ট কী ম্যানেজমেন্ট বিষয়ে গুগল ক্লাউডের অফিসিয়াল ডকুমেন্টেশন দেখুন।
এরপর প্রমাণীকরণের জন্য নিম্নলিখিত কমান্ডগুলো ব্যবহার করুন। এই কমান্ডগুলো ধরে নেয় যে আপনার সার্ভিস অ্যাকাউন্ট ফাইলটি বর্তমান ডিরেক্টরিতে
service-account.jsonনামে রয়েছে।পাইথন
from google.oauth2.service_account import Credentials GCS_READ_SCOPES = [ 'https://www.googleapis.com/auth/devstorage.read_only', 'https://www.googleapis.com/auth/cloud-platform' ] SERVICE_ACCOUNT_FILE = 'service-account.json' credentials = Credentials.from_service_account_file( SERVICE_ACCOUNT_FILE, scopes=GCS_READ_SCOPES )জাভাস্ক্রিপ্ট
const { GoogleAuth } = require('google-auth-library'); const GCS_READ_SCOPES = [ 'https://www.googleapis.com/auth/devstorage.read_only', 'https://www.googleapis.com/auth/cloud-platform' ]; const SERVICE_ACCOUNT_FILE = 'service-account.json'; const auth = new GoogleAuth({ keyFile: SERVICE_ACCOUNT_FILE, scopes: GCS_READ_SCOPES });সিএলআই
gcloud auth application-default login \ --client-id-file=service-account.json \ --scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/devstorage.read_only'গুগল ক্লাউডে
আপনি যদি সরাসরি গুগল ক্লাউডে কাজ করেন, উদাহরণস্বরূপ ক্লাউড রান ফাংশন বা একটি কম্পিউট ইঞ্জিন ইনস্ট্যান্স ব্যবহার করে, তাহলে আপনার অন্তর্নিহিত ক্রেডেনশিয়াল থাকবে, কিন্তু উপযুক্ত স্কোপগুলো মঞ্জুর করার জন্য আপনাকে পুনরায় প্রমাণীকরণ করতে হবে।
পাইথন
এই কোডটি আশা করে যে পরিষেবাটি এমন একটি পরিবেশে চলছে যেখান থেকে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল স্বয়ংক্রিয়ভাবে পাওয়া যায়, যেমন ক্লাউড রান বা কম্পিউট ইঞ্জিন।
import google.auth GCS_READ_SCOPES = [ 'https://www.googleapis.com/auth/devstorage.read_only', 'https://www.googleapis.com/auth/cloud-platform' ] credentials, project = google.auth.default(scopes=GCS_READ_SCOPES)জাভাস্ক্রিপ্ট
এই কোডটি আশা করে যে পরিষেবাটি এমন একটি পরিবেশে চলছে যেখান থেকে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল স্বয়ংক্রিয়ভাবে পাওয়া যায়, যেমন ক্লাউড রান বা কম্পিউট ইঞ্জিন।
const { GoogleAuth } = require('google-auth-library'); const auth = new GoogleAuth({ scopes: [ 'https://www.googleapis.com/auth/devstorage.read_only', 'https://www.googleapis.com/auth/cloud-platform' ] });সিএলআই
এটি একটি ইন্টারেক্টিভ কমান্ড। Compute Engine-এর মতো সার্ভিসগুলোর ক্ষেত্রে আপনি কনফিগ লেভেলে চলমান সার্ভিসে স্কোপ সংযুক্ত করতে পারেন। একটি উদাহরণের জন্য ইউজার-ম্যানেজড সার্ভিস ডক্স দেখুন।
gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/devstorage.read_only"ফাইল নিবন্ধন (ফাইল এপিআই)
ফাইলস এপিআই ব্যবহার করে ফাইল রেজিস্টার করুন এবং একটি ফাইলস এপিআই পাথ তৈরি করুন যা সরাসরি জেমিনি এপিআই-তে ব্যবহার করা যাবে।
পাইথন
from google import genai from google.genai.types import Part # Note that you must provide an API key in the GEMINI_API_KEY # environment variable, but it is unused for the registration endpoint. client = genai.Client() registered_gcs_files = client.files.register_files( uris=["gs://my_bucket/some_object.pdf", "gs://bucket2/object2.txt"], # Use the credentials obtained in the previous step. auth=credentials ) prompt = "Summarize this file." # call generateContent for each file for f in registered_gcs_files.files: print(f.name) response = client.models.generate_content( model="gemini-3-flash-preview", contents=[Part.from_uri( file_uri=f.uri, mime_type=f.mime_type, ), prompt], ) print(response.text)সিএলআই
access_token=$(gcloud auth application-default print-access-token) project_id=$(gcloud config get-value project) curl -X POST https://generativelanguage.googleapis.com/v1beta/files:register \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ${access_token}" \ -H "x-goog-user-project: ${project_id}" \ -d '{"uris": ["gs://bucket/object1", "gs://bucket/object2"]}'
বাহ্যিক HTTP / স্বাক্ষরিত URL
আপনি আপনার জেনারেশন রিকোয়েস্টে সরাসরি পাবলিকলি অ্যাক্সেসযোগ্য HTTPS URL অথবা প্রি-সাইনড URL (যা S3 প্রি-সাইনড URL এবং Azure SAS-এর সাথে সামঞ্জস্যপূর্ণ) পাস করতে পারেন। প্রসেসিংয়ের সময় Gemini API নিরাপদে কন্টেন্টটি ফেচ করবে। এটি ১০০ মেগাবাইট পর্যন্ত ফাইলের জন্য আদর্শ, যা আপনি পুনরায় আপলোড করতে চান না।
আপনি file_uri ফিল্ডে URL-গুলো ব্যবহার করে ইনপুট হিসেবে পাবলিক বা সাইনড URL ব্যবহার করতে পারেন।
পাইথন
from google import genai
from google.genai.types import Part
uri = "https://ontheline.trincoll.edu/images/bookdown/sample-local-pdf.pdf"
prompt = "Summarize this file"
client = genai.Client()
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents=[
Part.from_uri(
file_uri=uri,
mime_type="application/pdf",
),
prompt
],
)
print(response.text)
জাভাস্ক্রিপ্ট
import { GoogleGenAI, createPartFromUri } from '@google/genai';
const client = new GoogleGenAI({});
const uri = "https://ontheline.trincoll.edu/images/bookdown/sample-local-pdf.pdf";
async function main() {
const response = await client.models.generateContent({
model: 'gemini-3-flash-preview',
contents: [
// equivalent to Part.from_uri(file_uri=uri, mime_type="...")
createPartFromUri(uri, "application/pdf"),
"summarize this file",
],
});
console.log(response.text);
}
main();
বিশ্রাম
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent \
-H 'x-goog-api-key: $GEMINI_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"contents":[
{
"parts":[
{"text": "Summarize this pdf"},
{
"file_data": {
"mime_type":"application/pdf",
"file_uri": "https://ontheline.trincoll.edu/images/bookdown/sample-local-pdf.pdf"
}
}
]
}
]
}'
প্রবেশগম্যতা
নিশ্চিত করুন যে আপনার দেওয়া URL-গুলো লগইন-প্রয়োজনীয় বা পেওয়াল-এর আড়ালে থাকা কোনো পৃষ্ঠায় নিয়ে যায় না। ব্যক্তিগত ডেটাবেসের জন্য, সঠিক অ্যাক্সেস অনুমতি এবং মেয়াদসহ একটি স্বাক্ষরিত URL তৈরি করা নিশ্চিত করুন।
নিরাপত্তা পরীক্ষা
সিস্টেমটি ইউআরএলটি নিরাপত্তা এবং নীতিগত মানদণ্ড (যেমন, অপ্ট-আউট না করা ও পে-ওয়ালযুক্ত কন্টেন্ট) পূরণ করে কিনা তা নিশ্চিত করার জন্য সেটির উপর একটি কন্টেন্ট মডারেশন চেক করে। আপনার দেওয়া ইউআরএলটি যদি এই পরীক্ষায় উত্তীর্ণ হতে না পারে, তাহলে আপনি URL_RETRIEVAL_STATUS_UNSAFE url_retrieval_status পাবেন।
সমর্থিত বিষয়বস্তুর প্রকার
সমর্থিত ফাইলের প্রকার এবং সীমাবদ্ধতার এই তালিকাটি প্রাথমিক নির্দেশিকা হিসাবে দেওয়া হয়েছে এবং এটি সম্পূর্ণ নয়। সমর্থিত প্রকারের কার্যকর সেট পরিবর্তন সাপেক্ষ এবং ব্যবহৃত নির্দিষ্ট মডেল ও টোকেনাইজার সংস্করণের উপর ভিত্তি করে ভিন্ন হতে পারে। অসমর্থিত প্রকারের ক্ষেত্রে একটি ত্রুটি দেখা দেবে। এছাড়াও, এই ফাইলের প্রকারগুলির জন্য কন্টেন্ট পুনরুদ্ধার বর্তমানে শুধুমাত্র সর্বজনীনভাবে প্রবেশযোগ্য URL সমর্থন করে।
টেক্সট ফাইলের প্রকার
-
text/html -
text/css -
text/plain -
text/xml -
text/csv -
text/rtf -
text/javascript
অ্যাপ্লিকেশন ফাইলের প্রকার
-
application/json -
application/pdf
ছবির ফাইলের প্রকার
-
image/bmp -
image/jpeg -
image/png -
image/webp
সর্বোত্তম অনুশীলন
- সঠিক পদ্ধতিটি বেছে নিন: ছোট ও ক্ষণস্থায়ী ফাইলের জন্য ইনলাইন ডেটা ব্যবহার করুন। বড় বা ঘন ঘন ব্যবহৃত ফাইলের জন্য ফাইল এপিআই (File API) ব্যবহার করুন। ইতিমধ্যে অনলাইনে হোস্ট করা ডেটার জন্য এক্সটার্নাল ইউআরএল (External URLs) ব্যবহার করুন।
- MIME টাইপ নির্দিষ্ট করুন: সঠিক প্রক্রিয়াকরণ নিশ্চিত করতে ফাইল ডেটার জন্য সর্বদা সঠিক MIME টাইপ প্রদান করুন।
- ত্রুটি পরিচালনা: নেটওয়ার্ক ব্যর্থতা, ফাইল অ্যাক্সেসের সমস্যা বা এপিআই (API) ত্রুটির মতো সম্ভাব্য সমস্যাগুলো সামাল দিতে আপনার কোডে ত্রুটি পরিচালনা ব্যবস্থা প্রয়োগ করুন।
- GCS অনুমতি পরিচালনা করুন: GCS রেজিস্ট্রেশন ব্যবহার করার সময়, Gemini API Service Agent-কে নির্দিষ্ট বাকেটগুলিতে শুধুমাত্র প্রয়োজনীয়
Storage Object Viewerরোলটি প্রদান করুন। - স্বাক্ষরিত ইউআরএল নিরাপত্তা: নিশ্চিত করুন যে স্বাক্ষরিত ইউআরএলগুলোর একটি উপযুক্ত মেয়াদোত্তীর্ণের সময় এবং সীমিত অনুমতি রয়েছে।
সীমাবদ্ধতা
- পদ্ধতি ( তুলনা সারণি দেখুন) এবং ফাইলের প্রকারভেদে ফাইলের আকারের সীমা ভিন্ন হয়।
- ইনলাইন ডেটা রিকোয়েস্ট পেলোডের আকার বাড়িয়ে দেয়।
- ফাইল এপিআই আপলোডগুলি অস্থায়ী এবং ৪৮ ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যায়।
- বাহ্যিক ইউআরএল থেকে ডেটা আনার ক্ষেত্রে প্রতি পেলোডের সীমা ১০০ মেগাবাইট এবং এটি নির্দিষ্ট ধরনের কন্টেন্ট সমর্থন করে।
- গুগল ক্লাউড স্টোরেজে নিবন্ধনের জন্য যথাযথ IAM সেটআপ এবং OAuth টোকেন ব্যবস্থাপনা প্রয়োজন।
এরপর কী?
- Google AI Studio ব্যবহার করে আপনার নিজের মাল্টিমোডাল প্রম্পট লেখার চেষ্টা করুন।
- আপনার প্রম্পটে ফাইল অন্তর্ভুক্ত করার বিষয়ে তথ্যের জন্য, ভিশন , অডিও এবং ডকুমেন্ট প্রসেসিং গাইডগুলো দেখুন।
- প্রম্পট ডিজাইন, যেমন স্যাম্পলিং প্যারামিটার টিউনিং, সম্পর্কে আরও নির্দেশনার জন্য প্রম্পট স্ট্র্যাটেজিস গাইডটি দেখুন।