generative_ai.information_retrieval.step_3_retrieval module#

Define functionalities to debug large language model generation process.

class CaptureDetailsCallback#

Bases: BaseCallbackHandler

Capture details of question answering pipeline.

effective_prompt#

exact prompt passed to large language model after successful retrieval

Type:

str | None

effective_duration#

time taken (in seconds) for large language model to generate response

Type:

float | None

on_llm_start(serialized: dict, prompts: list[str], *, run_id: uuid.UUID, parent_run_id: uuid.UUID | None = None, tags: list[str] | None = None, metadata: dict | None = None, **kwargs: Any) None#

Run when large language model starts generating response.

Notes

  • This method only uses prompts argument, and rest are ignored.

  • This modifies self.effective_prompt and self.effective_duration attributes.

    • self.effective_prompt is set to the first element of prompts.

    • self.effective_duration is set to the current time.

on_llm_end(response: LLMResult, *, run_id: uuid.UUID, parent_run_id: uuid.UUID | None = None, **kwargs: Any) None#

Run when large language model finishes generating response.

Notes

  • This method ignores all of its arguments.

  • This modifies self.effective_duration attribute.

    • It is updated to the difference between current time and the stored value.