File Search Stores

File Search API มีบริการตอบคำถามแบบโฮสต์สำหรับการสร้างระบบการสร้างแบบดึงข้อมูล (RAG) โดยใช้โครงสร้างพื้นฐานของ Google

วิธีการ: media.uploadToFileSearchStore

อัปโหลดข้อมูลไปยัง FileSearchStore ประมวลผลล่วงหน้าและแบ่งข้อมูลออกเป็นส่วนๆ ก่อนจัดเก็บไว้ในเอกสาร FileSearchStore

ปลายทาง

  • URI การอัปโหลดสำหรับคำขออัปโหลดสื่อ
post https://generativelanguage.googleapis.com/upload/v1beta/{fileSearchStoreName=fileSearchStores/*}:uploadToFileSearchStore
  • URI ของข้อมูลเมตาสำหรับคำขอข้อมูลเมตาเท่านั้น:
post 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 (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

เมธอด: fileSearchStores.create

สร้าง FileSearchStore ที่ว่างเปล่า

ปลายทาง

post https://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 ที่เฉพาะเจาะจง

ปลายทาง

get https://generativelanguage.googleapis.com/v1beta/{name=fileSearchStores/*}

พารามิเตอร์เส้นทาง

name string

ต้องระบุ ชื่อของFileSearchStore ตัวอย่าง: fileSearchStores/my-file-search-store-123 ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}

เนื้อความของคำขอ

เนื้อหาของคำขอต้องว่างเปล่า

เนื้อหาการตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ FileSearchStore

เมธอด: fileSearchStores.list

แสดงรายการ FileSearchStores ทั้งหมดที่ผู้ใช้เป็นเจ้าของ

ปลายทาง

get https://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 (FileSearchStore)
    }
  ],
  "nextPageToken": string
}

วิธีการ: fileSearchStores.importFile

นำเข้า File จากบริการไฟล์ไปยัง FileSearchStore

ปลายทาง

post https://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 (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

เมธอด: fileSearchStores.operations.get

รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ

ปลายทาง

get https://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 (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

เมธอด: fileSearchStores.upload.operations.get

รับสถานะล่าสุดของการดำเนินการที่ใช้เวลานาน ไคลเอ็นต์สามารถใช้วิธีนี้เพื่อสำรวจผลการดำเนินการเป็นระยะๆ ตามที่บริการ API แนะนำ

ปลายทาง

get https://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
}