mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-08 14:31:55 +00:00
docs: deprecation of OpenAI functions agent, astream_events docstring (#18164)
Co-authored-by: Hershenson, Isaac (Extern) <isaac.hershenson.extern@bayer04.de> Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
@@ -106,17 +106,17 @@ class Runnable(Generic[Input, Output], ABC):
|
||||
Key Methods
|
||||
===========
|
||||
|
||||
* invoke/ainvoke: Transforms a single input into an output.
|
||||
* batch/abatch: Efficiently transforms multiple inputs into outputs.
|
||||
* stream/astream: Streams output from a single input as it's produced.
|
||||
* astream_log: Streams output and selected intermediate results from an input.
|
||||
- **invoke/ainvoke**: Transforms a single input into an output.
|
||||
- **batch/abatch**: Efficiently transforms multiple inputs into outputs.
|
||||
- **stream/astream**: Streams output from a single input as it's produced.
|
||||
- **astream_log**: Streams output and selected intermediate results from an input.
|
||||
|
||||
Built-in optimizations:
|
||||
|
||||
* Batch: By default, batch runs invoke() in parallel using a thread pool executor.
|
||||
- **Batch**: By default, batch runs invoke() in parallel using a thread pool executor.
|
||||
Override to optimize batching.
|
||||
|
||||
* Async: Methods with "a" suffix are asynchronous. By default, they execute
|
||||
- **Async**: Methods with "a" suffix are asynchronous. By default, they execute
|
||||
the sync counterpart using asyncio's thread pool.
|
||||
Override for native async.
|
||||
|
||||
@@ -228,7 +228,7 @@ class Runnable(Generic[Input, Output], ABC):
|
||||
)
|
||||
|
||||
For a UI (and much more) checkout LangSmith: https://docs.smith.langchain.com/
|
||||
"""
|
||||
""" # noqa: E501
|
||||
|
||||
name: Optional[str] = None
|
||||
"""The name of the runnable. Used for debugging and tracing."""
|
||||
@@ -707,78 +707,97 @@ class Runnable(Generic[Input, Output], ABC):
|
||||
) -> AsyncIterator[StreamEvent]:
|
||||
"""Generate a stream of events.
|
||||
|
||||
Use to create an iterator ove StreamEvents that provide real-time information
|
||||
Use to create an iterator over StreamEvents that provide real-time information
|
||||
about the progress of the runnable, including StreamEvents from intermediate
|
||||
results.
|
||||
|
||||
A StreamEvent is a dictionary with the following schema:
|
||||
|
||||
* ``event``: str - Event names are of the
|
||||
- ``event``: **str** - Event names are of the
|
||||
format: on_[runnable_type]_(start|stream|end).
|
||||
* ``name``: str - The name of the runnable that generated the event.
|
||||
* ``run_id``: str - randomly generated ID associated with the given execution of
|
||||
- ``name``: **str** - The name of the runnable that generated the event.
|
||||
- ``run_id``: **str** - randomly generated ID associated with the given execution of
|
||||
the runnable that emitted the event.
|
||||
A child runnable that gets invoked as part of the execution of a
|
||||
parent runnable is assigned its own unique ID.
|
||||
* ``tags``: Optional[List[str]] - The tags of the runnable that generated
|
||||
- ``tags``: **Optional[List[str]]** - The tags of the runnable that generated
|
||||
the event.
|
||||
* ``metadata``: Optional[Dict[str, Any]] - The metadata of the runnable
|
||||
- ``metadata``: **Optional[Dict[str, Any]]** - The metadata of the runnable
|
||||
that generated the event.
|
||||
* ``data``: Dict[str, Any]
|
||||
- ``data``: **Dict[str, Any]**
|
||||
|
||||
|
||||
Below is a table that illustrates some evens that might be emitted by various
|
||||
chains. Metadata fields have been omitted from the table for brevity.
|
||||
Chain definitions have been included after the table.
|
||||
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| event | name | chunk | input | output |
|
||||
|----------------------|------------------|---------------------------------|-----------------------------------------------|-------------------------------------------------|
|
||||
+======================+==================+=================================+===============================================+=================================================+
|
||||
| on_chat_model_start | [model name] | | {"messages": [[SystemMessage, HumanMessage]]} | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_chat_model_stream | [model name] | AIMessageChunk(content="hello") | | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_chat_model_end | [model name] | | {"messages": [[SystemMessage, HumanMessage]]} | {"generations": [...], "llm_output": None, ...} |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_llm_start | [model name] | | {'input': 'hello'} | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_llm_stream | [model name] | 'Hello' | | |
|
||||
| on_llm_end | [model name] | | 'Hello human!' |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_llm_end | [model name] | | 'Hello human!' | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_chain_start | format_docs | | | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_chain_stream | format_docs | "hello world!, goodbye world!" | | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_chain_end | format_docs | | [Document(...)] | "hello world!, goodbye world!" |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_tool_start | some_tool | | {"x": 1, "y": "2"} | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_tool_stream | some_tool | {"x": 1, "y": "2"} | | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_tool_end | some_tool | | | {"x": 1, "y": "2"} |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_retriever_start | [retriever name] | | {"query": "hello"} | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_retriever_chunk | [retriever name] | {documents: [...]} | | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_retriever_end | [retriever name] | | {"query": "hello"} | {documents: [...]} |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_prompt_start | [template_name] | | {"question": "hello"} | |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
| on_prompt_end | [template_name] | | {"question": "hello"} | ChatPromptValue(messages: [SystemMessage, ...]) |
|
||||
+----------------------+------------------+---------------------------------+-----------------------------------------------+-------------------------------------------------+
|
||||
|
||||
Here are declarations associated with the events shown above:
|
||||
|
||||
`format_docs`:
|
||||
|
||||
```python
|
||||
def format_docs(docs: List[Document]) -> str:
|
||||
'''Format the docs.'''
|
||||
return ", ".join([doc.page_content for doc in docs])
|
||||
.. code-block:: python
|
||||
|
||||
format_docs = RunnableLambda(format_docs)
|
||||
```
|
||||
def format_docs(docs: List[Document]) -> str:
|
||||
'''Format the docs.'''
|
||||
return ", ".join([doc.page_content for doc in docs])
|
||||
|
||||
format_docs = RunnableLambda(format_docs)
|
||||
|
||||
`some_tool`:
|
||||
|
||||
```python
|
||||
@tool
|
||||
def some_tool(x: int, y: str) -> dict:
|
||||
'''Some_tool.'''
|
||||
return {"x": x, "y": y}
|
||||
```
|
||||
.. code-block:: python
|
||||
|
||||
@tool
|
||||
def some_tool(x: int, y: str) -> dict:
|
||||
'''Some_tool.'''
|
||||
return {"x": x, "y": y}
|
||||
|
||||
`prompt`:
|
||||
|
||||
```python
|
||||
template = ChatPromptTemplate.from_messages(
|
||||
[("system", "You are Cat Agent 007"), ("human", "{question}")]
|
||||
).with_config({"run_name": "my_template", "tags": ["my_template"]})
|
||||
```
|
||||
.. code-block:: python
|
||||
|
||||
template = ChatPromptTemplate.from_messages(
|
||||
[("system", "You are Cat Agent 007"), ("human", "{question}")]
|
||||
).with_config({"run_name": "my_template", "tags": ["my_template"]})
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
Reference in New Issue
Block a user