জেমিনি এপিআই প্রম্পট ইনপুট থেকে আলাদাভাবে মিডিয়া ফাইল আপলোড করার সুবিধা প্রদান করে, যার ফলে আপনার মিডিয়া একাধিক অনুরোধ এবং একাধিক প্রম্পটে পুনঃব্যবহার করা সম্ভব হয়। আরও বিস্তারিত জানার জন্য, প্রম্পটিং উইথ মিডিয়া গাইডটি দেখুন।
পদ্ধতি: মিডিয়া.আপলোড
- শেষবিন্দু
- পথের পরামিতি
- অনুরোধের মূল অংশ
- প্রতিক্রিয়া মূল অংশ
- ChunkingConfig সম্পর্কে
- হোয়াইটস্পেসকনফিগ
একটি ragStore-এ ডেটা আপলোড করে, একটি RagStore ডকুমেন্টে সংরক্ষণ করার আগে প্রি-প্রসেস এবং খণ্ডগুলি তৈরি করে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
পথের পরামিতি
ragStoreName
string
প্রয়োজনীয়। অপরিবর্তনীয়। ফাইলটি যে RagStore
এ আপলোড করতে হবে তার নাম। উদাহরণ: ragStores/my-rag-store-123
এটি ragStores/{ragstore}
রূপ নেয়।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
displayName
string
ঐচ্ছিক। তৈরি নথির নাম প্রদর্শন করুন।
customMetadata[]
object ( CustomMetadata
)
ডেটার সাথে যুক্ত করার জন্য কাস্টম মেটাডেটা।
chunkingConfig
object ( ChunkingConfig
)
ঐচ্ছিক। পরিষেবাকে ডেটা কীভাবে ভাগ করতে হবে তা বলার জন্য কনফিগারেশন। যদি সরবরাহ না করা হয়, তবে পরিষেবাটি ডিফল্ট প্যারামিটার ব্যবহার করবে।
mimeType
string
ঐচ্ছিক। ডেটার MIME ধরণ। যদি সরবরাহ না করা হয়, তাহলে আপলোড করা সামগ্রী থেকে এটি অনুমান করা হবে।
প্রতিক্রিয়া মূল অংশ
এটি google.longrunning.Operation এর একটি কপি। আমাদের এটি কপি করতে হবে কারণ scotty এর সাথে ইন্টারঅ্যাক্ট করার জন্য, আমাদের একটি scotty নির্দিষ্ট ক্ষেত্র যোগ করতে হবে যা শীর্ষ স্তরের অপারেশন প্রোটোতে যোগ করা যাবে না।
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
name
string
সার্ভার-নির্ধারিত নাম, যা শুধুমাত্র সেই একই পরিষেবার মধ্যে অনন্য যা মূলত এটি প্রদান করে। যদি আপনি ডিফল্ট HTTP ম্যাপিং ব্যবহার করেন, name
একটি রিসোর্স নাম হওয়া উচিত যার শেষে operations/{unique_id}
থাকবে।
metadata
object
অপারেশনের সাথে সম্পর্কিত পরিষেবা-নির্দিষ্ট মেটাডেটা। এতে সাধারণত অগ্রগতির তথ্য এবং তৈরির সময় এর মতো সাধারণ মেটাডেটা থাকে। কিছু পরিষেবা এই ধরনের মেটাডেটা প্রদান নাও করতে পারে। দীর্ঘমেয়াদী অপারেশন ফেরত দেয় এমন যেকোনো পদ্ধতিতে মেটাডেটার ধরণ, যদি থাকে, তা নথিভুক্ত করা উচিত।
একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type"
এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }
।
boolean
done
যদি মানটি false
হয়, তাহলে এর অর্থ হল অপারেশনটি এখনও চলছে। যদি true
, তাহলে অপারেশনটি সম্পন্ন হয়েছে, এবং error
অথবা response
পাওয়া যাবে।
result
Union type
error
বা একটি বৈধ response
হতে পারে। যদি done
== false
, error
বা response
উভয়ই সেট করা হয় না। যদি done
== true
, error
বা response
ঠিক একটি সেট করা যেতে পারে। কিছু পরিষেবা ফলাফল প্রদান নাও করতে পারে। result
নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: error
object ( Status
)
ব্যর্থতা বা বাতিলকরণের ক্ষেত্রে অপারেশনের ত্রুটির ফলাফল।
response
object
অপারেশনের স্বাভাবিক, সফল প্রতিক্রিয়া। যদি মূল পদ্ধতিটি সাফল্যের উপর কোনও তথ্য প্রদান না করে, যেমন 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 দ্বারা অনুপ্রাণিত।
config
Union type
config
নিম্নলিখিতগুলির মধ্যে শুধুমাত্র একটি হতে পারে: whiteSpaceConfig
object ( WhiteSpaceConfig
)
হোয়াইট স্পেস চাঙ্কিং কনফিগারেশন।
JSON উপস্থাপনা |
---|
{
// config
"whiteSpaceConfig": {
object ( |
হোয়াইটস্পেসকনফিগ
একটি সাদা স্থান চাঙ্কিং অ্যালগরিদমের জন্য কনফিগারেশন [সাদা স্থান সীমাবদ্ধ]।
maxTokensPerChunk
integer
প্রতি অংশে সর্বোচ্চ টোকেনের সংখ্যা। এই চাঙ্কিং অ্যালগরিদমের জন্য টোকেনগুলিকে শব্দ হিসেবে সংজ্ঞায়িত করা হয়েছে। দ্রষ্টব্য: আমরা টোকেনাইজারের আউটপুটের বিপরীতে হোয়াইটস্পেস দ্বারা বিভক্ত শব্দ হিসেবে টোকেনকে সংজ্ঞায়িত করছি। 2025-04-17 তারিখের সর্বশেষ জেমিনি এমবেডিং মডেলের প্রসঙ্গ উইন্ডো বর্তমানে 8192 টোকেন। আমরা ধরে নিচ্ছি যে গড় শব্দ 5 অক্ষর। অতএব, আমরা সর্বোচ্চ সীমা 2**9 নির্ধারণ করেছি, যা 512 শব্দ, অথবা 2560 টোকেন, সবচেয়ে খারাপ ক্ষেত্রে প্রতি টোকেনে একটি অক্ষর ধরে নিচ্ছি। এটি একটি রক্ষণশীল অনুমান যা প্রসঙ্গ উইন্ডো ওভারফ্লো প্রতিরোধ করার জন্য তৈরি।
maxOverlapTokens
integer
দুটি সংলগ্ন অংশের মধ্যে ওভারল্যাপিং টোকেনের সর্বাধিক সংখ্যা।
JSON উপস্থাপনা |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
পদ্ধতি: files.get
প্রদত্ত File
জন্য মেটাডেটা পায়।
শেষবিন্দু
https পানhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
পথের পরামিতি
name
string
প্রয়োজনীয়। যে File
পেতে হবে তার নাম। উদাহরণ: files/abc-123
এটি files/{file}
ফর্মটি নেয়।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
যদি সফল হয়, তাহলে রেসপন্স বডিতে File
এর একটি উদাহরণ থাকবে।
পদ্ধতি: files.list
অনুরোধকারী প্রকল্পের মালিকানাধীন File
মেটাডেটা তালিকাভুক্ত করে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /v1beta /files
পানকোয়েরি প্যারামিটার
pageSize
integer
ঐচ্ছিক। প্রতি পৃষ্ঠায় সর্বাধিক কতগুলি File
ফেরত পাঠানো যাবে। যদি নির্দিষ্ট না করা থাকে, তাহলে ডিফল্ট সংখ্যা ১০। সর্বাধিক pageSize
১০০।
pageToken
string
ঐচ্ছিক। পূর্ববর্তী files.list
কল থেকে একটি পৃষ্ঠা টোকেন।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
files.list
এর জন্য প্রতিক্রিয়া।
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
files[]
object ( File
)
File
তালিকা।
nextPageToken
string
একটি টোকেন যা পরবর্তী files.list
কলে pageToken
হিসেবে পাঠানো যেতে পারে।
JSON উপস্থাপনা |
---|
{
"files": [
{
object ( |
পদ্ধতি: files.delete
File
মুছে ফেলে।
শেষবিন্দু
https: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
মুছে ফেলুন : / /generativelanguage.googleapis.com /v1beta /{name=files /*}পথের পরামিতি
name
string
প্রয়োজনীয়। মুছে ফেলার জন্য File
নাম। উদাহরণ: files/abc-123
এটি files/{file}
ফর্মটি গ্রহণ করে।
অনুরোধের মূল অংশ
অনুরোধের মূল অংশটি অবশ্যই খালি থাকতে হবে।
উদাহরণ অনুরোধ
পাইথন
নোড.জেএস
যাও
শেল
প্রতিক্রিয়া মূল অংশ
যদি সফল হয়, তাহলে রেসপন্স বডিটি একটি খালি JSON অবজেক্ট হবে।
REST রিসোর্স: ফাইল
রিসোর্স: ফাইল
API তে আপলোড করা একটি ফাইল। পরবর্তী আইডি: ১৫
name
string
অপরিবর্তনীয়। শনাক্তকারী। File
রিসোর্সের নাম। আইডি ("files/" উপসর্গ বাদে নাম) তে ৪০টি পর্যন্ত অক্ষর থাকতে পারে যা ছোট হাতের আলফানিউমেরিক বা ড্যাশ (-)। আইডিটি ড্যাশ দিয়ে শুরু বা শেষ হতে পারে না। যদি create-এ নামটি খালি থাকে, তাহলে একটি অনন্য নাম তৈরি হবে। উদাহরণ: files/123-456
displayName
string
ঐচ্ছিক। File
জন্য মানুষের পঠনযোগ্য প্রদর্শন নাম। প্রদর্শন নামটি অবশ্যই ৫১২ অক্ষরের বেশি দৈর্ঘ্যের হতে হবে না, স্পেস সহ। উদাহরণ: "স্বাগতম চিত্র"
mimeType
string
শুধুমাত্র আউটপুট। ফাইলের MIME ধরণ।
sizeBytes
string ( int64 format)
শুধুমাত্র আউটপুট। ফাইলের আকার বাইটে।
createTime
string ( 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"
।
updateTime
string ( 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"
।
expirationTime
string ( 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"
।
sha256Hash
string ( bytes format)
শুধুমাত্র আউটপুট। আপলোড করা বাইটের SHA-256 হ্যাশ।
একটি base64-এনকোডেড স্ট্রিং।
uri
string
শুধুমাত্র আউটপুট। File
uri।
downloadUri
string
শুধুমাত্র আউটপুট। File
ডাউনলোড ইউআরআই।
state
enum ( State
)
শুধুমাত্র আউটপুট। ফাইলের প্রক্রিয়াকরণ অবস্থা।
source
enum ( Source
)
ফাইলের উৎস।
error
object ( Status
)
শুধুমাত্র আউটপুট। ফাইল প্রক্রিয়াকরণ ব্যর্থ হলে ত্রুটির অবস্থা।
metadata
Union type
metadata
নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:videoMetadata
object ( 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
মেটাডেটা।
videoDuration
string ( 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 ডিজাইন গাইডে আরও জানতে পারবেন।
code
integer
স্ট্যাটাস কোড, যা google.rpc.Code
এর একটি enum মান হওয়া উচিত।
message
string
ডেভেলপার-মুখোমুখি ত্রুটির বার্তা, যা ইংরেজিতে হওয়া উচিত। ব্যবহারকারী-মুখোমুখি যেকোনো ত্রুটির বার্তা স্থানীয়করণ করে 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: ..., ... } ] } |