Я пытаюсь получить масштабные векторные вложения для документов.
from langchain_community.embeddings import BedrockEmbeddings пакет.embeddings = BedrockEmbeddings( credentials_profile_name = "default", region_name = "us-east-1", model_id = "amazon.titan-embed-text-v2:0" ) для встраивания документовbatch) с помощью embeddings.embed_documents(batch). Это работает.botocore.errorfactory.ModelTimeoutException: An error occurred (ModelTimeoutException) when calling the InvokeModel operation: Model has timed out in processing the request. Try your request again.
File "...\site-packages\langchain_community\embeddings\bedrock.py", line 150, in _embedding_func raise ValueError(f"Error raised by inference endpoint: {e}") ValueError: Error raised by inference endpoint: An error occurred (ModelTimeoutException) when calling the InvokeModel operation: Model has timed out in processing the request. Try your request again.
Есть ли у кого-нибудь подсказки или знает, предоставляет ли BedrockEmbeddings какую-либо функцию, которая пытается повторить попытку из-за ошибки timed out?






Сначала определите свой клиент boto3
from boto3 import client
from botocore.config import Config
config = Config(read_timeout=1000)
client = boto3.client(service_name='bedrock-runtime',
region_name='us-east-1',
config=config)
По умолчанию read_timeout — 60, мы можем увеличить это значение.
Теперь определите свой BedrockEmbeddings и передайте клиенту
from langchain_community.embeddings import BedrockEmbeddings
embeddings = BedrockEmbeddings(
client=client, credentials_profile_name = "bedrock-admin", region_name = "us-east-1"
)
Понял! Видимо, функции встраивания не любят длинных пробелов, новых строк (\n) в тексте. Итак, если они присутствуют в ваших документах, они негативно повлияют на встраивание или просто остановятся.
Я убрал пробелы в тексте, и всё заработало!
Кстати, именно VS Code разделил предложения, чтобы облегчить чтение и программирование, когда я готовил текст. Вот так в моих сообщениях появились \n.
Библиотека Boto3, используемая для взаимодействия с Bedrock, допускает параметр timeout . Почему бы не попробовать передать такого клиента BedrockEmbeddings