Query the agent.
(
self,
question: str,
system_message: Optional[str] = None,
sub_dataset: str = "default",
query_id: Optional[str] = None,
**kwargs
)
| 396 | return response.content |
| 397 | |
| 398 | def query( |
| 399 | self, |
| 400 | question: str, |
| 401 | system_message: Optional[str] = None, |
| 402 | sub_dataset: str = "default", |
| 403 | query_id: Optional[str] = None, |
| 404 | **kwargs |
| 405 | ) -> AgentResponse: |
| 406 | """Query the agent.""" |
| 407 | # Retrieve relevant memories |
| 408 | retrieval_results = self._retrieve(question, sub_dataset) |
| 409 | |
| 410 | # Compose context |
| 411 | retrieved_context = compose_search_context( |
| 412 | edges=retrieval_results["edges"], |
| 413 | nodes=retrieval_results["nodes"], |
| 414 | context_block=retrieval_results["context_block"], |
| 415 | episodes=retrieval_results["episodes"], |
| 416 | ) |
| 417 | |
| 418 | # Call LLM to generate response |
| 419 | response_text = self._llm_response(retrieved_context, question) |
| 420 | |
| 421 | # Save retrieval results |
| 422 | if query_id is not None: |
| 423 | self._save_retrieval_context( |
| 424 | query_id=query_id, |
| 425 | context_id=self._context_id, |
| 426 | sub_dataset=sub_dataset, |
| 427 | retrieved_context=retrieved_context, |
| 428 | response=response_text, |
| 429 | ) |
| 430 | |
| 431 | return AgentResponse( |
| 432 | output=response_text, |
| 433 | query_time=0.0, |
| 434 | retrieved_count=self.retrieve_num, |
| 435 | retrieved_memories=[ |
| 436 | {"memory": retrieved_context, "type": "zep_retrieval"} |
| 437 | ], # Fix: properly set field |
| 438 | extra={ |
| 439 | "method": "zep", |
| 440 | "graph_id": self._current_graph_id, |
| 441 | "thread_id": self._current_thread_id, |
| 442 | } |
| 443 | ) |
| 444 | |
| 445 | def _save_retrieval_context( |
| 446 | self, |
nothing calls this directly
no test coverage detected