mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-09 14:35:50 +00:00
docs: anthropic formatting cleanup (#31847)
inline URLs, capitalization, code blocks
This commit is contained in:
parent
ee3709535d
commit
1a3a8db3c9
@ -487,7 +487,8 @@ def _handle_anthropic_bad_request(e: anthropic.BadRequestError) -> None:
|
|||||||
class ChatAnthropic(BaseChatModel):
|
class ChatAnthropic(BaseChatModel):
|
||||||
"""Anthropic chat models.
|
"""Anthropic chat models.
|
||||||
|
|
||||||
See https://docs.anthropic.com/en/docs/models-overview for a list of the latest models.
|
See `Anthropic's docs <https://docs.anthropic.com/en/docs/models-overview>`__ for a
|
||||||
|
list of the latest models.
|
||||||
|
|
||||||
Setup:
|
Setup:
|
||||||
Install ``langchain-anthropic`` and set environment variable ``ANTHROPIC_API_KEY``.
|
Install ``langchain-anthropic`` and set environment variable ``ANTHROPIC_API_KEY``.
|
||||||
@ -499,9 +500,9 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
|
|
||||||
Key init args — completion params:
|
Key init args — completion params:
|
||||||
model: str
|
model: str
|
||||||
Name of Anthropic model to use. E.g. "claude-3-sonnet-20240229".
|
Name of Anthropic model to use. e.g. ``'claude-3-sonnet-20240229'``.
|
||||||
temperature: float
|
temperature: float
|
||||||
Sampling temperature. Ranges from 0.0 to 1.0.
|
Sampling temperature. Ranges from ``0.0`` to ``1.0``.
|
||||||
max_tokens: int
|
max_tokens: int
|
||||||
Max number of tokens to generate.
|
Max number of tokens to generate.
|
||||||
|
|
||||||
@ -511,7 +512,8 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
max_retries: int
|
max_retries: int
|
||||||
Max number of retries if a request fails.
|
Max number of retries if a request fails.
|
||||||
api_key: Optional[str]
|
api_key: Optional[str]
|
||||||
Anthropic API key. If not passed in will be read from env var ANTHROPIC_API_KEY.
|
Anthropic API key. If not passed in will be read from env var
|
||||||
|
``ANTHROPIC_API_KEY``.
|
||||||
base_url: Optional[str]
|
base_url: Optional[str]
|
||||||
Base URL for API requests. Only specify if using a proxy or service
|
Base URL for API requests. Only specify if using a proxy or service
|
||||||
emulator.
|
emulator.
|
||||||
@ -1183,8 +1185,8 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
"""Base URL for API requests. Only specify if using a proxy or service emulator.
|
"""Base URL for API requests. Only specify if using a proxy or service emulator.
|
||||||
|
|
||||||
If a value isn't passed in, will attempt to read the value first from
|
If a value isn't passed in, will attempt to read the value first from
|
||||||
ANTHROPIC_API_URL and if that is not set, ANTHROPIC_BASE_URL.
|
``ANTHROPIC_API_URL`` and if that is not set, ``ANTHROPIC_BASE_URL``.
|
||||||
If neither are set, the default value of 'https://api.anthropic.com' will
|
If neither are set, the default value of ``https://api.anthropic.com`` will
|
||||||
be used.
|
be used.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -1192,8 +1194,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
alias="api_key",
|
alias="api_key",
|
||||||
default_factory=secret_from_env("ANTHROPIC_API_KEY", default=""),
|
default_factory=secret_from_env("ANTHROPIC_API_KEY", default=""),
|
||||||
)
|
)
|
||||||
|
"""Automatically read from env var ``ANTHROPIC_API_KEY`` if not provided."""
|
||||||
"""Automatically read from env var `ANTHROPIC_API_KEY` if not provided."""
|
|
||||||
|
|
||||||
default_headers: Optional[Mapping[str, str]] = None
|
default_headers: Optional[Mapping[str, str]] = None
|
||||||
"""Headers to pass to the Anthropic clients, will be used for every API call."""
|
"""Headers to pass to the Anthropic clients, will be used for every API call."""
|
||||||
@ -1211,7 +1212,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
"""Whether to use streaming or not."""
|
"""Whether to use streaming or not."""
|
||||||
|
|
||||||
stream_usage: bool = True
|
stream_usage: bool = True
|
||||||
"""Whether to include usage metadata in streaming output. If True, additional
|
"""Whether to include usage metadata in streaming output. If ``True``, additional
|
||||||
message chunks will be generated during the stream including usage metadata.
|
message chunks will be generated during the stream including usage metadata.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -1570,7 +1571,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
tool_choice: Which tool to require the model to call. Options are:
|
tool_choice: Which tool to require the model to call. Options are:
|
||||||
|
|
||||||
- name of the tool as a string or as dict ``{"type": "tool", "name": "<<tool_name>>"}``: calls corresponding tool;
|
- name of the tool as a string or as dict ``{"type": "tool", "name": "<<tool_name>>"}``: calls corresponding tool;
|
||||||
- ``"auto"``, ``{"type: "auto"}``, or None: automatically selects a tool (including no tool);
|
- ``"auto"``, ``{"type: "auto"}``, or ``None``: automatically selects a tool (including no tool);
|
||||||
- ``"any"`` or ``{"type: "any"}``: force at least one tool to be called;
|
- ``"any"`` or ``{"type: "any"}``: force at least one tool to be called;
|
||||||
parallel_tool_calls: Set to ``False`` to disable parallel tool use.
|
parallel_tool_calls: Set to ``False`` to disable parallel tool use.
|
||||||
Defaults to ``None`` (no specification, which allows parallel tool use).
|
Defaults to ``None`` (no specification, which allows parallel tool use).
|
||||||
@ -1580,6 +1581,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
:meth:`~langchain_anthropic.chat_models.ChatAnthropic.bind`.
|
:meth:`~langchain_anthropic.chat_models.ChatAnthropic.bind`.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1608,7 +1610,8 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
# id='run-87b1331e-9251-4a68-acef-f0a018b639cc-0'
|
# id='run-87b1331e-9251-4a68-acef-f0a018b639cc-0'
|
||||||
# )
|
# )
|
||||||
|
|
||||||
Example — force tool call with tool_choice 'any':
|
Example — force tool call with tool_choice ``'any'``:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1630,7 +1633,8 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
llm_with_tools.invoke("what is the weather like in San Francisco",)
|
llm_with_tools.invoke("what is the weather like in San Francisco",)
|
||||||
|
|
||||||
|
|
||||||
Example — force specific tool call with tool_choice '<name_of_tool>':
|
Example — force specific tool call with tool_choice ``'<name_of_tool>'``:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1652,6 +1656,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
llm_with_tools.invoke("what is the weather like in San Francisco",)
|
llm_with_tools.invoke("what is the weather like in San Francisco",)
|
||||||
|
|
||||||
Example — cache specific tools:
|
Example — cache specific tools:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic, convert_to_anthropic_tool
|
from langchain_anthropic import ChatAnthropic, convert_to_anthropic_tool
|
||||||
@ -1754,28 +1759,29 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
for more on how to properly specify types and descriptions of
|
for more on how to properly specify types and descriptions of
|
||||||
schema fields when specifying a Pydantic or TypedDict class.
|
schema fields when specifying a Pydantic or TypedDict class.
|
||||||
include_raw:
|
include_raw:
|
||||||
If False then only the parsed structured output is returned. If
|
If ``False`` then only the parsed structured output is returned. If
|
||||||
an error occurs during model output parsing it will be raised. If True
|
an error occurs during model output parsing it will be raised. If ``True``
|
||||||
then both the raw model response (a BaseMessage) and the parsed model
|
then both the raw model response (a BaseMessage) and the parsed model
|
||||||
response will be returned. If an error occurs during output parsing it
|
response will be returned. If an error occurs during output parsing it
|
||||||
will be caught and returned as well. The final output is always a dict
|
will be caught and returned as well. The final output is always a dict
|
||||||
with keys "raw", "parsed", and "parsing_error".
|
with keys ``raw``, ``parsed``, and ``parsing_error``.
|
||||||
kwargs: Additional keyword arguments are ignored.
|
kwargs: Additional keyword arguments are ignored.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A Runnable that takes same inputs as a :class:`~langchain_core.language_models.chat.BaseChatModel`.
|
A Runnable that takes same inputs as a :class:`~langchain_core.language_models.chat.BaseChatModel`.
|
||||||
|
|
||||||
If ``include_raw`` is False and ``schema`` is a Pydantic class, Runnable outputs
|
If ``include_raw`` is ``False`` and ``schema`` is a Pydantic class, Runnable outputs
|
||||||
an instance of ``schema`` (i.e., a Pydantic object).
|
an instance of ``schema`` (i.e., a Pydantic object).
|
||||||
|
|
||||||
Otherwise, if ``include_raw`` is False then Runnable outputs a dict.
|
Otherwise, if ``include_raw`` is ``False`` then Runnable outputs a dict.
|
||||||
|
|
||||||
If ``include_raw`` is True, then Runnable outputs a dict with keys:
|
If ``include_raw`` is True, then Runnable outputs a dict with keys:
|
||||||
- ``"raw"``: BaseMessage
|
- ``raw``: BaseMessage
|
||||||
- ``"parsed"``: None if there was a parsing error, otherwise the type depends on the ``schema`` as described above.
|
- ``parsed``: None if there was a parsing error, otherwise the type depends on the ``schema`` as described above.
|
||||||
- ``"parsing_error"``: Optional[BaseException]
|
- ``parsing_error``: Optional[BaseException]
|
||||||
|
|
||||||
Example: Pydantic schema (include_raw=False):
|
Example: Pydantic schema (include_raw=False):
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1797,6 +1803,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
# )
|
# )
|
||||||
|
|
||||||
Example: Pydantic schema (include_raw=True):
|
Example: Pydantic schema (include_raw=True):
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1818,6 +1825,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
# }
|
# }
|
||||||
|
|
||||||
Example: Dict schema (include_raw=False):
|
Example: Dict schema (include_raw=False):
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1902,6 +1910,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
to be converted to tool schemas.
|
to be converted to tool schemas.
|
||||||
|
|
||||||
Basic usage:
|
Basic usage:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1920,6 +1929,7 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
14
|
14
|
||||||
|
|
||||||
Pass tool schemas:
|
Pass tool schemas:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from langchain_anthropic import ChatAnthropic
|
from langchain_anthropic import ChatAnthropic
|
||||||
@ -1948,9 +1958,9 @@ class ChatAnthropic(BaseChatModel):
|
|||||||
|
|
||||||
.. versionchanged:: 0.3.0
|
.. versionchanged:: 0.3.0
|
||||||
|
|
||||||
Uses Anthropic's token counting API to count tokens in messages. See:
|
Uses Anthropic's `token counting API <https://docs.anthropic.com/en/docs/build-with-claude/token-counting>`__ to count tokens in messages.
|
||||||
https://docs.anthropic.com/en/docs/build-with-claude/token-counting
|
|
||||||
"""
|
""" # noqa: E501
|
||||||
formatted_system, formatted_messages = _format_messages(messages)
|
formatted_system, formatted_messages = _format_messages(messages)
|
||||||
if isinstance(formatted_system, str):
|
if isinstance(formatted_system, str):
|
||||||
kwargs["system"] = formatted_system
|
kwargs["system"] = formatted_system
|
||||||
@ -2044,7 +2054,7 @@ def _make_message_chunk_from_anthropic_event(
|
|||||||
"""Convert Anthropic event to AIMessageChunk.
|
"""Convert Anthropic event to AIMessageChunk.
|
||||||
|
|
||||||
Note that not all events will result in a message chunk. In these cases
|
Note that not all events will result in a message chunk. In these cases
|
||||||
we return None.
|
we return ``None``.
|
||||||
"""
|
"""
|
||||||
message_chunk: Optional[AIMessageChunk] = None
|
message_chunk: Optional[AIMessageChunk] = None
|
||||||
# See https://github.com/anthropics/anthropic-sdk-python/blob/main/src/anthropic/lib/streaming/_messages.py # noqa: E501
|
# See https://github.com/anthropics/anthropic-sdk-python/blob/main/src/anthropic/lib/streaming/_messages.py # noqa: E501
|
||||||
|
@ -66,15 +66,15 @@ class _AnthropicCommon(BaseLanguageModel):
|
|||||||
"""Base URL for API requests. Only specify if using a proxy or service emulator.
|
"""Base URL for API requests. Only specify if using a proxy or service emulator.
|
||||||
|
|
||||||
If a value isn't passed in, will attempt to read the value from
|
If a value isn't passed in, will attempt to read the value from
|
||||||
ANTHROPIC_API_URL. If not set, the default value of 'https://api.anthropic.com' will
|
``ANTHROPIC_API_URL``. If not set, the default value ``https://api.anthropic.com``
|
||||||
be used.
|
will be used.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
anthropic_api_key: SecretStr = Field(
|
anthropic_api_key: SecretStr = Field(
|
||||||
alias="api_key",
|
alias="api_key",
|
||||||
default_factory=secret_from_env("ANTHROPIC_API_KEY", default=""),
|
default_factory=secret_from_env("ANTHROPIC_API_KEY", default=""),
|
||||||
)
|
)
|
||||||
"""Automatically read from env var `ANTHROPIC_API_KEY` if not provided."""
|
"""Automatically read from env var ``ANTHROPIC_API_KEY`` if not provided."""
|
||||||
|
|
||||||
HUMAN_PROMPT: Optional[str] = None
|
HUMAN_PROMPT: Optional[str] = None
|
||||||
AI_PROMPT: Optional[str] = None
|
AI_PROMPT: Optional[str] = None
|
||||||
@ -311,6 +311,7 @@ class AnthropicLLM(LLM, _AnthropicCommon):
|
|||||||
Returns:
|
Returns:
|
||||||
A generator representing the stream of tokens from Anthropic.
|
A generator representing the stream of tokens from Anthropic.
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
prompt = "Write a poem about a stream."
|
prompt = "Write a poem about a stream."
|
||||||
@ -347,6 +348,7 @@ class AnthropicLLM(LLM, _AnthropicCommon):
|
|||||||
A generator representing the stream of tokens from Anthropic.
|
A generator representing the stream of tokens from Anthropic.
|
||||||
Example:
|
Example:
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
prompt = "Write a poem about a stream."
|
prompt = "Write a poem about a stream."
|
||||||
prompt = f"\n\nHuman: {prompt}\n\nAssistant:"
|
prompt = f"\n\nHuman: {prompt}\n\nAssistant:"
|
||||||
generator = anthropic.stream(prompt)
|
generator = anthropic.stream(prompt)
|
||||||
|
@ -27,7 +27,6 @@ class ToolsOutputParser(BaseGenerationOutputParser):
|
|||||||
Args:
|
Args:
|
||||||
result: A list of Generations to be parsed. The Generations are assumed
|
result: A list of Generations to be parsed. The Generations are assumed
|
||||||
to be different candidate outputs for a single model input.
|
to be different candidate outputs for a single model input.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Structured output.
|
Structured output.
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user