Azure AI Search разбивает PDF-файл по страницам и получает номер страницы.Python

Программы на Python
Ответить
Anonymous
 Azure AI Search разбивает PDF-файл по страницам и получает номер страницы.

Сообщение Anonymous »

На самом деле я работаю над проектом, в котором у меня есть Sharepoint, в котором хранится множество PDF-файлов. Мне нужно сохранить эти файлы в Azure AI Search для выполнения семантического поиска.
Когда я выполняю поиск по своему индексу, мне нужно восстановить не только соответствующую информацию, но и информацию, в которой страница, где эта информация хранится. В Azure AI Search SplitSkill говорится, что он может разбивать документы по страницам, но на самом деле он разбивает их на куски, и я не могу получить оттуда номер страницы.
Поэтому я создал простой Пользовательский навык, который получает двоичный PDF-файл, разбивает его по страницам с помощью PyMuPDF и помещает в функцию Azure, чтобы я мог создать WebApiSkill для разделения PDF-файла на страницы и получения содержимого страницы (чтобы позже разбить его на части и внедрить) и номер страницы.
Код разделения прост:

Код: Выделить всё

import fitz
import json

def split_pdf_by_pages(pdf_bytes):
pdf_document = fitz.open(stream=pdf_bytes, filetype="pdf")
pages = []

for page_num in range(len(pdf_document)):
page = pdf_document.load_page(page_num)
text = page.get_text("text")
pages.append({
"page_number": page_num + 1,
"content": text
})

return json.dumps(pages)
Я до сих пор не могу решить эту проблему, поскольку кажется, что когда я читаю информацию из Sharepoint, объекты, которые достигают моего CustomSkill, не являются двоичными файлами, поэтому мой код завершается с ошибкой.
Кто-нибудь знает, как это решить? Есть ли другой способ разделить PDF-файлы в Sharepoint по фактическим страницам и получить номер страницы?
Заранее всем спасибо.

Подробнее здесь: https://stackoverflow.com/questions/790 ... age-number
Ответить

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

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

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

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

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