MCPcopy Create free account
hub / github.com/ScienciaLAB/document-qa / _get_context

Method _get_context

document_qa/document_qa_engine.py:465–480  ·  view source on GitHub ↗
(self, doc_id, query, context_size=4)

Source from the content-addressed store, hash-verified

463 return response, relevant_document_coordinates
464
465 def _get_context(self, doc_id, query, context_size=4) -> tuple[List[Document], list]:
466 db = self.data_storage.embeddings_dict[doc_id]
467 retriever = db.as_retriever(search_kwargs={"k": context_size})
468 relevant_documents = retriever.invoke(query)
469 relevant_document_coordinates = [
470 doc.metadata["coordinates"].split(";") if "coordinates" in doc.metadata else [] for doc in relevant_documents
471 ]
472 if self.memory and len(self.memory.buffer_as_messages) > 0:
473 relevant_documents.append(
474 Document(
475 page_content="""Following, the previous question and answers. Use these information only when in the question there are unspecified references:\n{}\n\n""".format(
476 self.memory.buffer_as_str
477 )
478 )
479 )
480 return relevant_documents, relevant_document_coordinates
481
482 def get_full_context_by_document(self, doc_id):
483 """

Callers 2

query_storageMethod · 0.95
_run_queryMethod · 0.95

Calls 1

as_retrieverMethod · 0.80

Tested by

no test coverage detected