File Search API มีบริการตอบคำถามแบบโฮสต์สำหรับการสร้างระบบการสร้างแบบดึงข้อมูล (RAG) โดยใช้โครงสร้างพื้นฐานของ Google
วิธีการ: media.uploadToFileSearchStore
อัปโหลดข้อมูลไปยัง FileSearchStore ประมวลผลล่วงหน้าและแบ่งข้อมูลออกเป็นส่วนๆ ก่อนจัดเก็บไว้ในเอกสาร FileSearchStore
ปลายทาง
- URI การอัปโหลดสำหรับคำขออัปโหลดสื่อ
https: / /generativelanguage.googleapis.com /upload /v1beta /{fileSearchStoreName=fileSearchStores /*}:uploadToFileSearchStore
- URI ของข้อมูลเมตาสำหรับคำขอข้อมูลเมตาเท่านั้น:
https: / /generativelanguage.googleapis.com /v1beta /{fileSearchStoreName=fileSearchStores /*}:uploadToFileSearchStore
พารามิเตอร์เส้นทาง
fileSearchStoreName
string
ต้องระบุ เปลี่ยนแปลงไม่ได้ ชื่อของ FileSearchStore ที่จะอัปโหลดไฟล์ ตัวอย่าง: fileSearchStores/my-file-search-store-123 ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
displayName
string
ไม่บังคับ ชื่อที่แสดงของเอกสารที่สร้างขึ้น
customMetadata[]
object (CustomMetadata)
ข้อมูลเมตาที่กำหนดเองที่จะเชื่อมโยงกับข้อมูล
chunkingConfig
object (ChunkingConfig)
ไม่บังคับ การกำหนดค่าสำหรับบอกบริการวิธีแบ่งข้อมูลออกเป็นกลุ่ม หากไม่ได้ระบุ บริการจะใช้พารามิเตอร์เริ่มต้น
mimeType
string
ไม่บังคับ ประเภท MIME ของข้อมูล หากไม่ได้ระบุ ระบบจะอนุมานจากเนื้อหาที่อัปโหลด
เนื้อหาการตอบกลับ
นี่คือสำเนาของ google.longrunning.Operation เราต้องคัดลอกเนื่องจากในการโต้ตอบกับ Scotty เราต้องเพิ่มฟิลด์เฉพาะของ Scotty ซึ่งเพิ่มใน Operation Proto ระดับบนสุดไม่ได้
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
name
string
ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะไม่ซ้ำกันภายในบริการเดียวกันที่แสดงผลชื่อนั้นในตอนแรกเท่านั้น หากใช้การแมป HTTP เริ่มต้น name ควรเป็นชื่อทรัพยากรที่ลงท้ายด้วย operations/{unique_id}
metadata
object
ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วไฟล์นี้จะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาที่สร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี)
ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
หากค่าเป็น 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 ( |
เมธอด: fileSearchStores.create
สร้าง FileSearchStore ที่ว่างเปล่า
ปลายทาง
posthttps: / /generativelanguage.googleapis.com /v1beta /fileSearchStores
เนื้อความของคำขอ
เนื้อความของคำขอมีอินสแตนซ์ของ FileSearchStore
displayName
string
ไม่บังคับ ชื่อที่แสดงที่มนุษย์อ่านได้สำหรับ FileSearchStore ชื่อที่แสดงต้องมีความยาวไม่เกิน 512 อักขระ รวมถึงช่องว่าง ตัวอย่าง: "เอกสารเกี่ยวกับ Semantic Retriever"
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ FileSearchStore ที่สร้างขึ้นใหม่
วิธีการ: fileSearchStores.delete
ลบ FileSearchStore
ปลายทาง
ลบhttps: / /generativelanguage.googleapis.com /v1beta /{name=fileSearchStores /*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อทรัพยากรของ FileSearchStore ตัวอย่าง: fileSearchStores/my-file-search-store-123 ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}
พารามิเตอร์การค้นหา
force
boolean
ไม่บังคับ หากตั้งค่าเป็น "จริง" ระบบจะลบ Document และออบเจ็กต์ที่เกี่ยวข้องกับ FileSearchStore นี้ด้วย
หากเป็นเท็จ (ค่าเริ่มต้น) ระบบจะแสดงข้อผิดพลาด FAILED_PRECONDITION หาก FileSearchStore มี Document
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะเป็นออบเจ็กต์ JSON ว่าง
เมธอด: fileSearchStores.get
รับข้อมูลเกี่ยวกับ FileSearchStore ที่เฉพาะเจาะจง
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=fileSearchStores /*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อของFileSearchStore ตัวอย่าง: fileSearchStores/my-file-search-store-123 ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ FileSearchStore
เมธอด: fileSearchStores.list
แสดงรายการ FileSearchStores ทั้งหมดที่ผู้ใช้เป็นเจ้าของ
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /fileSearchStores
พารามิเตอร์การค้นหา
pageSize
integer
ไม่บังคับ จำนวนสูงสุดของ FileSearchStores ที่จะแสดง (ต่อหน้า) บริการอาจแสดง FileSearchStores น้อยลง
หากไม่ระบุ ระบบจะแสดงผล FileSearchStores อย่างน้อย 10 รายการ ขนาดสูงสุดคือ 20 FileSearchStores ต่อหน้า
pageToken
string
ไม่บังคับ โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ fileSearchStores.list ก่อนหน้า
ระบุ nextPageToken ที่แสดงในการตอบกลับเป็นอาร์กิวเมนต์ในคำขอถัดไปเพื่อดึงข้อมูลหน้าถัดไป
เมื่อแบ่งหน้า พารามิเตอร์อื่นๆ ทั้งหมดที่ระบุให้กับ fileSearchStores.list ต้องตรงกับการเรียกที่ระบุโทเค็นหน้าเว็บ
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
การตอบกลับจาก fileSearchStores.list ที่มีรายการ FileSearchStores แบบแบ่งหน้า ผลลัพธ์จะจัดเรียงตาม fileSearchStore.create_time จากน้อยไปมาก
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
fileSearchStores[]
object (FileSearchStore)
ragStores ที่แสดงผล
nextPageToken
string
โทเค็นที่ส่งเป็น pageToken เพื่อเรียกข้อมูลหน้าถัดไปได้ หากไม่ระบุฟิลด์นี้ แสดงว่าไม่มีหน้าอื่นอีก
| การแสดง JSON |
|---|
{
"fileSearchStores": [
{
object ( |
วิธีการ: fileSearchStores.importFile
นำเข้า File จากบริการไฟล์ไปยัง FileSearchStore
ปลายทาง
posthttps: / /generativelanguage.googleapis.com /v1beta /{fileSearchStoreName=fileSearchStores /*}:importFile
พารามิเตอร์เส้นทาง
fileSearchStoreName
string
ต้องระบุ เปลี่ยนแปลงไม่ได้ ชื่อของ FileSearchStore ที่จะนำเข้าไฟล์ ตัวอย่าง: fileSearchStores/my-file-search-store-123 ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
fileName
string
ต้องระบุ ชื่อของ File ที่จะนำเข้า ตัวอย่าง: files/abc-123
customMetadata[]
object (CustomMetadata)
ข้อมูลเมตาที่กำหนดเองที่จะเชื่อมโยงกับไฟล์
chunkingConfig
object (ChunkingConfig)
ไม่บังคับ การกำหนดค่าสำหรับบอกบริการวิธีแบ่งไฟล์ออกเป็นหลายๆ ส่วน หากไม่ได้ระบุ บริการจะใช้พารามิเตอร์เริ่มต้น
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
ทรัพยากร REST: fileSearchStores.operations
ทรัพยากร: การดำเนินการ
ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลลัพธ์ของการเรียก API เครือข่าย
name
string
ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะไม่ซ้ำกันภายในบริการเดียวกันที่แสดงผลชื่อนั้นในตอนแรกเท่านั้น หากใช้การแมป HTTP เริ่มต้น name ควรเป็นชื่อทรัพยากรที่ลงท้ายด้วย operations/{unique_id}
metadata
object
ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วไฟล์นี้จะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาที่สร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี)
ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
หากค่าเป็น 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 ( |
เมธอด: fileSearchStores.operations.get
รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=fileSearchStores /* /operations /*}
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรการดำเนินการ ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}/operations/{operation}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
ทรัพยากร REST: fileSearchStores.upload.operations
ทรัพยากร: การดำเนินการ
ทรัพยากรนี้แสดงการดำเนินการที่ใช้เวลานานซึ่งเป็นผลลัพธ์ของการเรียก API เครือข่าย
name
string
ชื่อที่เซิร์ฟเวอร์กำหนด ซึ่งจะไม่ซ้ำกันภายในบริการเดียวกันที่แสดงผลชื่อนั้นในตอนแรกเท่านั้น หากใช้การแมป HTTP เริ่มต้น name ควรเป็นชื่อทรัพยากรที่ลงท้ายด้วย operations/{unique_id}
metadata
object
ข้อมูลเมตาเฉพาะบริการที่เชื่อมโยงกับการดำเนินการ โดยปกติแล้วไฟล์นี้จะมีข้อมูลความคืบหน้าและข้อมูลเมตาทั่วไป เช่น เวลาที่สร้าง บริการบางอย่างอาจไม่มีข้อมูลเมตาดังกล่าว เมธอดที่แสดงผลการดำเนินการที่ใช้เวลานานควรบันทึกประเภทข้อมูลเมตา (หากมี)
ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
หากค่าเป็น 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 ( |
เมธอด: fileSearchStores.upload.operations.get
รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ
ปลายทาง
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=fileSearchStores /* /upload /operations /*}
พารามิเตอร์เส้นทาง
name
string
ชื่อของทรัพยากรการดำเนินการ ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}/upload/operations/{operation}
เนื้อความของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
ทรัพยากร REST: fileSearchStores
แหล่งข้อมูล: FileSearchStore
FileSearchStore คือคอลเล็กชันของ Document
name
string
เอาต์พุตเท่านั้น เปลี่ยนแปลงไม่ได้ ตัวระบุ FileSearchStoreชื่อทรัพยากร เป็นรหัส (ชื่อไม่รวมคำนำหน้า "fileSearchStores/") ที่มีความยาวได้สูงสุด 40 อักขระ ซึ่งเป็นตัวอักษรและตัวเลขคละกันแบบตัวพิมพ์เล็กหรือขีดกลาง (-) โดยเป็นเอาต์พุตเท่านั้น ชื่อที่ไม่ซ้ำจะมาจาก displayName พร้อมด้วยคำต่อท้ายแบบสุ่ม 12 อักขระ ตัวอย่าง: fileSearchStores/my-awesome-file-search-store-123a456b789c หากไม่ได้ระบุ displayName ระบบจะสร้างชื่อแบบสุ่ม
displayName
string
ไม่บังคับ ชื่อที่แสดงที่มนุษย์อ่านได้สำหรับ FileSearchStore ชื่อที่แสดงต้องมีความยาวไม่เกิน 512 อักขระ รวมถึงช่องว่าง ตัวอย่าง: "เอกสารเกี่ยวกับ Semantic Retriever"
createTime
string (Timestamp format)
เอาต์พุตเท่านั้น การประทับเวลาของเวลาที่สร้าง FileSearchStore
ใช้ 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)
เอาต์พุตเท่านั้น การประทับเวลาเมื่อมีการอัปเดต FileSearchStore ครั้งล่าสุด
ใช้ 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"
activeDocumentsCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนเอกสารใน FileSearchStore ที่ใช้งานอยู่และพร้อมสำหรับการดึงข้อมูล
pendingDocumentsCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนเอกสารใน FileSearchStore ที่กำลังประมวลผล
failedDocumentsCount
string (int64 format)
เอาต์พุตเท่านั้น จำนวนเอกสารใน FileSearchStore ที่ประมวลผลไม่สำเร็จ
sizeBytes
string (int64 format)
เอาต์พุตเท่านั้น ขนาดของไบต์ดิบที่ส่งไปยัง FileSearchStore นี่คือขนาดรวมของเอกสารทั้งหมดใน FileSearchStore
| การแสดง JSON |
|---|
{ "name": string, "displayName": string, "createTime": string, "updateTime": string, "activeDocumentsCount": string, "pendingDocumentsCount": string, "failedDocumentsCount": string, "sizeBytes": string } |