rag_engine
Adapted from the Griptape AI Framework documentation.
Source Code in griptape/engines/rag/rag_engine.py
@define(kw_only=True) class RagEngine: query_stage: Optional[QueryRagStage] = field(default=None) retrieval_stage: Optional[RetrievalRagStage] = field(default=None) response_stage: Optional[ResponseRagStage] = field(default=None) def __attrs_post_init__(self) -> None: modules = [] if self.query_stage is not None: modules.extend(self.query_stage.modules) if self.retrieval_stage is not None: modules.extend(self.retrieval_stage.modules) if self.response_stage is not None: modules.extend(self.response_stage.modules) module_names = [m.name for m in modules] if len(module_names) > len(set(module_names)): raise ValueError("module names have to be unique") def process_query(self, query: str) -> RagContext: return self.process(RagContext(query=query)) def process(self, context: RagContext) -> RagContext: if self.query_stage: context = self.query_stage.run(context) if self.retrieval_stage: context = self.retrieval_stage.run(context) if self.response_stage: context = self.response_stage.run(context) return context
query_stage = field(default=None)
class-attribute instance-attributeresponse_stage = field(default=None)
class-attribute instance-attributeretrieval_stage = field(default=None)
class-attribute instance-attribute
attrs_post_init()
Source Code in griptape/engines/rag/rag_engine.py
def __attrs_post_init__(self) -> None: modules = [] if self.query_stage is not None: modules.extend(self.query_stage.modules) if self.retrieval_stage is not None: modules.extend(self.retrieval_stage.modules) if self.response_stage is not None: modules.extend(self.response_stage.modules) module_names = [m.name for m in modules] if len(module_names) > len(set(module_names)): raise ValueError("module names have to be unique")
process(context)
Source Code in griptape/engines/rag/rag_engine.py
def process(self, context: RagContext) -> RagContext: if self.query_stage: context = self.query_stage.run(context) if self.retrieval_stage: context = self.retrieval_stage.run(context) if self.response_stage: context = self.response_stage.run(context) return context
process_query(query)
Source Code in griptape/engines/rag/rag_engine.py
def process_query(self, query: str) -> RagContext: return self.process(RagContext(query=query))
Could this page be better? Report a problem or suggest an addition!