configure_langfuse

def configure_langfuse(
    public_key: Optional[str] = None,
    secret_key: Optional[str] = None,
    host: Optional[str] = None,
    debug: Optional[bool] = None,
    enabled: Optional[bool] = None
):

Configure Langfuse for CAMEL models.

Parameters:

  • public_key (Optional[str]): Langfuse public key. Can be set via LANGFUSE_PUBLIC_KEY. (default: :obj:None)
  • secret_key (Optional[str]): Langfuse secret key. Can be set via LANGFUSE_SECRET_KEY. (default: :obj:None)
  • host (Optional[str]): Langfuse host URL. Can be set via LANGFUSE_HOST. (default: :obj:https://cloud.langfuse.com)
  • debug (Optional[bool]): Enable debug mode. Can be set via LANGFUSE_DEBUG. (default: :obj:None)
  • enabled (Optional[bool]): Enable/disable tracing. Can be set via LANGFUSE_ENABLED. (default: :obj:None)
  • Note: This function configures the native langfuse_context which works with @observe() decorators. Set enabled=False to disable all tracing.

is_langfuse_available

def is_langfuse_available():

Check if Langfuse is configured.

set_current_agent_session_id

def set_current_agent_session_id(session_id: str):

Set the session ID for the current agent in thread-local storage.

Parameters:

  • session_id (str): The session ID to set for the current agent.

get_current_agent_session_id

def get_current_agent_session_id():

Returns:

Optional[str]: The session ID for the current agent.

update_langfuse_trace

def update_langfuse_trace(
    session_id: Optional[str] = None,
    user_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    tags: Optional[List[str]] = None
):

Update the current Langfuse trace with session ID and metadata.

Parameters:

  • session_id (Optional[str]): Optional session ID to use. If :obj:None uses the current agent’s session ID. (default: :obj:None)
  • user_id (Optional[str]): Optional user ID for the trace. (default: :obj:None)
  • metadata (Optional[Dict[str, Any]]): Optional metadata dictionary. (default: :obj:None)
  • tags (Optional[List[str]]): Optional list of tags. (default: :obj:None)

Returns:

bool: True if update was successful, False otherwise.

update_current_observation

def update_current_observation(
    input: Optional[Dict[str, Any]] = None,
    output: Optional[Dict[str, Any]] = None,
    model: Optional[str] = None,
    model_parameters: Optional[Dict[str, Any]] = None,
    usage_details: Optional[Dict[str, Any]] = None,
    **kwargs
):

Update the current Langfuse observation with input, output, model, model_parameters, and usage_details.

Parameters:

  • input (Optional[Dict[str, Any]]): Optional input dictionary. (default: :obj:None)
  • output (Optional[Dict[str, Any]]): Optional output dictionary. (default: :obj:None)
  • model (Optional[str]): Optional model name. (default: :obj:None)
  • model_parameters (Optional[Dict[str, Any]]): Optional model parameters dictionary. (default: :obj:None)
  • usage_details (Optional[Dict[str, Any]]): Optional usage details dictionary. (default: :obj:None)

Returns:

None

get_langfuse_status

def get_langfuse_status():

Returns:

Dict[str, Any]: Status information including configuration state.

observe

def observe(*args, **kwargs):