Как загрузить неструктурированные документы с метаданными в хранилище данных Google Cloud Platform с помощью Python SDK?Python

Программы на Python
Ответить
Anonymous
 Как загрузить неструктурированные документы с метаданными в хранилище данных Google Cloud Platform с помощью Python SDK?

Сообщение Anonymous »

Я пытаюсь загрузить неструктурированные данные в хранилище данных Google Cloud Platform (GCP) из сегмента хранилища GCP с помощью Python SDK. Я хочу использовать неструктурированные данные с метаданными, которые упоминаются здесь. Процесс включает в себя:
  • Создание хранилища данных GCP, которое я выполнил в соответствии с этой документацией. Я настроил все необходимые параметры доступа и установил для параметра CONFIG значение CONTENT REQUIRED.
  • Создайте сегмент облачного хранилища GCP, который содержит 4 документа PDF (на данный момент) и файл метаданных .jsonl, которые находятся в корне моего сегмента.
  • Заполнение хранилища данных запросом на импорт документов с использованием документов из сегмента облачного хранилища Google.
Код, который я пытаюсь использовать для пункта 3, приведен ниже. Я скопировал его из документации Google (второй фрагмент кода в разделе «Импорт документов»).

client_options = (
ClientOptions(api_endpoint=f"{LOCATION}-discoveryengine.googleapis.com")
if LOCATION != "global"
else None
)

# Create a client
client = discoveryengine.DocumentServiceClient(client_options=client_options)

parent = client.branch_path(
project=PROJECT_ID,
location=LOCATION,
data_store=DATA_STORE_ID,
branch="default_branch",
)

request = discoveryengine.ImportDocumentsRequest(
parent=parent,
gcs_source=discoveryengine.GcsSource(
# Multiple URIs are supported
input_uris=[GCS_URI],
# Options:
# - `content` - Unstructured documents (PDF, HTML, DOC, TXT, PPTX)
# - `custom` - Unstructured documents with custom JSONL metadata
# - `document` - Structured documents in the discoveryengine.Document format.
# - `csv` - Unstructured documents with CSV metadata
data_schema="custom",
),
id_field="id",
# Options: `FULL`, `INCREMENTAL`
reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.FULL,
)

# Make the request
operation = client.import_documents(request=request)

print(f"Waiting for operation to complete: {operation.operation.name}")
response = operation.result()
print(response)

Переменная GCS_URI — это ссылка на URI gsutil файла метаданных.jsonl (gs://meta-data-testing/metadata.jsonl), и этот файл выглядит так:
{"id": "1", "structData": {"title": "Coldsmokesubmittal", "category": "212027"}, "content": {"mimeType": "application/pdf", "uri": "gs://meta-data-testing/ColdSmokeSubmittal.pdf"}}
{"id": "2", "structData": {"title": "Defssubmittal", "category": "212027"}, "content": {"mimeType": "application/pdf", "uri": "gs://meta-data-testing/DEFSSubmittal.pdf"}}
{"id": "3", "structData": {"title": "Cmu Submittal", "category": "222039"}, "content": {"mimeType": "application/pdf", "uri": "gs://meta-data-testing/CMU_Submittal.pdf"}}
{"id": "4", "structData": {"title": "Concrete Mix Submittal", "category": "222039"}, "content": {"mimeType": "application/pdf", "uri": "gs://meta-data-testing/Concrete_Mix_Submittal.pdf"}}

Когда я запускаю свой код, я получаю такой ответ:
error_samples {
code: 3
message: "To create document without content, content config of data store must be NO_CONTENT."
details {
type_url: "type.googleapis.com/google.rpc.ResourceInfo"
value: "\022\'gs://meta-data-testing/metadata.jsonl:1"
}
}

Это повторяется еще 3 раза для каждой строки моего файла .jsonl.
Пожалуйста, если кто-нибудь пробовал добавлять неструктурированные документы с метаданными, сообщите мне, где я ошибаюсь, или метод, который вы смогли использовать для успешного выполнения этого процесса.

Попытки моего решения
Изменить хранилище данных Конфигурация
Я вижу, что мне предлагается изменить конфигурацию хранилища данных на NO_CONTENT, но когда я это делаю, в хранилище данных загружаются только метаданные, и я не могу фактически выполнить поиск в документах через приложение Vertex AI. Я думаю, что эта ошибка может быть вторичным результатом реальной проблемы.
Загрузка через GCP
Я пробовал вручную загрузить на сам GCP:
Изображение

но при попытке я получаю эту ошибку:
message: "INVALID_FORMAT gcsInputuri"
status: {
@type: "type.googleapis.com/google.rpc.Status"
code: 3
message: "The provided GCS URI has invalid unstructured data format. Please provide a valid GCS path in either NDJSON(.ndjson) or JSON Lines(.jsonl) format."
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... platform-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»