ccurme
73c76b9628
anthropic[patch]: always add tool_result type to ToolMessage content ( #22721 )
...
Anthropic tool results can contain image data, which are typically
represented with content blocks having `"type": "image"`. Currently,
these content blocks are passed as-is as human/user messages to
Anthropic, which raises BadRequestError as it expects a tool_result
block to follow a tool_use.
Here we update ChatAnthropic to nest the content blocks inside a
tool_result content block.
Example:
```python
import base64
import httpx
from langchain_anthropic import ChatAnthropic
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
from langchain_core.pydantic_v1 import BaseModel, Field
# Fetch image
image_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg "
image_data = base64.b64encode(httpx.get(image_url).content).decode("utf-8")
class FetchImage(BaseModel):
should_fetch: bool = Field(..., description="Whether an image is requested.")
llm = ChatAnthropic(model="claude-3-sonnet-20240229").bind_tools([FetchImage])
messages = [
HumanMessage(content="Could you summon a beautiful image please?"),
AIMessage(
content=[
{
"type": "tool_use",
"id": "toolu_01Rn6Qvj5m7955x9m9Pfxbcx",
"name": "FetchImage",
"input": {"should_fetch": True},
},
],
tool_calls=[
{
"name": "FetchImage",
"args": {"should_fetch": True},
"id": "toolu_01Rn6Qvj5m7955x9m9Pfxbcx",
},
],
),
ToolMessage(
name="FetchImage",
content=[
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": image_data,
},
},
],
tool_call_id="toolu_01Rn6Qvj5m7955x9m9Pfxbcx",
),
]
llm.invoke(messages)
```
Trace:
https://smith.langchain.com/public/d27e4fc1-a96d-41e1-9f52-54f5004122db/r
2024-06-13 20:14:23 -07:00
Bagatur
cb183a9bf1
docs: update anthropic chat model ( #22483 )
...
Related to #22296
And update anthropic to accept base_url
2024-06-04 12:42:06 -07:00
Bagatur
678a19a5f7
infra: bump anthropic mypy 1 ( #22373 )
2024-06-03 08:21:55 -07:00
Bagatur
a8098f5ddb
anthropic[patch]: Release 0.1.15, fix sdk tools break ( #22369 )
2024-05-31 12:10:22 -07:00
Bagatur
baa3c975cb
anthropic[patch]: allow tool call mutation ( #22130 )
...
If tool_use blocks and tool_calls with overlapping IDs are present,
prefer the values of the tool_calls. Allows for mutating AIMessages just
via tool_calls.
2024-05-24 08:18:14 -07:00
ccurme
fbfed65fb1
core, partners: add token usage attribute to AIMessage ( #21944 )
...
```python
class UsageMetadata(TypedDict):
"""Usage metadata for a message, such as token counts.
Attributes:
input_tokens: (int) count of input (or prompt) tokens
output_tokens: (int) count of output (or completion) tokens
total_tokens: (int) total token count
"""
input_tokens: int
output_tokens: int
total_tokens: int
```
```python
class AIMessage(BaseMessage):
...
usage_metadata: Optional[UsageMetadata] = None
"""If provided, token usage information associated with the message."""
...
```
2024-05-23 14:21:58 -04:00
Bagatur
6416d16d39
anthropic[patch]: Release 0.1.13, tool_choice support ( #21773 )
2024-05-16 17:56:29 +00:00
aditya thomas
b868c78a12
partners[anthropic]: update unit test for key passed in from the environment ( #21290 )
...
**Description:** Update unit test for ChatAnthropic
**Issue:** Test for key passed in from the environment should not have
the key initialized in the constructor
**Dependencies:** None
2024-05-05 16:19:10 -04:00
aditya thomas
8b59bddc03
anthropic[patch]: add tests for secret_str for api key ( #20986 )
...
**Description:** Add tests to check API keys are masked
**Issue:** Resolves
https://github.com/langchain-ai/langchain/issues/12165 for Anthropic
models
**Dependencies:** None
2024-04-29 10:39:14 -04:00
Bagatur
54e9271504
anthropic[patch]: fix msg mutation ( #20572 )
2024-04-17 15:47:19 -07:00
Bagatur
96d8769eae
anthropic[patch]: release 0.1.9, use tool calls if content is empty ( #20535 )
2024-04-16 15:27:29 -07:00
Bagatur
a27d88f12a
anthropic[patch]: standardize init args ( #20161 )
...
Related to #20085
2024-04-08 12:09:06 -05:00
Bagatur
209de0a561
anthropic[minor]: tool use ( #20016 )
2024-04-04 13:22:48 -07:00
Bagatur
b15c7fdde6
anthropic[patch]: fix response metadata type ( #19683 )
2024-03-27 23:16:26 -07:00
Erick Friis
3b5bdbfee8
anthropic[minor]: package move ( #17974 )
2024-02-25 21:57:26 -08:00
Bagatur
5c2538b9f7
anthropic[patch]: allow pop by field name ( #16544 )
...
allow `ChatAnthropicMessages(model=...)`
2024-01-24 15:48:31 -07:00
Erick Friis
8a3360edf6
anthropic: beta messages integration ( #14928 )
2023-12-19 18:55:19 -08:00