Skip to main content

AgentStream

Log streams are used to organize logs within a project on the Splunk AO platform. They provide a way to categorize and group related logs, making it easier to analyze and monitor specific parts of your application or different environments (e.g., production, staging, development). Arguments
  • created_at (datetime.datetime): The timestamp when the log stream was created.
  • created_by (str): The identifier of the user who created the log stream.
  • id (str): The unique identifier of the log stream.
  • name (str): The name of the log stream.
  • project_id (str): The ID of the project this log stream belongs to.
  • updated_at (datetime.datetime): The timestamp when the log stream was last updated.
  • additional_properties (dict): Additional properties associated with the log stream.
Examples

enable_evaluators

Enable evaluators directly on this agent stream instance. This is the most intuitive and clean way to enable evaluators when you already have a AgentStream object. The method leverages the agent stream’s existing project_id and id attributes, eliminating the need for redundant parameter specification and reducing the potential for errors. This approach is ideal for object-oriented workflows where you’re working with AgentStream instances directly, and it provides the clearest semantic meaning: “enable these evaluators on this specific agent stream.” Arguments
  • metrics (builtins.list[Union[SplunkAOEvaluators, Metric, LocalMetricConfig, str]]): List of evaluators to enable on this agent stream. Parameter name retained for API compatibility. Supports multiple input formats:
    • SplunkAOEvaluators enum values: Built-in evaluators like SplunkAOEvaluators.correctness
    • Metric objects: Custom evaluators with optional version specifications
    • LocalMetricConfig objects: Client-side evaluators with custom scoring functions
    • String names: Built-in evaluator names like “correctness” or “toxicity”
Raises
  • ValueError: - If this AgentStream instance lacks required id or project_id attributes
  • If any specified evaluators are unknown or unavailable
  • If there are issues with evaluator configuration or registration
  • GalileoHTTPException: If there are network or API errors when communicating with Splunk AO services
Returns
  • builtins.list[LocalMetricConfig]: List of local evaluator configurations that must be computed client-side. Server-side evaluators are automatically registered with Splunk AO and don’t need to be returned since users don’t interact with them.
Examples Basic usage with built-in evaluators:
Advanced usage with custom evaluators:
Notes Requirements:
  • The AgentStream instance must have valid id and project_id attributes
  • These are automatically set when retrieving AgentStream objects via AgentStreams methods
Recommended Usage:
  • Use this method when you already have a AgentStream object
  • More intuitive than specifying project/agent stream names again
  • Cleaner object-oriented design pattern

AgentStreams

create

Creates a new log stream. Exactly one of project_id or project_name must be provided. Arguments
  • name (str): The name of the log stream.
  • project_id (Optional[str]): The ID of the project to create the log stream in. Defaults to None.
  • project_name (Optional[str]): The name of the project to create the log stream in. Defaults to None.
Raises
  • ValueError: If neither or both project_id and project_name are provided, or if the project is not found.
  • HTTPValidationError: If the server validation fails.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • AgentStream: The created log stream.

enable_evaluators

Enable evaluators for an agent stream by configuring scorers. The project name can be provided via the ‘project_name’ parameter or the SPLUNK_AO_PROJECT environment variable. The agent stream name can be provided via the ‘agent_stream_name’ parameter or the SPLUNK_AO_AGENT_STREAM environment variable. Arguments
  • agent_stream_name (Optional[str]): The name of the agent stream. Takes precedence over the SPLUNK_AO_AGENT_STREAM environment variable. Defaults to None.
  • project_name (Optional[str]): The name of the project. Takes precedence over the SPLUNK_AO_PROJECT environment variable. Defaults to None.
  • metrics (builtins.list[Union[SplunkAOEvaluators, Metric, LocalMetricConfig, str]]): List of evaluators to enable. Parameter name retained for API compatibility. Can include:
    • SplunkAOEvaluators enum values (e.g., SplunkAOEvaluators.correctness)
    • Metric objects with name and optional version
    • LocalMetricConfig objects for custom local evaluators
    • String names of built-in evaluators
Raises
  • ValueError: If agent stream or project cannot be found, or if evaluators are unknown.
Returns
  • builtins.list[LocalMetricConfig]: Local evaluator configurations that must be computed client-side. Server-side evaluators are automatically registered with Splunk AO.
Examples

get

Retrieves a log stream by id or name. Arguments
  • id (Optional[str]): The id of the log stream. Defaults to None.
  • name (Optional[str]): The name of the log stream. Defaults to None.
  • project_id (Optional[str]): The ID of the project. Defaults to None.
  • project_name (Optional[str]): The name of the project. Defaults to None.
Raises
  • ValueError: If neither or both id and name are provided, or if neither or both project_id and project_name are provided.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Optional[AgentStream]: The log stream if found, None otherwise.

list

Lists log streams. Exactly one of project_id or project_name must be provided. Returns a single page of results. Use starting_token (from next_starting_token on a prior response) to fetch subsequent pages. Arguments
  • project_id (Optional[str]): The ID of the project to list log streams for.
  • project_name (Optional[str]): The name of the project to list log streams for.
  • limit (Union[Unset, int]): The maximum number of log streams to return per page. Defaults to 100.
  • starting_token (Union[Unset, int]): The pagination token to start from. Defaults to 0 (first page).
Raises
  • ValueError: If neither or both project_id and project_name are provided, if the named project is not found, if the server returns a validation error, or if the response is unexpectedly empty.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[AgentStream]: A page of log streams.

create_agent_stream

Creates a new log stream. Exactly one of project_id or project_name must be provided. Arguments
  • name (str): The name of the log stream.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • AgentStream: The created project.

enable_evaluators

Enable evaluators for an agent stream with flexible parameter and environment variable support. This unified function supports both explicit parameters and environment variable fallbacks, making it perfect for all use cases - from production CI/CD pipelines to development testing. Flexible Usage Patterns:
  • Environment-only: Just pass evaluators, names from env vars (production/CI)
  • Explicit parameters: Specify project/agent stream names directly (development)
  • Mixed approach: Combine explicit params with environment fallbacks

Environment Variables (Optional Fallbacks)

SPLUNK_AO_PROJECT : str The name of the Splunk AO project (used when project_name not provided) SPLUNK_AO_AGENT_STREAM : str The name of the agent stream (used when agent_stream_name not provided) Arguments
  • agent_stream_name (Optional[str]): The name of the agent stream. Takes precedence over SPLUNK_AO_AGENT_STREAM environment variable. If None, will use SPLUNK_AO_AGENT_STREAM env var. Defaults to None.
  • project_name (Optional[str]): The name of the project. Takes precedence over SPLUNK_AO_PROJECT environment variable. If None, will use SPLUNK_AO_PROJECT env var. Defaults to None.
  • metrics (builtins.list[Union[SplunkAOEvaluators, Metric, LocalMetricConfig, str]]): List of evaluators to enable on the agent stream. Parameter name retained for API compatibility. Can include:
    • SplunkAOEvaluators enum values (e.g., SplunkAOEvaluators.correctness)
    • Metric objects with name and optional version for custom evaluators
    • LocalMetricConfig objects for client-side custom scoring functions
    • String names of built-in evaluators (e.g., “correctness”, “toxicity”)
Raises
  • ValueError: If agent stream or project cannot be found, or if any specified evaluators are unknown.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[LocalMetricConfig]: List of local evaluator configurations that must be computed client-side. Server-side evaluators are automatically registered with Splunk AO and don’t need to be returned since users don’t interact with them.
Examples

get_agent_stream

Retrieves a log stream by name. Exactly one of project_id or project_name must be provided. Arguments
  • name (Optional[str]): The name of the log stream. Defaults to None.
  • project_id (Optional[str]): The ID of the project. Defaults to None.
  • project_name (Optional[str]): The name of the project. Defaults to None.
Raises
  • ValueError: If neither or both project_id and project_name are provided.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Optional[AgentStream]: The log stream if found, None otherwise.

list_agent_streams

Lists log streams. Exactly one of project_id or project_name must be provided. Returns a single page of results. Use starting_token (from next_starting_token on a prior response) to fetch subsequent pages. Arguments
  • project_id (str): The id of the project.
  • project_name (str): The name of the project.
  • limit (Union[Unset, int]): The maximum number of log streams to return per page. Defaults to 100.
  • starting_token (Union[Unset, int]): The pagination token to start from. Defaults to 0 (first page).
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • builtins.list[AgentStream]: A page of log streams.