fastrag.ingestion.steps.fetching.renderers#
Pluggable raw-content renderers, owned by the fetching stage.
Functions
|
Return visible text (truncated to |
Classes
|
Reveal dynamic content using an OpenAI-compatible chat model. |
|
Reveal dynamic content using typed Decisions/System One model choices. |
Keep the HTTP response unchanged; perform no browser work. |
|
|
Execute JavaScript and hydrate HTML without model-driven interaction. |
|
Turn an HTTP response into raw content before hashing and caching. |
- class fastrag.ingestion.steps.fetching.renderers.Renderer[source]#
Bases:
ABCTurn an HTTP response into raw content before hashing and caching.
- abstractmethod async render(page)[source]#
Return raw rendered content with response provenance preserved.
- Parameters:
page (FetchedPage)
- Return type:
- class fastrag.ingestion.steps.fetching.renderers.HttpRenderer[source]#
Bases:
RendererKeep the HTTP response unchanged; perform no browser work.
- async render(page)[source]#
Return the response unchanged.
- Parameters:
page (FetchedPage)
- Return type:
- async aclose()#
Release any long-lived resources. Idempotent; a no-op by default.
- Return type:
None
- class fastrag.ingestion.steps.fetching.renderers.PlaywrightRenderer(*, timeout=30, wait_selector=None, browser=None, wait_until='networkidle')[source]#
Bases:
RendererExecute JavaScript and hydrate HTML without model-driven interaction.
- Parameters:
- async render(page)[source]#
Hydrate HTML; leave non-HTML responses untouched.
- Parameters:
page (FetchedPage)
- Return type:
- async aclose()#
Release any long-lived resources. Idempotent; a no-op by default.
- Return type:
None
- fastrag.ingestion.steps.fetching.renderers.summarize_html(content, limit)[source]#
Return visible text (truncated to
limit) plus control counts.
- class fastrag.ingestion.steps.fetching.renderers.ChatRenderer(*, model, api_key, base_url, goal='Extract all useful page content for a searchable knowledge base.', max_steps=32, max_snapshot_chars=24000, timeout=600, request_timeout=120, render_timeout=30, settle_seconds=0.5, wait_selector=None, extra_body=None, fallback=None, http_renderer=None, dynamic_renderer=None)[source]#
Bases:
RendererReveal dynamic content using an OpenAI-compatible chat model.
- Parameters:
model (str)
api_key (str)
base_url (str)
goal (str)
max_steps (int)
max_snapshot_chars (int)
timeout (float)
request_timeout (float)
render_timeout (float)
settle_seconds (float)
wait_selector (str | None)
fallback (_AIRenderer | None)
http_renderer (Renderer | None)
dynamic_renderer (Renderer | None)
- async aclose()#
Close the shared model client, browser and any fallback.
- Return type:
None
- async render(page)#
Reveal same-page content, preserving HTML across replacement states.
- Parameters:
page (FetchedPage)
- Return type:
- class fastrag.ingestion.steps.fetching.renderers.DecisionsRenderer(*, api_format='decisions', **kwargs)[source]#
Bases:
RendererReveal dynamic content using typed Decisions/System One model choices.
api_formatpicks the wire format:"decisions"(OpenAI Decisions,/decisions) or"systemone"(TypeSafe System One,/systemone).- Parameters:
api_format (Literal['decisions', 'systemone'])
kwargs (Any)
- async aclose()#
Close the shared model client, browser and any fallback.
- Return type:
None
- async render(page)#
Reveal same-page content, preserving HTML across replacement states.
- Parameters:
page (FetchedPage)
- Return type: