Source code for gptcache.processor.context.concat_context

from typing import Any, Dict

from gptcache.processor import ContextProcess


[docs]class ConcatContextProcess(ContextProcess): """A concat context processor simply concat the context. Generally used with rwkv embedding, because rwkv can input almost infinitely long Example: .. code-block:: python from gptcache.manager import manager_factory from gptcache.processor.context.concat_context import ConcatContextProcess context_process = ConcatContextProcess() rwkv_embedding = Rwkv() data_manager = manager_factory( "sqlite,faiss", vector_params={"dimension": rwkv_embedding.dimension}, ) cache.init( pre_embedding_func=context_process.pre_process, embedding_func=rwkv_embedding.to_embeddings, data_manager=data_manager, ) """ content: str = "" def __init__( self ): self.content = "" self.concat_content = ""
[docs] def format_all_content(self, data: Dict[str, Any], **params: Dict[str, Any]): for query in data["messages"]: self.content += f"{query['role']}: {query['content']} \n" self.concat_content += query["content"]
[docs] def process_all_content(self) -> (Any, Any): return self.content, self.concat_content