এই নির্দেশিকাটি ব্যাখ্যা করে যে জেমিনি এপিআই-তে অনুরোধ করার সময় আপনি কীভাবে ছবি, অডিও, ভিডিও এবং ডকুমেন্টের মতো মিডিয়া ফাইলগুলি অন্তর্ভুক্ত করতে পারেন। সঠিক পদ্ধতি নির্বাচন করা আপনার ফাইলের আকার, আপনার ডেটা বর্তমানে কোথায় সংরক্ষণ করা হচ্ছে এবং আপনি কত ঘন ঘন ফাইলটি ব্যবহার করার পরিকল্পনা করছেন তার উপর নির্ভর করে।
আপনার ইনপুট হিসেবে একটি ফাইল অন্তর্ভুক্ত করার সবচেয়ে সহজ উপায় হল একটি স্থানীয় ফাইল পড়া এবং এটি একটি প্রম্পটে অন্তর্ভুক্ত করা। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি স্থানীয় PDF ফাইল পড়তে হয়। এই পদ্ধতিতে PDF ফাইলগুলি 50MB পর্যন্ত সীমাবদ্ধ। ফাইল ইনপুট প্রকার এবং সীমার সম্পূর্ণ তালিকার জন্য ইনপুট পদ্ধতি তুলনা সারণীটি দেখুন।
পাইথন
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}"'"
}
}
]
}
]
}'
ইনপুট পদ্ধতির তুলনা
নিম্নলিখিত টেবিলে প্রতিটি ইনপুট পদ্ধতির ফাইল সীমা এবং সর্বোত্তম ব্যবহারের ক্ষেত্রে তুলনা করা হয়েছে। মনে রাখবেন যে ফাইলের আকারের সীমা ফাইলের ধরণ এবং ফাইল প্রক্রিয়াকরণের জন্য ব্যবহৃত মডেল/টোকেনাইজারের উপর নির্ভর করে পরিবর্তিত হতে পারে।
| পদ্ধতি | এর জন্য সেরা | সর্বোচ্চ ফাইলের আকার | অধ্যবসায় |
|---|---|---|---|
| ইনলাইন ডেটা | দ্রুত পরীক্ষা, ছোট ফাইল, রিয়েল-টাইম অ্যাপ্লিকেশন। | প্রতি অনুরোধ/পেলোডের জন্য ১০০ এমবি ( পিডিএফের জন্য ৫০ এমবি ) | কোনওটিই নয় (প্রতিটি অনুরোধের সাথে পাঠানো হয়েছে) |
| ফাইল API আপলোড | বড় ফাইল, একাধিকবার ব্যবহৃত ফাইল। | প্রতি ফাইলে ২ জিবি, প্রতি প্রকল্পে সর্বোচ্চ ২০ গিগাবাইট পর্যন্ত | ৪৮ ঘন্টা |
| ফাইল API GCS URI নিবন্ধন | গুগল ক্লাউড স্টোরেজে ইতিমধ্যেই বড় ফাইল, একাধিকবার ব্যবহৃত ফাইল। | প্রতি ফাইলে ২ জিবি, মোট স্টোরেজের কোনও সীমা নেই | কোনটিই নয় (প্রতি অনুরোধে আনা হয়েছে)। একবার নিবন্ধন করলে সর্বোচ্চ 30 দিন পর্যন্ত অ্যাক্সেস দেওয়া যেতে পারে। |
| বাহ্যিক 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
গুগল ক্লাউড স্টোরেজ ফাইলগুলি নিবন্ধন করুন
যদি আপনার ডেটা ইতিমধ্যেই Google Cloud Storage-এ থাকে, তাহলে আপনাকে এটি ডাউনলোড করে পুনরায় আপলোড করার প্রয়োজন নেই। আপনি এটি সরাসরি File API-এর মাধ্যমে নিবন্ধন করতে পারেন।
প্রতিটি বালতিতে পরিষেবা এজেন্টকে অ্যাক্সেস দিন
আপনার গুগল ক্লাউড প্রজেক্টে জেমিনি এপিআই সক্ষম করুন।
পরিষেবা এজেন্ট তৈরি করুন:
gcloud beta services identity create --service=generativelanguage.googleapis.com --project=<your_project>আপনার স্টোরেজ বাকেট পড়ার জন্য জেমিনি এপিআই সার্ভিস এজেন্টকে অনুমতি দিন ।
ব্যবহারকারীকে তাদের ব্যবহার করার উদ্দেশ্যে নির্দিষ্ট স্টোরেজ বাকেটগুলিতে এই পরিষেবা এজেন্টকে
Storage Object ViewerIAM ভূমিকা বরাদ্দ করতে হবে।
এই অ্যাক্সেসের মেয়াদ ডিফল্টভাবে শেষ হয় না, তবে যেকোনো সময় পরিবর্তন করা যেতে পারে। অনুমতি দেওয়ার জন্য আপনি Google Cloud Storage IAM SDK কমান্ডও ব্যবহার করতে পারেন।
আপনার পরিষেবা প্রমাণীকরণ করুন
পূর্বশর্ত
- API সক্ষম করুন
- উপযুক্ত অনুমতি নিয়ে একটি পরিষেবা অ্যাকাউন্ট/এজেন্ট তৈরি করুন।
প্রথমে আপনাকে স্টোরেজ অবজেক্ট ভিউয়ারের অনুমতি আছে এমন পরিষেবা হিসেবে প্রমাণীকরণ করতে হবে। এটি কীভাবে ঘটবে তা নির্ভর করে আপনার ফাইল ম্যানেজমেন্ট কোডটি কোন পরিবেশে চলবে তার উপর।
গুগল ক্লাউডের বাইরে
যদি আপনার কোডটি গুগল ক্লাউডের বাইরে থেকে চালানো হয়, যেমন আপনার ডেস্কটপ, তাহলে নিম্নলিখিত ধাপগুলি অনুসরণ করে গুগল ক্লাউড কনসোল থেকে অ্যাকাউন্ট শংসাপত্রগুলি ডাউনলোড করুন:
- সার্ভিস অ্যাকাউন্ট কনসোলে ব্রাউজ করুন
- প্রাসঙ্গিক পরিষেবা অ্যাকাউন্ট নির্বাচন করুন
- কী ট্যাবটি নির্বাচন করুন এবং কী যোগ করুন, নতুন কী তৈরি করুন নির্বাচন করুন
- 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' ] });সিএলআই
এটি একটি ইন্টারেক্টিভ কমান্ড। কম্পিউট ইঞ্জিনের মতো পরিষেবার জন্য আপনি কনফিগারেশন স্তরে চলমান পরিষেবার সাথে স্কোপ সংযুক্ত করতে পারেন। উদাহরণের জন্য ব্যবহারকারী-পরিচালিত পরিষেবা ডক্স দেখুন।
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 এর সাথে সামঞ্জস্যপূর্ণ) পাস করতে পারেন। জেমিনি API প্রক্রিয়াকরণের সময় নিরাপদে কন্টেন্ট আনবে। এটি 100MB পর্যন্ত ফাইলের জন্য আদর্শ যা আপনি পুনরায় আপলোড করতে চান না।
আপনি 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://autopush-generativelanguage.sandbox.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-এ কন্টেন্ট মডারেশন চেক করে নিশ্চিত করে যে এটি নিরাপত্তা এবং নীতিগত মান পূরণ করে (যেমন অপ্ট-আউট না করা এবং পেওয়ালড কন্টেন্ট)। আপনার দেওয়া URL যদি এই চেকটি ব্যর্থ হয়, তাহলে আপনি URL_RETRIEVAL_STATUS_UNSAFE এর url_retrieval_status পাবেন।
সমর্থিত কন্টেন্টের ধরণ
সমর্থিত ফাইলের ধরণ এবং সীমাবদ্ধতার এই তালিকাটি প্রাথমিক নির্দেশিকা হিসেবে তৈরি করা হয়েছে এবং এটি সম্পূর্ণ নয়। সমর্থিত প্রকারের কার্যকর সেট পরিবর্তন সাপেক্ষে এবং ব্যবহৃত নির্দিষ্ট মডেল এবং টোকেনাইজার সংস্করণের উপর নির্ভর করে পরিবর্তিত হতে পারে। অসমর্থিত প্রকারের ফলে ত্রুটি দেখা দেবে। অতিরিক্তভাবে, এই ধরণের ফাইলের জন্য সামগ্রী পুনরুদ্ধার বর্তমানে শুধুমাত্র সর্বজনীনভাবে অ্যাক্সেসযোগ্য URL গুলিকে সমর্থন করে।
টেক্সট ফাইলের ধরণ
-
text/html -
text/css -
text/plain -
text/xml -
text/scv -
text/rtf -
text/javascript
অ্যাপ্লিকেশন ফাইলের ধরণ
-
application/json -
application/pdf
ছবির ফাইলের ধরণ
-
image/bmp -
image/jpeg -
image/png -
image/webp
সেরা অনুশীলন
- সঠিক পদ্ধতিটি বেছে নিন: ছোট, ক্ষণস্থায়ী ফাইলের জন্য ইনলাইন ডেটা ব্যবহার করুন। বড় বা ঘন ঘন ব্যবহৃত ফাইলের জন্য ফাইল API ব্যবহার করুন। অনলাইনে ইতিমধ্যেই হোস্ট করা ডেটার জন্য বহিরাগত URL ব্যবহার করুন।
- MIME প্রকারগুলি নির্দিষ্ট করুন: সঠিক প্রক্রিয়াকরণ নিশ্চিত করার জন্য ফাইল ডেটার জন্য সর্বদা সঠিক MIME প্রকারটি প্রদান করুন।
- ত্রুটিগুলি পরিচালনা করুন: নেটওয়ার্ক ব্যর্থতা, ফাইল অ্যাক্সেস সমস্যা, বা API ত্রুটির মতো সম্ভাব্য সমস্যাগুলি পরিচালনা করতে আপনার কোডে ত্রুটি পরিচালনা বাস্তবায়ন করুন।
- GCS অনুমতিগুলি পরিচালনা করুন: GCS নিবন্ধন ব্যবহার করার সময়, নির্দিষ্ট বাকেটগুলিতে শুধুমাত্র প্রয়োজনীয়
Storage Object Viewerভূমিকা Gemini API পরিষেবা এজেন্টকে প্রদান করুন। - স্বাক্ষরিত URL নিরাপত্তা: নিশ্চিত করুন যে স্বাক্ষরিত URL গুলির একটি উপযুক্ত মেয়াদ শেষ হওয়ার সময় এবং সীমিত অনুমতি রয়েছে।
সীমাবদ্ধতা
- ফাইলের আকারের সীমা পদ্ধতি ( তুলনা সারণী দেখুন) এবং ফাইলের ধরণ অনুসারে পরিবর্তিত হয়।
- ইনলাইন ডেটা অনুরোধের পেলোডের আকার বৃদ্ধি করে।
- ফাইল API আপলোডগুলি অস্থায়ী এবং 48 ঘন্টা পরে মেয়াদ শেষ হয়ে যায়।
- বাহ্যিক URL আনার ক্ষমতা প্রতি পেলোডে ১০০MB-এর মধ্যে সীমাবদ্ধ এবং নির্দিষ্ট ধরণের সামগ্রী সমর্থন করে।
- গুগল ক্লাউড স্টোরেজ নিবন্ধনের জন্য সঠিক IAM সেটআপ এবং OAuth টোকেন ব্যবস্থাপনা প্রয়োজন।
এরপর কি?
- গুগল এআই স্টুডিও ব্যবহার করে আপনার নিজস্ব মাল্টিমোডাল প্রম্পট লেখার চেষ্টা করুন।
- আপনার প্রম্পটে ফাইল অন্তর্ভুক্ত করার বিষয়ে তথ্যের জন্য, ভিশন , অডিও এবং ডকুমেন্ট প্রক্রিয়াকরণ নির্দেশিকা দেখুন।
- প্রম্পট ডিজাইন সম্পর্কে আরও নির্দেশনার জন্য, যেমন স্যাম্পলিং প্যারামিটার টিউনিং, প্রম্পট কৌশল নির্দেশিকা দেখুন।