langchain.callbacks.context_callback.ContextCallbackHandler¶
- class langchain.callbacks.context_callback.ContextCallbackHandler(token: str = '', verbose: bool = False, **kwargs: Any)[source]¶
Bases:
BaseCallbackHandlerCallback Handler that records transcripts to the Context service.
- Keyword Arguments
token (optional) – The token with which to authenticate requests to Context. Visit https://go.getcontext.ai/settings to generate a token. If not provided, the value of the CONTEXT_TOKEN environment variable will be used.
- Raises
ImportError – if the context-python package is not installed.
- Chat Example:
>>> from langchain.llms import ChatOpenAI >>> from langchain.callbacks import ContextCallbackHandler >>> context_callback = ContextCallbackHandler( ... token="<CONTEXT_TOKEN_HERE>", ... ) >>> chat = ChatOpenAI( ... temperature=0, ... headers={"user_id": "123"}, ... callbacks=[context_callback], ... openai_api_key="API_KEY_HERE", ... ) >>> messages = [ ... SystemMessage(content="You translate English to French."), ... HumanMessage(content="I love programming with LangChain."), ... ] >>> chat(messages)
- Chain Example:
>>> from langchain import LLMChain >>> from langchain.llms import ChatOpenAI >>> from langchain.callbacks import ContextCallbackHandler >>> context_callback = ContextCallbackHandler( ... token="<CONTEXT_TOKEN_HERE>", ... ) >>> human_message_prompt = HumanMessagePromptTemplate( ... prompt=PromptTemplate( ... template="What is a good name for a company that makes {product}?", ... input_variables=["product"], ... ), ... ) >>> chat_prompt_template = ChatPromptTemplate.from_messages( ... [human_message_prompt] ... ) >>> callback = ContextCallbackHandler(token) >>> # Note: the same callback object must be shared between the ... LLM and the chain. >>> chat = ChatOpenAI(temperature=0.9, callbacks=[callback]) >>> chain = LLMChain( ... llm=chat, ... prompt=chat_prompt_template, ... callbacks=[callback] ... ) >>> chain.run("colorful socks")
Methods
__init__([token, verbose])on_agent_action(action, *, run_id[, ...])Run on agent action.
on_agent_finish(finish, *, run_id[, ...])Run on agent end.
on_chain_end(outputs, **kwargs)Run when chain ends.
on_chain_error(error, *, run_id[, parent_run_id])Run when chain errors.
on_chain_start(serialized, inputs, **kwargs)Run when chain starts.
on_chat_model_start(serialized, messages, *, ...)Run when the chat model is started.
on_llm_end(response, **kwargs)Run when LLM ends.
on_llm_error(error, *, run_id[, parent_run_id])Run when LLM errors.
on_llm_new_token(token, *, run_id[, ...])Run on new LLM token.
on_llm_start(serialized, prompts, *, run_id)Run when LLM starts running.
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_text(text, *, run_id[, parent_run_id])Run on arbitrary text.
on_tool_end(output, *, run_id[, parent_run_id])Run when tool ends running.
on_tool_error(error, *, run_id[, parent_run_id])Run when tool errors.
on_tool_start(serialized, input_str, *, run_id)Run when tool starts running.
Attributes
Whether to ignore agent callbacks.
Whether to ignore chain callbacks.
Whether to ignore chat model callbacks.
Whether to ignore LLM callbacks.
Whether to ignore retriever callbacks.
Whether to ignore retry callbacks.
- on_agent_action(action: AgentAction, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run on agent action.
- on_agent_finish(finish: AgentFinish, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run on agent end.
- on_chain_error(error: Union[Exception, KeyboardInterrupt], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when chain errors.
- on_chain_start(serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any) None[source]¶
Run when chain starts.
- on_chat_model_start(serialized: Dict[str, Any], messages: List[List[BaseMessage]], *, run_id: UUID, **kwargs: Any) Any[source]¶
Run when the chat model is started.
- on_llm_error(error: Union[Exception, KeyboardInterrupt], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when LLM errors.
- on_llm_new_token(token: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run on new LLM token. Only available when streaming is enabled.
- on_llm_start(serialized: Dict[str, Any], prompts: List[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 LLM starts running.
- on_retriever_end(documents: Sequence[Document], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when Retriever ends running.
- on_retriever_error(error: Union[Exception, KeyboardInterrupt], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when Retriever errors.
- 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.
- on_text(text: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run on arbitrary text.
- on_tool_end(output: str, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when tool ends running.
- on_tool_error(error: Union[Exception, KeyboardInterrupt], *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) Any¶
Run when tool errors.
- on_tool_start(serialized: Dict[str, Any], input_str: 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 tool starts running.
- property ignore_agent: bool¶
Whether to ignore agent callbacks.
- property ignore_chain: bool¶
Whether to ignore chain callbacks.
- property ignore_chat_model: bool¶
Whether to ignore chat model callbacks.
- property ignore_llm: bool¶
Whether to ignore LLM callbacks.
- property ignore_retriever: bool¶
Whether to ignore retriever callbacks.
- property ignore_retry: bool¶
Whether to ignore retry callbacks.
- raise_error: bool = False¶
- run_inline: bool = False¶