জেমিনি এপিআই প্রম্পট ইনপুট থেকে আলাদাভাবে মিডিয়া ফাইল আপলোড করার সুবিধা প্রদান করে, যার ফলে আপনার মিডিয়া একাধিক অনুরোধ এবং একাধিক প্রম্পটে পুনঃব্যবহার করা সম্ভব হয়। আরও বিস্তারিত জানার জন্য, প্রম্পটিং উইথ মিডিয়া গাইডটি দেখুন।
পদ্ধতি: মিডিয়া.আপলোড
- শেষবিন্দু
- পথের পরামিতি
- অনুরোধের মূল অংশ
- প্রতিক্রিয়া মূল অংশ
- ChunkingConfig সম্পর্কে
- হোয়াইটস্পেসকনফিগ
একটি ragStore-এ ডেটা আপলোড করে, একটি RagStore ডকুমেন্টে সংরক্ষণ করার আগে প্রি-প্রসেস এবং খণ্ডগুলি তৈরি করে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStorehttps: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
পথের পরামিতি
ragStoreNamestring প্রয়োজনীয়। অপরিবর্তনীয়। ফাইলটি যে RagStore এ আপলোড করতে হবে তার নাম। উদাহরণ: ragStores/my-rag-store-123 এটি ragStores/{ragstore} রূপ নেয়।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
displayNamestringঐচ্ছিক। তৈরি নথির নাম প্রদর্শন করুন।
customMetadata[]object ( CustomMetadata )ডেটার সাথে যুক্ত করার জন্য কাস্টম মেটাডেটা।
chunkingConfigobject ( ChunkingConfig )ঐচ্ছিক। পরিষেবাকে ডেটা কীভাবে ভাগ করতে হবে তা বলার জন্য কনফিগারেশন। যদি সরবরাহ না করা হয়, তবে পরিষেবাটি ডিফল্ট প্যারামিটার ব্যবহার করবে।
mimeTypestringঐচ্ছিক। ডেটার MIME ধরণ। যদি সরবরাহ না করা হয়, তাহলে আপলোড করা সামগ্রী থেকে এটি অনুমান করা হবে।
প্রতিক্রিয়া মূল অংশ
এটি google.longrunning.Operation এর একটি কপি। আমাদের এটি কপি করতে হবে কারণ scotty এর সাথে ইন্টারঅ্যাক্ট করার জন্য, আমাদের একটি scotty নির্দিষ্ট ক্ষেত্র যোগ করতে হবে যা শীর্ষ স্তরের অপারেশন প্রোটোতে যোগ করা যাবে না।
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
namestring সার্ভার-নির্ধারিত নাম, যা শুধুমাত্র সেই একই পরিষেবার মধ্যে অনন্য যা মূলত এটি প্রদান করে। যদি আপনি ডিফল্ট HTTP ম্যাপিং ব্যবহার করেন, name একটি রিসোর্স নাম হওয়া উচিত যার শেষে operations/{unique_id} থাকবে।
metadataobjectঅপারেশনের সাথে সম্পর্কিত পরিষেবা-নির্দিষ্ট মেটাডেটা। এতে সাধারণত অগ্রগতির তথ্য এবং তৈরির সময় এর মতো সাধারণ মেটাডেটা থাকে। কিছু পরিষেবা এই ধরনের মেটাডেটা প্রদান নাও করতে পারে। দীর্ঘমেয়াদী অপারেশন ফেরত দেয় এমন যেকোনো পদ্ধতিতে মেটাডেটার ধরণ, যদি থাকে, তা নথিভুক্ত করা উচিত।
একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type" এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" } ।
boolean done যদি মানটি false হয়, তাহলে এর অর্থ হল অপারেশনটি এখনও চলছে। যদি true , তাহলে অপারেশনটি সম্পন্ন হয়েছে, এবং error অথবা response পাওয়া যাবে।
resultUnion typeerror বা একটি বৈধ response হতে পারে। যদি done == false , error বা response উভয়ই সেট করা হয় না। যদি done == true , error বা response ঠিক একটি সেট করা যেতে পারে। কিছু পরিষেবা ফলাফল প্রদান নাও করতে পারে। result নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: errorobject ( Status )ব্যর্থতা বা বাতিলকরণের ক্ষেত্রে অপারেশনের ত্রুটির ফলাফল।
responseobject অপারেশনের স্বাভাবিক, সফল প্রতিক্রিয়া। যদি মূল পদ্ধতিটি সাফল্যের উপর কোনও তথ্য প্রদান না করে, যেমন Delete , তাহলে প্রতিক্রিয়াটি হল google.protobuf.Empty । যদি মূল পদ্ধতিটি স্ট্যান্ডার্ড Get / Create / Update হয়, তাহলে প্রতিক্রিয়াটি রিসোর্স হওয়া উচিত। অন্যান্য পদ্ধতির জন্য, প্রতিক্রিয়াটির ধরণ XxxResponse হওয়া উচিত, যেখানে Xxx হল মূল পদ্ধতির নাম। উদাহরণস্বরূপ, যদি মূল পদ্ধতির নাম TakeSnapshot() হয়, তাহলে অনুমানকৃত প্রতিক্রিয়ার ধরণ হল TakeSnapshotResponse ।
একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type" এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" } ।
| JSON উপস্থাপনা |
|---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig সম্পর্কে
ফাইলটি কীভাবে চাঙ্ক করতে হয় তা পরিষেবাকে বলার জন্য প্যারামিটার। google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto দ্বারা অনুপ্রাণিত।
configUnion typeconfig নিম্নলিখিতগুলির মধ্যে শুধুমাত্র একটি হতে পারে: whiteSpaceConfigobject ( WhiteSpaceConfig )হোয়াইট স্পেস চাঙ্কিং কনফিগারেশন।
| JSON উপস্থাপনা |
|---|
{
// config
"whiteSpaceConfig": {
object ( |
হোয়াইটস্পেসকনফিগ
একটি সাদা স্থান চাঙ্কিং অ্যালগরিদমের জন্য কনফিগারেশন [সাদা স্থান সীমাবদ্ধ]।
maxTokensPerChunkintegerপ্রতি অংশে সর্বোচ্চ টোকেনের সংখ্যা। এই চাঙ্কিং অ্যালগরিদমের জন্য টোকেনগুলিকে শব্দ হিসেবে সংজ্ঞায়িত করা হয়েছে। দ্রষ্টব্য: আমরা টোকেনাইজারের আউটপুটের বিপরীতে হোয়াইটস্পেস দ্বারা বিভক্ত শব্দ হিসেবে টোকেনকে সংজ্ঞায়িত করছি। 2025-04-17 তারিখের সর্বশেষ জেমিনি এমবেডিং মডেলের প্রসঙ্গ উইন্ডো বর্তমানে 8192 টোকেন। আমরা ধরে নিচ্ছি যে গড় শব্দ 5 অক্ষর। অতএব, আমরা সর্বোচ্চ সীমা 2**9 নির্ধারণ করেছি, যা 512 শব্দ, অথবা 2560 টোকেন, সবচেয়ে খারাপ ক্ষেত্রে প্রতি টোকেনে একটি অক্ষর ধরে নিচ্ছি। এটি একটি রক্ষণশীল অনুমান যা প্রসঙ্গ উইন্ডো ওভারফ্লো প্রতিরোধ করার জন্য তৈরি।
maxOverlapTokensintegerদুটি সংলগ্ন অংশের মধ্যে ওভারল্যাপিং টোকেনের সর্বাধিক সংখ্যা।
| JSON উপস্থাপনা |
|---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
পদ্ধতি: files.get
প্রদত্ত File জন্য মেটাডেটা পায়।
শেষবিন্দু
https পানhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}পথের পরামিতি
namestring প্রয়োজনীয়। যে File পেতে হবে তার নাম। উদাহরণ: files/abc-123 এটি files/{file} ফর্মটি নেয়।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
যদি সফল হয়, তাহলে রেসপন্স বডিতে File এর একটি উদাহরণ থাকবে।
পদ্ধতি: files.list
অনুরোধকারী প্রকল্পের মালিকানাধীন File মেটাডেটা তালিকাভুক্ত করে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /v1beta /files পানকোয়েরি প্যারামিটার
pageSizeinteger ঐচ্ছিক। প্রতি পৃষ্ঠায় সর্বাধিক কতগুলি File ফেরত পাঠানো যাবে। যদি নির্দিষ্ট না করা থাকে, তাহলে ডিফল্ট সংখ্যা ১০। সর্বাধিক pageSize ১০০।
pageTokenstring ঐচ্ছিক। পূর্ববর্তী files.list কল থেকে একটি পৃষ্ঠা টোকেন।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
files.list এর জন্য প্রতিক্রিয়া।
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
files[]object ( File ) File তালিকা।
nextPageTokenstring একটি টোকেন যা পরবর্তী files.list কলে pageToken হিসেবে পাঠানো যেতে পারে।
| JSON উপস্থাপনা |
|---|
{
"files": [
{
object ( |
পদ্ধতি: files.delete
File মুছে ফেলে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /v1beta /{name=files /*} মুছে ফেলুন : / /generativelanguage.googleapis.com /v1beta /{name=files /*}পথের পরামিতি
namestring প্রয়োজনীয়। মুছে ফেলার জন্য File নাম। উদাহরণ: files/abc-123 এটি files/{file} ফর্মটি গ্রহণ করে।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
যদি সফল হয়, তাহলে রেসপন্স বডিটি একটি খালি JSON অবজেক্ট হবে।
REST রিসোর্স: ফাইল
রিসোর্স: ফাইল
API তে আপলোড করা একটি ফাইল। পরবর্তী আইডি: ১৫
namestring অপরিবর্তনীয়। শনাক্তকারী। File রিসোর্সের নাম। আইডি ("files/" উপসর্গ বাদে নাম) তে ৪০টি পর্যন্ত অক্ষর থাকতে পারে যা ছোট হাতের আলফানিউমেরিক বা ড্যাশ (-)। আইডিটি ড্যাশ দিয়ে শুরু বা শেষ হতে পারে না। যদি create-এ নামটি খালি থাকে, তাহলে একটি অনন্য নাম তৈরি হবে। উদাহরণ: files/123-456
displayNamestring ঐচ্ছিক। File জন্য মানুষের পঠনযোগ্য প্রদর্শন নাম। প্রদর্শন নামটি অবশ্যই ৫১২ অক্ষরের বেশি দৈর্ঘ্যের হতে হবে না, স্পেস সহ। উদাহরণ: "স্বাগতম চিত্র"
mimeTypestringশুধুমাত্র আউটপুট। ফাইলের MIME ধরণ।
sizeBytesstring ( int64 format)শুধুমাত্র আউটপুট। ফাইলের আকার বাইটে।
createTimestring ( Timestamp format) শুধুমাত্র আউটপুট। File কখন তৈরি হয়েছিল তার টাইমস্ট্যাম্প।
RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
updateTimestring ( Timestamp format) শুধুমাত্র আউটপুট। File শেষবার কখন আপডেট করা হয়েছিল তার টাইমস্ট্যাম্প।
RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
expirationTimestring ( Timestamp format) শুধুমাত্র আউটপুট। File কখন মুছে ফেলা হবে তার টাইমস্ট্যাম্প। শুধুমাত্র File মেয়াদ শেষ হওয়ার সময় নির্ধারণ করা থাকলেই সেট করুন।
RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30" ।
sha256Hashstring ( bytes format)শুধুমাত্র আউটপুট। আপলোড করা বাইটের SHA-256 হ্যাশ।
একটি base64-এনকোডেড স্ট্রিং।
uristring শুধুমাত্র আউটপুট। File uri।
downloadUristring শুধুমাত্র আউটপুট। File ডাউনলোড ইউআরআই।
stateenum ( State )শুধুমাত্র আউটপুট। ফাইলের প্রক্রিয়াকরণ অবস্থা।
sourceenum ( Source )ফাইলের উৎস।
errorobject ( Status )শুধুমাত্র আউটপুট। ফাইল প্রক্রিয়াকরণ ব্যর্থ হলে ত্রুটির অবস্থা।
metadataUnion typemetadata নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:videoMetadataobject ( VideoFileMetadata )শুধুমাত্র আউটপুট। একটি ভিডিওর মেটাডেটা।
| JSON উপস্থাপনা |
|---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
ভিডিওফাইলমেটাডেটা
একটি ভিডিও File মেটাডেটা।
videoDurationstring ( Duration format)ভিডিওটির সময়কাল।
সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s" ।
| JSON উপস্থাপনা |
|---|
{ "videoDuration": string } |
রাজ্য
একটি ফাইলের জীবনচক্রের বর্ণনা।
| এনামস | |
|---|---|
STATE_UNSPECIFIED | ডিফল্ট মান। যদি অবস্থা বাদ দেওয়া হয় তাহলে এই মানটি ব্যবহার করা হবে। |
PROCESSING | ফাইলটি প্রক্রিয়া করা হচ্ছে এবং এখনও অনুমানের জন্য ব্যবহার করা যাচ্ছে না। |
ACTIVE | ফাইলটি প্রক্রিয়াজাত করা হয়েছে এবং অনুমানের জন্য উপলব্ধ। |
FAILED | ফাইল প্রক্রিয়াকরণ ব্যর্থ হয়েছে। |
উৎস
| এনামস | |
|---|---|
SOURCE_UNSPECIFIED | উৎস নির্দিষ্ট না থাকলে ব্যবহৃত হয়। |
UPLOADED | ব্যবহারকারীর দ্বারা ফাইলটি আপলোড করা হয়েছে তা নির্দেশ করে। |
GENERATED | নির্দেশ করে যে ফাইলটি গুগল দ্বারা তৈরি। |
REGISTERED | নির্দেশ করে যে ফাইলটি একটি নিবন্ধিত, অর্থাৎ একটি গুগল ক্লাউড স্টোরেজ ফাইল। |
অবস্থা
Status টাইপ একটি লজিক্যাল এরর মডেলকে সংজ্ঞায়িত করে যা REST API এবং RPC API সহ বিভিন্ন প্রোগ্রামিং পরিবেশের জন্য উপযুক্ত। এটি gRPC দ্বারা ব্যবহৃত হয়। প্রতিটি Status বার্তায় তিনটি ডেটা থাকে: ত্রুটি কোড, ত্রুটি বার্তা এবং ত্রুটির বিবরণ।
এই ত্রুটি মডেল এবং এটির সাথে কীভাবে কাজ করবেন সে সম্পর্কে আপনি API ডিজাইন গাইডে আরও জানতে পারবেন।
codeinteger স্ট্যাটাস কোড, যা google.rpc.Code এর একটি enum মান হওয়া উচিত।
messagestring ডেভেলপার-মুখোমুখি ত্রুটির বার্তা, যা ইংরেজিতে হওয়া উচিত। ব্যবহারকারী-মুখোমুখি যেকোনো ত্রুটির বার্তা স্থানীয়করণ করে google.rpc.Status.details ক্ষেত্রে পাঠানো উচিত, অথবা ক্লায়েন্ট দ্বারা স্থানীয়করণ করা উচিত।
details[]objectত্রুটির বিবরণ বহনকারী বার্তাগুলির একটি তালিকা। API গুলির ব্যবহারের জন্য বার্তার ধরণের একটি সাধারণ সেট রয়েছে।
একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type" এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" } ।
| JSON উপস্থাপনা |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |