Когда я выполняю поиск по своему индексу, мне нужно восстановить не только соответствующую информацию, но и информацию, в которой страница, где эта информация хранится. В 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)
Кто-нибудь знает, как это решить? Есть ли другой способ разделить PDF-файлы в Sharepoint по фактическим страницам и получить номер страницы?
Заранее всем спасибо.
Подробнее здесь: https://stackoverflow.com/questions/790 ... age-number
Мобильная версия