Toggle Menu
Prev Up Next

# `langchain_community.callbacks.labelstudio_callback`.LabelStudioCallbackHandler

class langchain_community.callbacks.labelstudio_callback.LabelStudioCallbackHandler(api_key: Optional[str] = None, url: Optional[str] = None, project_id: Optional[int] = None, project_name: str = 'LangChain-%Y-%m-%d', project_config: Optional[str] = None, mode: Union[str, LabelStudioMode] = LabelStudioMode.PROMPT)

  Label Studio callback handler. Provides the ability to send predictions to Label Studio for human evaluation, feedback and annotation.

  Parameters

    - api_key (Optional[str]) – Label Studio API key

    - url (Optional[str]) – Label Studio URL

    - project_id (Optional[int]) – Label Studio project ID

    - project_name (str) – Label Studio project name

    - project_config (Optional[str]) – Label Studio project config (XML)

    - mode (Union[str, LabelStudioMode]) – Label Studio mode (“prompt” or “chat”)

  Examples

      >>> from langchain_community.llms import OpenAI
      >>> from langchain_community.callbacks import LabelStudioCallbackHandler
      >>> handler = LabelStudioCallbackHandler(
      ...             api_key='<your_key_here>',
      ...             url='http://localhost:8080',
      ...             project_name='LangChain-%Y-%m-%d',
      ...             mode='prompt'
      ... )
      >>> llm = OpenAI(callbacks=[handler])
      >>> llm.invoke('Tell me a story about a dog.')

  Attributes

  `DEFAULT_PROJECT_NAME` |
  `ignore_agent` | Whether to ignore agent callbacks.
  `ignore_chain` | Whether to ignore chain callbacks.
  `ignore_chat_model` | Whether to ignore chat model callbacks.
  `ignore_llm` | Whether to ignore LLM callbacks.
  `ignore_retriever` | Whether to ignore retriever callbacks.
  `ignore_retry` | Whether to ignore retry callbacks.
  `raise_error` |
  `run_inline` |

  Methods

  `__init__`([api_key, url, project_id, ...]) |
  `add_prompts_generations`(run_id, generations) |
  `on_agent_action`(action, **kwargs) | Do nothing when agent takes a specific action.
  `on_agent_finish`(finish, **kwargs) | Do nothing
  `on_chain_end`(outputs, **kwargs) | Run when chain ends running.
  `on_chain_error`(error, **kwargs) | Do nothing when LLM chain outputs an error.
  `on_chain_start`(serialized, inputs, **kwargs) | Run when chain starts running.
  `on_chat_model_start`(serialized, messages, *, ...) | Save the prompts in memory when an LLM starts.
  `on_llm_end`(response, **kwargs) | Create a new Label Studio task for each prompt and generation.
  `on_llm_error`(error, **kwargs) | Do nothing when LLM outputs an error.
  `on_llm_new_token`(token, **kwargs) | Do nothing when a new token is generated.
  `on_llm_start`(serialized, prompts, **kwargs) | Save the prompts in memory when an LLM starts.
  `on_retriever_end`(documents, *, run_id[, ...]) | Run when Retriever ends running.
  `on_retriever_error`(error, *, run_id[, ...]) | Run when Retriever errors.
  `on_retriever_start`(serialized, query, *, run_id) | Run when Retriever starts running.
  `on_retry`(retry_state, *, run_id[, parent_run_id]) | Run on a retry event.
  `on_text`(text, **kwargs) | Do nothing
  `on_tool_end`(output[, observation_prefix, ...]) | Do nothing when tool ends.
  `on_tool_error`(error, **kwargs) | Do nothing when tool outputs an error.
  `on_tool_start`(serialized, input_str, **kwargs) | Do nothing when tool starts.

  __init__(api_key: Optional[str] = None, url: Optional[str] = None, project_id: Optional[int] = None, project_name: str = 'LangChain-%Y-%m-%d', project_config: Optional[str] = None, mode: Union[str, LabelStudioMode] = LabelStudioMode.PROMPT)
    Parameters

      - api_key (Optional[str]) –

      - url (Optional[str]) –

      - project_id (Optional[int]) –

      - project_name (str) –

      - project_config (Optional[str]) –

      - mode (Union[str, LabelStudioMode]) –

  add_prompts_generations(run_id: str, generations: List[List[Generation]]) → None
    Parameters

      - run_id (str) –

      - generations (List[List[Generation]]) –

    Return type

      None

  on_agent_action(action: AgentAction, **kwargs: Any) → Any

    Do nothing when agent takes a specific action.

    Parameters

      - action (AgentAction) –

      - kwargs (Any) –

    Return type

      Any

  on_agent_finish(finish: AgentFinish, **kwargs: Any) → None

    Do nothing

    Parameters

      - finish (AgentFinish) –

      - kwargs (Any) –

    Return type

      None

  on_chain_end(outputs: Dict[str, Any], **kwargs: Any) → None

    Run when chain ends running.

    Parameters

      - outputs (Dict[str, Any]) –

      - kwargs (Any) –

    Return type

      None

  on_chain_error(error: BaseException, **kwargs: Any) → None

    Do nothing when LLM chain outputs an error.

    Parameters

      - error (BaseException) –

      - kwargs (Any) –

    Return type

      None

  on_chain_start(serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any) → None

    Run when chain starts running.

    Parameters

      - serialized (Dict[str, Any]) –

      - inputs (Dict[str, Any]) –

      - kwargs (Any) –

    Return type

      None

  on_chat_model_start(serialized: Dict[str, Any], messages: List[List[BaseMessage]], *, run_id: UUID, parent_run_id: Optional[UUID] = None, tags: Optional[List[str]] = None, metadata: Optional[Dict[str, Any]] = None, **kwargs: Any) → Any

    Save the prompts in memory when an LLM starts.

    Parameters

      - serialized (Dict[str, Any]) –

      - messages (List[List[BaseMessage]]) –

      - run_id (UUID) –

      - parent_run_id (Optional[UUID]) –

      - tags (Optional[List[str]]) –

      - metadata (Optional[Dict[str, Any]]) –

      - kwargs (Any) –

    Return type

      Any

  on_llm_end(response: LLMResult, **kwargs: Any) → None

    Create a new Label Studio task for each prompt and generation.

    Parameters

      - response (LLMResult) –

      - kwargs (Any) –

    Return type

      None

  on_llm_error(error: BaseException, **kwargs: Any) → None

    Do nothing when LLM outputs an error.

    Parameters

      - error (BaseException) –

      - kwargs (Any) –

    Return type

      None

  on_llm_new_token(token: str, **kwargs: Any) → None

    Do nothing when a new token is generated.

    Parameters

      - token (str) –

      - kwargs (Any) –

    Return type

      None

  on_llm_start(serialized: Dict[str, Any], prompts: List[str], **kwargs: Any) → None

    Save the prompts in memory when an LLM starts.

    Parameters

      - serialized (Dict[str, Any]) –

      - prompts (List[str]) –

      - kwargs (Any) –

    Return type

      None

  on_retriever_end(documents: Sequence[Document], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) → Any

    Run when Retriever ends running.

    Parameters

      - documents (Sequence[Document]) –

      - run_id (UUID) –

      - parent_run_id (Optional[UUID]) –

      - kwargs (Any) –

    Return type

      Any

  on_retriever_error(error: BaseException, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) → Any

    Run when Retriever errors.

    Parameters

      - error (BaseException) –

      - run_id (UUID) –

      - parent_run_id (Optional[UUID]) –

      - kwargs (Any) –

    Return type

      Any

  on_retriever_start(serialized: Dict[str, Any], query: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, tags: Optional[List[str]] = None, metadata: Optional[Dict[str, Any]] = None, **kwargs: Any) → Any

    Run when Retriever starts running.

    Parameters

      - serialized (Dict[str, Any]) –

      - query (str) –

      - run_id (UUID) –

      - parent_run_id (Optional[UUID]) –

      - tags (Optional[List[str]]) –

      - metadata (Optional[Dict[str, Any]]) –

      - kwargs (Any) –

    Return type

      Any

  on_retry(retry_state: RetryCallState, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) → Any

    Run on a retry event.

    Parameters

      - retry_state (RetryCallState) –

      - run_id (UUID) –

      - parent_run_id (Optional[UUID]) –

      - kwargs (Any) –

    Return type

      Any

  on_text(text: str, **kwargs: Any) → None

    Do nothing

    Parameters

      - text (str) –

      - kwargs (Any) –

    Return type

      None

  on_tool_end(output: str, observation_prefix: Optional[str] = None, llm_prefix: Optional[str] = None, **kwargs: Any) → None

    Do nothing when tool ends.

    Parameters

      - output (str) –

      - observation_prefix (Optional[str]) –

      - llm_prefix (Optional[str]) –

      - kwargs (Any) –

    Return type

      None

  on_tool_error(error: BaseException, **kwargs: Any) → None

    Do nothing when tool outputs an error.

    Parameters

      - error (BaseException) –

      - kwargs (Any) –

    Return type

      None

  on_tool_start(serialized: Dict[str, Any], input_str: str, **kwargs: Any) → None

    Do nothing when tool starts.

    Parameters

      - serialized (Dict[str, Any]) –

      - input_str (str) –

      - kwargs (Any) –

    Return type

      None

# Examples using LabelStudioCallbackHandler

- Label Studio

- labelstudio.md