Documents

File Search API จะอ้างอิงไฟล์ต้นฉบับหรือเอกสารดิบเป็นออบเจ็กต์ File ชั่วคราว

เมธอด: fileSearchStores.documents.delete

ลบ Document

ปลายทาง

ลบ https://generativelanguage.googleapis.com/v1beta/{name=fileSearchStores/*/documents/*}

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

name string

ต้องระบุ ชื่อทรัพยากรของ Document ที่จะลบ ตัวอย่าง: fileSearchStores/my-file-search-store-123/documents/the-doc-abc ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}/documents/{document}

พารามิเตอร์การค้นหา

force boolean

ไม่บังคับ หากตั้งค่าเป็น "จริง" ระบบจะลบ Chunk และออบเจ็กต์ที่เกี่ยวข้องกับ Document นี้ด้วย

หากเป็นเท็จ (ค่าเริ่มต้น) ระบบจะแสดงข้อผิดพลาด FAILED_PRECONDITION หาก Document มี Chunk

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

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

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

หากทำสำเร็จ เนื้อหาการตอบกลับจะเป็นออบเจ็กต์ JSON ว่าง

เมธอด: fileSearchStores.documents.get

รับข้อมูลเกี่ยวกับ Document ที่เฉพาะเจาะจง

ปลายทาง

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

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

name string

ต้องระบุ ชื่อของ Document ที่จะดึงข้อมูล ตัวอย่าง: fileSearchStores/my-file-search-store-123/documents/the-doc-abc ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}/documents/{document}

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

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

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

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

เมธอด: fileSearchStores.documents.list

แสดง Document ทั้งหมดใน Corpus

ปลายทาง

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

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

parent string

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

พารามิเตอร์การค้นหา

pageSize integer

ไม่บังคับ จำนวนสูงสุดของ Document ที่จะแสดง (ต่อหน้า) บริการอาจแสดง Document น้อยลง

หากไม่ระบุ ระบบจะแสดงผล Document อย่างน้อย 10 รายการ ขนาดสูงสุดคือ 20 Document ต่อหน้า

pageToken string

ไม่บังคับ โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ documents.list ก่อนหน้า

ระบุ nextPageToken ที่แสดงในการตอบกลับเป็นอาร์กิวเมนต์ในคำขอถัดไปเพื่อดึงข้อมูลหน้าถัดไป

เมื่อแบ่งหน้า พารามิเตอร์อื่นๆ ทั้งหมดที่ระบุให้กับ documents.list ต้องตรงกับการเรียกที่ระบุโทเค็นหน้าเว็บ

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

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

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

การตอบกลับจาก documents.list ที่มีรายการ Document แบบแบ่งหน้า Document จะจัดเรียงตาม document.create_time จากน้อยไปมาก

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
documents[] object (Document)

Document ที่ส่งคืน

nextPageToken string

โทเค็นที่ส่งเป็น pageToken เพื่อเรียกข้อมูลหน้าถัดไปได้ หากไม่ระบุฟิลด์นี้ แสดงว่าไม่มีหน้าอื่นอีก

การแสดง JSON
{
  "documents": [
    {
      object (Document)
    }
  ],
  "nextPageToken": string
}

เมธอด: fileSearchStores.documents.query

ทำการค้นหาเชิงความหมายใน Document

ปลายทาง

post https://generativelanguage.googleapis.com/v1beta/{name=fileSearchStores/*/documents/*}:query

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

name string

ต้องระบุ ชื่อของ Document ที่จะค้นหา ตัวอย่าง: fileSearchStores/my-file-search-store-123/documents/the-doc-abc ซึ่งจะอยู่ในรูปแบบ fileSearchStores/{filesearchstore}/documents/{document}

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

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
query string

ต้องระบุ สตริงการค้นหาเพื่อทำการค้นหาเชิงความหมาย

resultsCount integer

ไม่บังคับ จำนวน Chunk สูงสุดที่จะแสดง บริการอาจแสดง Chunk น้อยลง

หากไม่ระบุ ระบบจะแสดงผล Chunk อย่างน้อย 10 รายการ จำนวนผลลัพธ์สูงสุดที่ระบุคือ 100

metadataFilters[] object (MetadataFilter)

ไม่บังคับ กรองหาChunkข้อมูลเมตา ออบเจ็กต์ MetadataFilter แต่ละรายการควรสอดคล้องกับคีย์ที่ไม่ซ้ำกัน ระบบจะรวมออบเจ็กต์ MetadataFilter หลายรายการด้วยตรรกะ "AND"

หมายเหตุ: คำขอนี้ไม่รองรับการกรองระดับ Document เนื่องจากมีการระบุชื่อ Document ไว้แล้ว

ตัวอย่างคำค้นหา: (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action)

MetadataFilter object list: metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, operation = GREATER_EQUAL}, {int_value = 2010, operation = LESS}}, {key = "chunk.custom_metadata.genre" conditions = [{stringValue = "drama", operation = EQUAL}, {stringValue = "action", operation = EQUAL}}]

ตัวอย่างการค้นหาช่วงค่าตัวเลข: (year > 2015 AND year <= 2020)

MetadataFilter object list: metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2015, operation = GREATER}]}, {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, operation = LESS_EQUAL}]}]

หมายเหตุ: ระบบรองรับ "AND" สำหรับคีย์เดียวกันเฉพาะค่าตัวเลขเท่านั้น ค่าสตริงรองรับเฉพาะ "OR" สำหรับคีย์เดียวกัน

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

คำตอบจาก documents.query ที่มีรายการก้อนข้อมูลที่เกี่ยวข้อง

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ฟิลด์
relevantChunks[] object (RelevantChunk)

ก้อนข้อมูลที่เกี่ยวข้องซึ่งระบบแสดงผล

การแสดง JSON
{
  "relevantChunks": [
    {
      object (RelevantChunk)
    }
  ]
}

ทรัพยากร REST: fileSearchStores.documents

แหล่งข้อมูล: เอกสาร

Document คือคอลเล็กชันของ Chunk

ฟิลด์
name string

เปลี่ยนแปลงไม่ได้ ตัวระบุ Documentชื่อทรัพยากร รหัส (ชื่อไม่รวมคำนำหน้า "fileSearchStores/*/documents/") มีอักขระที่เป็นตัวอักษรพิมพ์เล็กและตัวเลขคละกันหรือขีดกลาง (-) ได้สูงสุด 40 ตัว โดยรหัสต้องไม่ขึ้นต้นหรือลงท้ายด้วยขีดกลาง หากไม่ได้ระบุชื่อเมื่อสร้าง ระบบจะสร้างชื่อที่ไม่ซ้ำกันจาก displayName พร้อมด้วยคำต่อท้ายแบบสุ่ม 12 อักขระ ตัวอย่าง: fileSearchStores/{file_search_store_id}/documents/my-awesome-doc-123a456b789c

displayName string

ไม่บังคับ ชื่อที่แสดงที่มนุษย์อ่านได้สำหรับ Document ชื่อที่แสดงต้องมีความยาวไม่เกิน 512 อักขระ รวมถึงช่องว่าง ตัวอย่าง: "เอกสารประกอบของ Semantic Retriever"

customMetadata[] object (CustomMetadata)

ไม่บังคับ ข้อมูลเมตาที่กำหนดเองซึ่งได้จากผู้ใช้จะจัดเก็บเป็นคู่คีย์-ค่าที่ใช้สำหรับการค้นหา Document มี CustomMetadata ได้สูงสุด 20 รายการ

updateTime string (Timestamp format)

เอาต์พุตเท่านั้น การประทับเวลาเมื่อมีการอัปเดต Document ครั้งล่าสุด

ใช้ 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"

createTime string (Timestamp format)

เอาต์พุตเท่านั้น การประทับเวลาของเวลาที่สร้าง Document

ใช้ 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"

state enum (State)

เอาต์พุตเท่านั้น สถานะปัจจุบันของ Document

sizeBytes string (int64 format)

เอาต์พุตเท่านั้น ขนาดของไบต์ดิบที่ส่งไปยังเอกสาร

mimeType string

เอาต์พุตเท่านั้น ประเภท MIME ของเอกสาร

การแสดง JSON
{
  "name": string,
  "displayName": string,
  "customMetadata": [
    {
      object (CustomMetadata)
    }
  ],
  "updateTime": string,
  "createTime": string,
  "state": enum (State),
  "sizeBytes": string,
  "mimeType": string
}

รัฐ

สถานะสำหรับวงจรของ Document

Enum
STATE_UNSPECIFIED ค่าเริ่มต้น ระบบจะใช้ค่านี้หากไม่มีการระบุรัฐ
STATE_PENDING ระบบกำลังประมวลผลChunksบางส่วนของDocument (การฝังและการจัดเก็บเวกเตอร์)
STATE_ACTIVE Chunks ทั้งหมดของ Document จะได้รับการประมวลผลและพร้อมให้ค้นหา
STATE_FAILED Chunks บางรายการของ Document ประมวลผลไม่สำเร็จ