docs: Update callbacks documentation (#18899)

**Description:** Update callbacks documentation
**Issue:** Change some module imports and a method invocation to reflect
the current LangChainAPI
**Dependencies:** None
pull/8400/merge
aditya thomas 4 months ago committed by GitHub
parent 8113d612bb
commit 3d15498612
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -52,7 +52,7 @@
} }
], ],
"source": [ "source": [
"from langchain.callbacks.base import BaseCallbackHandler\n", "from langchain_core.callbacks import BaseCallbackHandler\n",
"from langchain_core.messages import HumanMessage\n", "from langchain_core.messages import HumanMessage\n",
"from langchain_openai import ChatOpenAI\n", "from langchain_openai import ChatOpenAI\n",
"\n", "\n",
@ -66,7 +66,7 @@
"# Additionally, we pass in a list with our custom handler\n", "# Additionally, we pass in a list with our custom handler\n",
"chat = ChatOpenAI(max_tokens=25, streaming=True, callbacks=[MyCustomHandler()])\n", "chat = ChatOpenAI(max_tokens=25, streaming=True, callbacks=[MyCustomHandler()])\n",
"\n", "\n",
"chat([HumanMessage(content=\"Tell me a joke\")])" "chat.invoke([HumanMessage(content=\"Tell me a joke\")])"
] ]
}, },
{ {

@ -79,15 +79,15 @@ class BaseCallbackHandler:
## Get started ## Get started
LangChain provides a few built-in handlers that you can use to get started. These are available in the `langchain/callbacks` module. The most basic handler is the `StdOutCallbackHandler`, which simply logs all events to `stdout`. LangChain provides a few built-in handlers that you can use to get started. These are available in the `langchain_core/callbacks` module. The most basic handler is the `StdOutCallbackHandler`, which simply logs all events to `stdout`.
**Note**: when the `verbose` flag on the object is set to true, the `StdOutCallbackHandler` will be invoked even without being explicitly passed in. **Note**: when the `verbose` flag on the object is set to true, the `StdOutCallbackHandler` will be invoked even without being explicitly passed in.
```python ```python
from langchain.callbacks import StdOutCallbackHandler from langchain_core.callbacks import StdOutCallbackHandler
from langchain.chains import LLMChain from langchain.chains import LLMChain
from langchain_openai import OpenAI from langchain_openai import OpenAI
from langchain.prompts import PromptTemplate from langchain_core.prompts import PromptTemplate
handler = StdOutCallbackHandler() handler = StdOutCallbackHandler()
llm = OpenAI() llm = OpenAI()
@ -160,5 +160,5 @@ The `verbose` argument is available on most objects throughout the API (Chains,
### When do you want to use each of these? ### When do you want to use each of these?
- Constructor callbacks are most useful for use cases such as logging, monitoring, etc., which are _not specific to a single request_, but rather to the entire chain. For example, if you want to log all the requests made to an `LLMChain`, you would pass a handler to the constructor. - Constructor callbacks are most useful for use cases such as logging, monitoring, etc., which are _not specific to a single request_, but rather to the entire chain. For example, if you want to log all the requests made to an `LLMChain`, you would pass a handler to the constructor.
- Request callbacks are most useful for use cases such as streaming, where you want to stream the output of a single request to a specific websocket connection, or other similar use cases. For example, if you want to stream the output of a single request to a websocket, you would pass a handler to the `call()` method - Request callbacks are most useful for use cases such as streaming, where you want to stream the output of a single request to a specific websocket connection, or other similar use cases. For example, if you want to stream the output of a single request to a websocket, you would pass a handler to the `invoke()` method

Loading…
Cancel
Save