|
|
@ -1,3 +1,4 @@
|
|
|
|
|
|
|
|
import asyncio
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from inspect import signature
|
|
|
|
from inspect import signature
|
|
|
|
from typing import List, Optional, Sequence, Union
|
|
|
|
from typing import List, Optional, Sequence, Union
|
|
|
@ -19,7 +20,6 @@ class BaseDocumentCompressor(BaseModel, ABC):
|
|
|
|
) -> Sequence[Document]:
|
|
|
|
) -> Sequence[Document]:
|
|
|
|
"""Compress retrieved documents given the query context."""
|
|
|
|
"""Compress retrieved documents given the query context."""
|
|
|
|
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
|
|
|
|
async def acompress_documents(
|
|
|
|
async def acompress_documents(
|
|
|
|
self,
|
|
|
|
self,
|
|
|
|
documents: Sequence[Document],
|
|
|
|
documents: Sequence[Document],
|
|
|
@ -27,6 +27,9 @@ class BaseDocumentCompressor(BaseModel, ABC):
|
|
|
|
callbacks: Optional[Callbacks] = None,
|
|
|
|
callbacks: Optional[Callbacks] = None,
|
|
|
|
) -> Sequence[Document]:
|
|
|
|
) -> Sequence[Document]:
|
|
|
|
"""Compress retrieved documents given the query context."""
|
|
|
|
"""Compress retrieved documents given the query context."""
|
|
|
|
|
|
|
|
return await asyncio.get_running_loop().run_in_executor(
|
|
|
|
|
|
|
|
None, self.compress_documents, documents, query, callbacks
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DocumentCompressorPipeline(BaseDocumentCompressor):
|
|
|
|
class DocumentCompressorPipeline(BaseDocumentCompressor):
|
|
|
|