Настройка:
- Извлечение текста из PDF-файла с помощью PyPDFium2Loader с настройками фрагмента (chunk_size=10000, chunk_overlap=1000).
- Инициализируйте чат-бота, используя model='text-embedding-ada-002 ' и взаимодействовать через интерфейс Streamlit.
- При использовании PyPDFium2Loader количество векторов составляет 276, и чат-бот работает правильно.
- При переключении на AzureAIDocumentIntelligenceLoader (режим = одиночный) количество векторов падает до 114, и я постоянно получаю ошибку 429 (слишком много запросов) при тестировании с одним сообщением типа " привет".
- API Azure Document Intelligence имеет ограничение скорости 10 транзакций в секунду (tps).
- Я реализовал логику повтора с экспоненциальной отсрочкой и ограничением скорости в Python.
- Почему AzureAIDocumentIntelligenceLoader показывает меньшее количество векторов по сравнению с PyPDFium2Loader?
- Может ли метод AzureAIDocumentIntelligenceLoader, обрабатывающий документ, способствовать возникновению ошибок 429?
- Как эффективно управлять ошибками ограничения скорости при использовании API Azure с встраиванием GPT-4 и документами большого размера?
def extract_embeddings_upload_index(pdf_path, index_name):
print(f"Loading PDF from path: {pdf_path}")
# Load PDF documents
txt_docs = AzureAIDocumentIntelligenceLoader( api_key,file_path=pdf_path,api_endpoint,api_model="prebuilt-layout",mode="single").load()
#total_pages=txt_docs
#print(f'{total_pages}')
#txt_docs = PyPDFium2Loader(pdf_path).load()
# Split documents
print("Splitting documents...")
splt_docs = RecursiveCharacterTextSplitter(chunk_size=10000, chunk_overlap=1000)
docs = splt_docs.split_documents(txt_docs)
print(f"Split into {len(docs)} chunks")
# Initialize OpenAI embeddings
print("Initializing OpenAI embeddings...")
embeddings = OpenAIEmbeddings(model='text-embedding-ada-002')
# Upload documents to Pinecone index
print("Initializing Pinecone Vector Store...")
dbx = PineconeVectorStore.from_documents(documents=docs, index_name=index_name, embedding=embeddings)
print(f"Uploaded {len(docs)} documents to Pinecone index '{index_name}'")
Подробнее здесь: https://stackoverflow.com/questions/787 ... th-differe