For some reason on a second message, this code breaks
if not content_s3_keys:
raise ValueError("s3_keys_to_summarize is empty")
temp_file_dir = "/tmp/llama-indexer/s3-files"
# TODO extension
# TODO async
file_paths = [
download_file_from_s3(
bucket_name="usable-dev",
key=key,
target_dir=temp_file_dir,
extension="",
)
for key in content_s3_keys
]
reader = SimpleDirectoryReader(input_files=file_paths)
documents = reader.load_data()
service_context = get_service_context(model=model)
summary_index = SummaryIndex.from_documents(
documents, service_context=service_context
)
agent_or_engine = CondensePlusContextChatEngine.from_defaults(
retriever=summary_index.as_retriever(),
service_context=get_service_context(model=model),
chat_history=history,
memory=ChatMemoryBuffer.from_defaults( # pyright: ignore
chat_history=history, token_limit=128000
),
)
We get the error
unable to perform operation on <TCPTransport closed=True reading=False 0x2c69a4600>; the handler is closed
If we stop the server in between the first and second request we get
<asyncio.locks.Event object at 0x2b9d146d0 [unset]> is bound to a different event loop
And after restarting the server it works