mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-03 02:06:33 +00:00
revert
This commit is contained in:
parent
ac23607a61
commit
93c1aeebb6
@ -4,50 +4,50 @@ import warnings
|
|||||||
from typing import Any, Literal, Union
|
from typing import Any, Literal, Union
|
||||||
|
|
||||||
from pydantic import TypeAdapter, ValidationError
|
from pydantic import TypeAdapter, ValidationError
|
||||||
from typing_extensions import Required, TypedDict
|
from typing_extensions import NotRequired, TypedDict
|
||||||
|
|
||||||
|
|
||||||
# Text and annotations
|
# Text and annotations
|
||||||
class UrlCitation(TypedDict, total=False):
|
class UrlCitation(TypedDict, total=False):
|
||||||
"""Citation from a URL."""
|
"""Citation from a URL."""
|
||||||
|
|
||||||
type: Required[Literal["url_citation"]]
|
type: Literal["url_citation"]
|
||||||
|
|
||||||
url: Required[str]
|
url: str
|
||||||
"""Source URL."""
|
"""Source URL."""
|
||||||
|
|
||||||
title: str
|
title: NotRequired[str]
|
||||||
"""Source title."""
|
"""Source title."""
|
||||||
|
|
||||||
cited_text: str
|
cited_text: NotRequired[str]
|
||||||
"""Text from the source that is being cited."""
|
"""Text from the source that is being cited."""
|
||||||
|
|
||||||
start_index: int
|
start_index: NotRequired[int]
|
||||||
"""Start index of the response text for which the annotation applies."""
|
"""Start index of the response text for which the annotation applies."""
|
||||||
|
|
||||||
end_index: int
|
end_index: NotRequired[int]
|
||||||
"""End index of the response text for which the annotation applies."""
|
"""End index of the response text for which the annotation applies."""
|
||||||
|
|
||||||
|
|
||||||
class DocumentCitation(TypedDict, total=False):
|
class DocumentCitation(TypedDict, total=False):
|
||||||
"""Annotation for data from a document."""
|
"""Annotation for data from a document."""
|
||||||
|
|
||||||
type: Required[Literal["document_citation"]]
|
type: Literal["document_citation"]
|
||||||
|
|
||||||
title: str
|
title: NotRequired[str]
|
||||||
"""Source title."""
|
"""Source title."""
|
||||||
|
|
||||||
cited_text: str
|
cited_text: NotRequired[str]
|
||||||
"""Text from the source that is being cited."""
|
"""Text from the source that is being cited."""
|
||||||
|
|
||||||
start_index: int
|
start_index: NotRequired[int]
|
||||||
"""Start index of the response text for which the annotation applies."""
|
"""Start index of the response text for which the annotation applies."""
|
||||||
|
|
||||||
end_index: int
|
end_index: NotRequired[int]
|
||||||
"""End index of the response text for which the annotation applies."""
|
"""End index of the response text for which the annotation applies."""
|
||||||
|
|
||||||
|
|
||||||
class NonStandardAnnotation(TypedDict):
|
class NonStandardAnnotation(TypedDict, total=False):
|
||||||
"""Provider-specific annotation format."""
|
"""Provider-specific annotation format."""
|
||||||
|
|
||||||
type: Literal["non_standard_annotation"]
|
type: Literal["non_standard_annotation"]
|
||||||
@ -59,11 +59,13 @@ class NonStandardAnnotation(TypedDict):
|
|||||||
class TextContentBlock(TypedDict, total=False):
|
class TextContentBlock(TypedDict, total=False):
|
||||||
"""Content block for text output."""
|
"""Content block for text output."""
|
||||||
|
|
||||||
type: Required[Literal["text"]]
|
type: Literal["text"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
text: Required[str]
|
text: str
|
||||||
"""Block text."""
|
"""Block text."""
|
||||||
annotations: list[Union[UrlCitation, DocumentCitation, NonStandardAnnotation]]
|
annotations: NotRequired[
|
||||||
|
list[Union[UrlCitation, DocumentCitation, NonStandardAnnotation]]
|
||||||
|
]
|
||||||
"""Citations and other annotations."""
|
"""Citations and other annotations."""
|
||||||
|
|
||||||
|
|
||||||
@ -75,9 +77,9 @@ class ToolCallContentBlock(TypedDict, total=False):
|
|||||||
message's ``tool_calls`` attribute.
|
message's ``tool_calls`` attribute.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
type: Required[Literal["tool_call"]]
|
type: Literal["tool_call"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
id: Required[str]
|
id: str
|
||||||
"""Tool call ID."""
|
"""Tool call ID."""
|
||||||
|
|
||||||
|
|
||||||
@ -85,9 +87,9 @@ class ToolCallContentBlock(TypedDict, total=False):
|
|||||||
class ReasoningContentBlock(TypedDict, total=False):
|
class ReasoningContentBlock(TypedDict, total=False):
|
||||||
"""Content block for reasoning output."""
|
"""Content block for reasoning output."""
|
||||||
|
|
||||||
type: Required[Literal["reasoning"]]
|
type: Literal["reasoning"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
reasoning: str
|
reasoning: NotRequired[str]
|
||||||
"""Reasoning text."""
|
"""Reasoning text."""
|
||||||
|
|
||||||
|
|
||||||
@ -95,51 +97,51 @@ class ReasoningContentBlock(TypedDict, total=False):
|
|||||||
class BaseDataContentBlock(TypedDict, total=False):
|
class BaseDataContentBlock(TypedDict, total=False):
|
||||||
"""Base class for data content blocks."""
|
"""Base class for data content blocks."""
|
||||||
|
|
||||||
mime_type: str
|
mime_type: NotRequired[str]
|
||||||
"""MIME type of the content block (if needed)."""
|
"""MIME type of the content block (if needed)."""
|
||||||
|
|
||||||
|
|
||||||
class URLContentBlock(BaseDataContentBlock):
|
class URLContentBlock(BaseDataContentBlock):
|
||||||
"""Content block for data from a URL."""
|
"""Content block for data from a URL."""
|
||||||
|
|
||||||
type: Required[Literal["image", "audio", "file"]]
|
type: Literal["image", "audio", "file"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
source_type: Required[Literal["url"]]
|
source_type: Literal["url"]
|
||||||
"""Source type (url)."""
|
"""Source type (url)."""
|
||||||
url: Required[str]
|
url: str
|
||||||
"""URL for data."""
|
"""URL for data."""
|
||||||
|
|
||||||
|
|
||||||
class Base64ContentBlock(BaseDataContentBlock):
|
class Base64ContentBlock(BaseDataContentBlock):
|
||||||
"""Content block for inline data from a base64 string."""
|
"""Content block for inline data from a base64 string."""
|
||||||
|
|
||||||
type: Required[Literal["image", "audio", "file"]]
|
type: Literal["image", "audio", "file"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
source_type: Required[Literal["base64"]]
|
source_type: Literal["base64"]
|
||||||
"""Source type (base64)."""
|
"""Source type (base64)."""
|
||||||
data: Required[str]
|
data: str
|
||||||
"""Data as a base64 string."""
|
"""Data as a base64 string."""
|
||||||
|
|
||||||
|
|
||||||
class PlainTextContentBlock(BaseDataContentBlock):
|
class PlainTextContentBlock(BaseDataContentBlock):
|
||||||
"""Content block for plain text data (e.g., from a document)."""
|
"""Content block for plain text data (e.g., from a document)."""
|
||||||
|
|
||||||
type: Required[Literal["file"]]
|
type: Literal["file"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
source_type: Required[Literal["text"]]
|
source_type: Literal["text"]
|
||||||
"""Source type (text)."""
|
"""Source type (text)."""
|
||||||
text: Required[str]
|
text: str
|
||||||
"""Text data."""
|
"""Text data."""
|
||||||
|
|
||||||
|
|
||||||
class IDContentBlock(BaseDataContentBlock):
|
class IDContentBlock(TypedDict):
|
||||||
"""Content block for data specified by an identifier."""
|
"""Content block for data specified by an identifier."""
|
||||||
|
|
||||||
type: Required[Literal["image", "audio", "file"]]
|
type: Literal["image", "audio", "file"]
|
||||||
"""Type of the content block."""
|
"""Type of the content block."""
|
||||||
source_type: Required[Literal["id"]]
|
source_type: Literal["id"]
|
||||||
"""Source type (id)."""
|
"""Source type (id)."""
|
||||||
id: Required[str]
|
id: str
|
||||||
"""Identifier for data source."""
|
"""Identifier for data source."""
|
||||||
|
|
||||||
|
|
||||||
@ -154,7 +156,7 @@ _DataContentBlockAdapter: TypeAdapter[DataContentBlock] = TypeAdapter(DataConten
|
|||||||
|
|
||||||
|
|
||||||
# Non-standard
|
# Non-standard
|
||||||
class NonStandardContentBlock(TypedDict):
|
class NonStandardContentBlock(TypedDict, total=False):
|
||||||
"""Content block provider-specific data.
|
"""Content block provider-specific data.
|
||||||
|
|
||||||
This block contains data for which there is not yet a standard type.
|
This block contains data for which there is not yet a standard type.
|
||||||
|
Loading…
Reference in New Issue
Block a user