mirascope 1.17.0__py3-none-any.whl → 1.18.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mirascope/core/__init__.py +4 -0
- mirascope/core/base/stream_config.py +1 -1
- mirascope/core/gemini/__init__.py +10 -0
- mirascope/core/google/__init__.py +29 -0
- mirascope/core/google/_call.py +67 -0
- mirascope/core/google/_call_kwargs.py +13 -0
- mirascope/core/google/_utils/__init__.py +16 -0
- mirascope/core/google/_utils/_calculate_cost.py +88 -0
- mirascope/core/google/_utils/_convert_common_call_params.py +39 -0
- mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +27 -0
- mirascope/core/google/_utils/_convert_message_params.py +177 -0
- mirascope/core/google/_utils/_get_json_output.py +37 -0
- mirascope/core/google/_utils/_handle_stream.py +35 -0
- mirascope/core/google/_utils/_message_param_converter.py +153 -0
- mirascope/core/google/_utils/_setup_call.py +180 -0
- mirascope/core/google/call_params.py +22 -0
- mirascope/core/google/call_response.py +202 -0
- mirascope/core/google/call_response_chunk.py +97 -0
- mirascope/core/google/dynamic_config.py +26 -0
- mirascope/core/google/stream.py +128 -0
- mirascope/core/google/tool.py +104 -0
- mirascope/core/vertex/__init__.py +15 -0
- mirascope/llm/_protocols.py +1 -0
- mirascope/llm/llm_call.py +4 -0
- mirascope/llm/llm_override.py +16 -3
- {mirascope-1.17.0.dist-info → mirascope-1.18.0.dist-info}/METADATA +4 -1
- {mirascope-1.17.0.dist-info → mirascope-1.18.0.dist-info}/RECORD +29 -11
- {mirascope-1.17.0.dist-info → mirascope-1.18.0.dist-info}/WHEEL +0 -0
- {mirascope-1.17.0.dist-info → mirascope-1.18.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"""The `GoogleStream` class for convenience around streaming LLM calls.
|
|
2
|
+
|
|
3
|
+
usage docs: learn/streams.md
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from typing import cast
|
|
7
|
+
|
|
8
|
+
from google.genai.types import (
|
|
9
|
+
Candidate,
|
|
10
|
+
Content,
|
|
11
|
+
ContentDict,
|
|
12
|
+
ContentListUnion,
|
|
13
|
+
ContentListUnionDict,
|
|
14
|
+
FinishReason,
|
|
15
|
+
FunctionCall,
|
|
16
|
+
GenerateContentResponse,
|
|
17
|
+
PartDict,
|
|
18
|
+
Tool,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
from ..base.stream import BaseStream
|
|
22
|
+
from ._utils import calculate_cost
|
|
23
|
+
from .call_params import GoogleCallParams
|
|
24
|
+
from .call_response import GoogleCallResponse
|
|
25
|
+
from .call_response_chunk import GoogleCallResponseChunk
|
|
26
|
+
from .dynamic_config import GoogleDynamicConfig
|
|
27
|
+
from .tool import GoogleTool
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GoogleStream(
|
|
31
|
+
BaseStream[
|
|
32
|
+
GoogleCallResponse,
|
|
33
|
+
GoogleCallResponseChunk,
|
|
34
|
+
ContentDict,
|
|
35
|
+
ContentDict,
|
|
36
|
+
ContentDict,
|
|
37
|
+
ContentListUnion | ContentListUnionDict,
|
|
38
|
+
GoogleTool,
|
|
39
|
+
Tool,
|
|
40
|
+
GoogleDynamicConfig,
|
|
41
|
+
GoogleCallParams,
|
|
42
|
+
FinishReason,
|
|
43
|
+
]
|
|
44
|
+
):
|
|
45
|
+
"""A class for convenience around streaming Google LLM calls.
|
|
46
|
+
|
|
47
|
+
Example:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from mirascope.core import prompt_template
|
|
51
|
+
from mirascope.core.google import google_call
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@google_call("google-1.5-flash", stream=True)
|
|
55
|
+
def recommend_book(genre: str) -> str:
|
|
56
|
+
return f"Recommend a {genre} book"
|
|
57
|
+
|
|
58
|
+
stream = recommend_book("fantasy") # returns `GoogleStream` instance
|
|
59
|
+
for chunk, _ in stream:
|
|
60
|
+
print(chunk.content, end="", flush=True)
|
|
61
|
+
```
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
_provider = "google"
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def cost(self) -> float | None:
|
|
68
|
+
"""Returns the cost of the call."""
|
|
69
|
+
return calculate_cost(self.input_tokens, self.output_tokens, self.model)
|
|
70
|
+
|
|
71
|
+
def _construct_message_param(
|
|
72
|
+
self, tool_calls: list[FunctionCall] | None = None, content: str | None = None
|
|
73
|
+
) -> ContentDict:
|
|
74
|
+
"""Constructs the message parameter for the assistant."""
|
|
75
|
+
return {
|
|
76
|
+
"role": "model",
|
|
77
|
+
"parts": cast(
|
|
78
|
+
list[PartDict],
|
|
79
|
+
[{"text": content}]
|
|
80
|
+
+ (
|
|
81
|
+
[
|
|
82
|
+
{"function_call": tool_call}
|
|
83
|
+
for tool_call in (tool_calls or [])
|
|
84
|
+
if tool_calls
|
|
85
|
+
]
|
|
86
|
+
or []
|
|
87
|
+
),
|
|
88
|
+
),
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
def construct_call_response(self) -> GoogleCallResponse:
|
|
92
|
+
"""Constructs the call response from a consumed GoogleStream.
|
|
93
|
+
|
|
94
|
+
Raises:
|
|
95
|
+
ValueError: if the stream has not yet been consumed.
|
|
96
|
+
"""
|
|
97
|
+
if not hasattr(self, "message_param"):
|
|
98
|
+
raise ValueError(
|
|
99
|
+
"No stream response, check if the stream has been consumed."
|
|
100
|
+
)
|
|
101
|
+
response = GenerateContentResponse(
|
|
102
|
+
candidates=[
|
|
103
|
+
Candidate(
|
|
104
|
+
finish_reason=self.finish_reasons[0]
|
|
105
|
+
if self.finish_reasons
|
|
106
|
+
else FinishReason.STOP,
|
|
107
|
+
content=Content(
|
|
108
|
+
role=self.message_param["role"], # pyright: ignore [reportTypedDictNotRequiredAccess]
|
|
109
|
+
parts=self.message_param["parts"], # pyright: ignore [reportTypedDictNotRequiredAccess, reportArgumentType]
|
|
110
|
+
),
|
|
111
|
+
)
|
|
112
|
+
]
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
return GoogleCallResponse(
|
|
116
|
+
metadata=self.metadata,
|
|
117
|
+
response=response,
|
|
118
|
+
tool_types=self.tool_types,
|
|
119
|
+
prompt_template=self.prompt_template,
|
|
120
|
+
fn_args=self.fn_args if self.fn_args else {},
|
|
121
|
+
dynamic_config=self.dynamic_config,
|
|
122
|
+
messages=self.messages,
|
|
123
|
+
call_params=self.call_params,
|
|
124
|
+
call_kwargs=self.call_kwargs,
|
|
125
|
+
user_message_param=self.user_message_param,
|
|
126
|
+
start_time=self.start_time,
|
|
127
|
+
end_time=self.end_time,
|
|
128
|
+
)
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"""The `GoogleTool` class for easy tool usage with Google's Google LLM calls.
|
|
2
|
+
|
|
3
|
+
usage docs: learn/tools.md
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
from google.genai.types import (
|
|
11
|
+
FunctionCall,
|
|
12
|
+
FunctionDeclaration,
|
|
13
|
+
Tool,
|
|
14
|
+
)
|
|
15
|
+
from pydantic.json_schema import SkipJsonSchema
|
|
16
|
+
|
|
17
|
+
from ..base import BaseTool
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class GoogleTool(BaseTool):
|
|
21
|
+
"""A class for defining tools for Google LLM calls.
|
|
22
|
+
|
|
23
|
+
Example:
|
|
24
|
+
|
|
25
|
+
```python
|
|
26
|
+
from mirascope.core import prompt_template
|
|
27
|
+
from mirascope.core.google import google_call
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def format_book(title: str, author: str) -> str:
|
|
31
|
+
return f"{title} by {author}"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@google_call("google-1.5-flash", tools=[format_book])
|
|
35
|
+
def recommend_book(genre: str) -> str:
|
|
36
|
+
return f"Recommend a {genre} book"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
response = recommend_book("fantasy")
|
|
40
|
+
if tool := response.tool: # returns an `GoogleTool` instance
|
|
41
|
+
print(tool.call())
|
|
42
|
+
```
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
__provider__ = "google"
|
|
46
|
+
|
|
47
|
+
tool_call: SkipJsonSchema[FunctionCall]
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def tool_schema(cls) -> Tool:
|
|
51
|
+
"""Constructs a JSON Schema tool schema from the `BaseModel` schema defined.
|
|
52
|
+
|
|
53
|
+
Example:
|
|
54
|
+
```python
|
|
55
|
+
from mirascope.core.google import GoogleTool
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def format_book(title: str, author: str) -> str:
|
|
59
|
+
return f"{title} by {author}"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
tool_type = GoogleTool.type_from_fn(format_book)
|
|
63
|
+
print(tool_type.tool_schema()) # prints the Google-specific tool schema
|
|
64
|
+
```
|
|
65
|
+
"""
|
|
66
|
+
model_schema = cls.model_json_schema()
|
|
67
|
+
fn: dict[str, Any] = {"name": cls._name(), "description": cls._description()}
|
|
68
|
+
|
|
69
|
+
if model_schema["properties"]:
|
|
70
|
+
fn["parameters"] = model_schema
|
|
71
|
+
|
|
72
|
+
if "parameters" in fn:
|
|
73
|
+
if "$defs" in fn["parameters"]:
|
|
74
|
+
raise ValueError(
|
|
75
|
+
"Unfortunately Google's Google API cannot handle nested structures "
|
|
76
|
+
"with $defs."
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
def handle_enum_schema(prop_schema: dict[str, Any]) -> dict[str, Any]:
|
|
80
|
+
if "enum" in prop_schema:
|
|
81
|
+
prop_schema["format"] = "enum"
|
|
82
|
+
return prop_schema
|
|
83
|
+
|
|
84
|
+
fn["parameters"]["properties"] = {
|
|
85
|
+
prop: {
|
|
86
|
+
key: value
|
|
87
|
+
for key, value in handle_enum_schema(prop_schema).items()
|
|
88
|
+
if key != "default"
|
|
89
|
+
}
|
|
90
|
+
for prop, prop_schema in fn["parameters"]["properties"].items()
|
|
91
|
+
}
|
|
92
|
+
return Tool(function_declarations=[FunctionDeclaration(**fn)])
|
|
93
|
+
|
|
94
|
+
@classmethod
|
|
95
|
+
def from_tool_call(cls, tool_call: FunctionCall) -> GoogleTool:
|
|
96
|
+
"""Constructs an `GoogleTool` instance from a `tool_call`.
|
|
97
|
+
|
|
98
|
+
Args:
|
|
99
|
+
tool_call: The Google tool call from which to construct this tool instance.
|
|
100
|
+
"""
|
|
101
|
+
model_json = {"tool_call": tool_call}
|
|
102
|
+
if tool_call.args:
|
|
103
|
+
model_json |= dict(tool_call.args.items())
|
|
104
|
+
return cls.model_validate(model_json)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"""The Mirascope Vertex Module."""
|
|
2
2
|
|
|
3
|
+
import inspect
|
|
4
|
+
import warnings
|
|
3
5
|
from typing import TypeAlias
|
|
4
6
|
|
|
5
7
|
from google.cloud.aiplatform_v1beta1.types import FunctionResponse
|
|
@@ -17,6 +19,19 @@ from .tool import VertexTool
|
|
|
17
19
|
|
|
18
20
|
VertexMessageParam: TypeAlias = Content | FunctionResponse | BaseMessageParam
|
|
19
21
|
|
|
22
|
+
warnings.warn(
|
|
23
|
+
inspect.cleandoc("""
|
|
24
|
+
The `mirascope.core.gemini` module is deprecated and will be removed in a future release.
|
|
25
|
+
Please use the `mirascope.core.google` module instead.
|
|
26
|
+
|
|
27
|
+
You can use Vertex AI by setting a custom `client` or environment variables.
|
|
28
|
+
See these docs for reference:
|
|
29
|
+
- Google AI SDK Custom Client: https://googleapis.github.io/python-genai/#create-a-client
|
|
30
|
+
- Mirascope Google Custom Client: https://mirascope.com/learn/calls/#__tabbed_39_5
|
|
31
|
+
"""),
|
|
32
|
+
category=DeprecationWarning,
|
|
33
|
+
)
|
|
34
|
+
|
|
20
35
|
__all__ = [
|
|
21
36
|
"call",
|
|
22
37
|
"VertexCallParams",
|
mirascope/llm/_protocols.py
CHANGED
mirascope/llm/llm_call.py
CHANGED
|
@@ -74,6 +74,10 @@ def _get_provider_call(provider: str) -> Callable:
|
|
|
74
74
|
from mirascope.core.gemini import gemini_call
|
|
75
75
|
|
|
76
76
|
return gemini_call
|
|
77
|
+
elif provider == "google":
|
|
78
|
+
from mirascope.core.google import google_call
|
|
79
|
+
|
|
80
|
+
return google_call
|
|
77
81
|
elif provider == "groq":
|
|
78
82
|
from mirascope.core.groq import groq_call
|
|
79
83
|
|
mirascope/llm/llm_override.py
CHANGED
|
@@ -15,6 +15,7 @@ if TYPE_CHECKING:
|
|
|
15
15
|
from mirascope.core.bedrock import BedrockCallParams
|
|
16
16
|
from mirascope.core.cohere import CohereCallParams
|
|
17
17
|
from mirascope.core.gemini import GeminiCallParams
|
|
18
|
+
from mirascope.core.google import GoogleCallParams
|
|
18
19
|
from mirascope.core.groq import GroqCallParams
|
|
19
20
|
from mirascope.core.litellm import LiteLLMCallParams
|
|
20
21
|
from mirascope.core.mistral import MistralCallParams
|
|
@@ -23,9 +24,9 @@ if TYPE_CHECKING:
|
|
|
23
24
|
else:
|
|
24
25
|
AnthropicCallParams = AzureCallParams = BedrockCallParams = CohereCallParams = (
|
|
25
26
|
GeminiCallParams
|
|
26
|
-
) = GroqCallParams = LiteLLMCallParams = MistralCallParams =
|
|
27
|
-
|
|
28
|
-
) = None
|
|
27
|
+
) = GoogleCallParams = GroqCallParams = LiteLLMCallParams = MistralCallParams = (
|
|
28
|
+
OpenAICallParams
|
|
29
|
+
) = VertexCallParams = None
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
_P = ParamSpec("_P")
|
|
@@ -77,6 +78,17 @@ def override(
|
|
|
77
78
|
call_params: CommonCallParams | GeminiCallParams | None = None,
|
|
78
79
|
client: Any = None, # noqa: ANN401
|
|
79
80
|
) -> Callable[_P, _R]: ...
|
|
81
|
+
@overload
|
|
82
|
+
def override(
|
|
83
|
+
provider_agnostic_call: Callable[_P, _R],
|
|
84
|
+
*,
|
|
85
|
+
provider: Literal["google"],
|
|
86
|
+
model: str,
|
|
87
|
+
call_params: CommonCallParams | GoogleCallParams | None = None,
|
|
88
|
+
client: Any = None, # noqa: ANN401
|
|
89
|
+
) -> Callable[_P, _R]: ...
|
|
90
|
+
|
|
91
|
+
|
|
80
92
|
@overload
|
|
81
93
|
def override(
|
|
82
94
|
provider_agnostic_call: Callable[_P, _R],
|
|
@@ -150,6 +162,7 @@ def override(
|
|
|
150
162
|
call_params: CommonCallParams
|
|
151
163
|
| AnthropicCallParams
|
|
152
164
|
| GeminiCallParams
|
|
165
|
+
| GoogleCallParams
|
|
153
166
|
| AzureCallParams
|
|
154
167
|
| BedrockCallParams
|
|
155
168
|
| CohereCallParams
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mirascope
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.18.0
|
|
4
4
|
Summary: LLM abstractions that aren't obstructions
|
|
5
5
|
Project-URL: Homepage, https://mirascope.com
|
|
6
6
|
Project-URL: Documentation, https://mirascope.com/WELCOME
|
|
@@ -65,6 +65,9 @@ Requires-Dist: cohere<6,>=5.5.8; extra == 'cohere'
|
|
|
65
65
|
Provides-Extra: gemini
|
|
66
66
|
Requires-Dist: google-generativeai<1,>=0.4.0; extra == 'gemini'
|
|
67
67
|
Requires-Dist: pillow<11,>=10.4.0; extra == 'gemini'
|
|
68
|
+
Provides-Extra: google
|
|
69
|
+
Requires-Dist: google-genai<2,>=1.2.0; extra == 'google'
|
|
70
|
+
Requires-Dist: pillow<11,>=10.4.0; extra == 'google'
|
|
68
71
|
Provides-Extra: groq
|
|
69
72
|
Requires-Dist: groq<1,>=0.9.0; extra == 'groq'
|
|
70
73
|
Provides-Extra: hyperdx
|
|
@@ -41,7 +41,7 @@ mirascope/beta/rag/pinecone/vectorstores.py,sha256=ZcLwVmrxNMq5a2mLI-3F9XJ_UYDry
|
|
|
41
41
|
mirascope/beta/rag/weaviate/__init__.py,sha256=GOkfDjECJhHb_3L2esTB-aZamtJNsLI0RRVD_BmeOY0,231
|
|
42
42
|
mirascope/beta/rag/weaviate/types.py,sha256=-2r2Vy71kpLlRJgVqWoE3atub5a2eymHPSjTHuSqCfQ,2984
|
|
43
43
|
mirascope/beta/rag/weaviate/vectorstores.py,sha256=8Nwy-QRHwSUdvMkqEhqmUkN7y_CzQN7bop7do1K8v4w,3606
|
|
44
|
-
mirascope/core/__init__.py,sha256=
|
|
44
|
+
mirascope/core/__init__.py,sha256=gZ69jq4ZQuTtz4Ae5eDrds-ElzpChBPlq6k4-1Y79l4,1408
|
|
45
45
|
mirascope/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
mirascope/core/anthropic/__init__.py,sha256=0ObxoxWzpsyf3tm5SldosVDxVWiIu1jxuGmcIWl0ZCY,918
|
|
47
47
|
mirascope/core/anthropic/_call.py,sha256=LXUR__AyexD-hsPMPKpA7IFuh8Cfc0uAg1GrJSxiWnU,2358
|
|
@@ -101,7 +101,7 @@ mirascope/core/base/metadata.py,sha256=V9hgMkj6m3QGsu4H5LhCxBZBYQLoygJv0CeLIf1DF
|
|
|
101
101
|
mirascope/core/base/prompt.py,sha256=M5PK9JoEsWTQ-kzNCpZKdDGzWAkb8MS267xEFCPfpAU,15414
|
|
102
102
|
mirascope/core/base/response_model_config_dict.py,sha256=OUdx_YkV2vBzUSSB2OYLAAHf22T7jvF5tRuc6c-vhNQ,254
|
|
103
103
|
mirascope/core/base/stream.py,sha256=Yc7z_TfzXCpUuPTNmpoWpQdFjdRWAL5xK28_qJkmgYM,16404
|
|
104
|
-
mirascope/core/base/stream_config.py,sha256=
|
|
104
|
+
mirascope/core/base/stream_config.py,sha256=vwWqNh9NJhTYjiJmfDbC9D5O84je_lBRhNOt4wI3FHM,238
|
|
105
105
|
mirascope/core/base/structured_stream.py,sha256=FIvLXXKninrpQ5P7MsLEqGrU4cfvEDiPbueZqgJ4Dlw,10395
|
|
106
106
|
mirascope/core/base/tool.py,sha256=G3GTj0jP0YObWQGIHpvUa1hAGQUCaduOhqs0m1zYqoU,6735
|
|
107
107
|
mirascope/core/base/toolkit.py,sha256=GmZquYPqvQL2J9Hd6StEwx6jfeFsqtcUyxKvp4iW_7Q,6271
|
|
@@ -181,7 +181,7 @@ mirascope/core/cohere/_utils/_get_json_output.py,sha256=65gJEpp2ThxGDXJQZyGACpyC
|
|
|
181
181
|
mirascope/core/cohere/_utils/_handle_stream.py,sha256=X7sPmnhKlRr8j6-Ds8ZGkajriCEKMYxzDRYltmHYfWI,1181
|
|
182
182
|
mirascope/core/cohere/_utils/_message_param_converter.py,sha256=IXuPK1mwA69LmcRFGzipwpn73YuKAnETtbUS0KAC_w0,1911
|
|
183
183
|
mirascope/core/cohere/_utils/_setup_call.py,sha256=xdyXamNXYzjRldzQ-xyu-WvH7A7LjNuE2W-w9zP-f9U,4603
|
|
184
|
-
mirascope/core/gemini/__init__.py,sha256=
|
|
184
|
+
mirascope/core/gemini/__init__.py,sha256=FQgSvAk-zcbqo19SdDHfzTZZTYFXadNIzWJlv8wWEW8,1105
|
|
185
185
|
mirascope/core/gemini/_call.py,sha256=g47rUaE4V_onORvRUP9GlgnQKda28dV1Ge2YACvrD-c,2344
|
|
186
186
|
mirascope/core/gemini/_call_kwargs.py,sha256=4f34gl1BPM14wkd0fGJw_58jYzxgGgNvZkjVI5d1hgU,360
|
|
187
187
|
mirascope/core/gemini/call_params.py,sha256=aEXhgZVB0npcT6wL_p7GVGIE3vi_JOiMKdgWtpXTezQ,1723
|
|
@@ -199,6 +199,24 @@ mirascope/core/gemini/_utils/_get_json_output.py,sha256=C2aeeEmcC-mBnbRL8aq3yohd
|
|
|
199
199
|
mirascope/core/gemini/_utils/_handle_stream.py,sha256=1JoRIjwuVehVIjkvT_U2r9TMvMZB96ldp1n1AGon-tw,1153
|
|
200
200
|
mirascope/core/gemini/_utils/_message_param_converter.py,sha256=4r_H1xtJErtLsrui8sG8YTIEjOiqQq_QA6fsMStwG8I,8359
|
|
201
201
|
mirascope/core/gemini/_utils/_setup_call.py,sha256=QaboJO2k1D2ingfHuPSpb-YjMGRIcTIFN5Qe54eMCXM,4992
|
|
202
|
+
mirascope/core/google/__init__.py,sha256=pvcZnXk5dVpH1dYxkup3Xwp6qlZg17e1hjXAriiiiP4,790
|
|
203
|
+
mirascope/core/google/_call.py,sha256=GJOPyvHzVlSXvJpgQhJFg4wFHFUYsvvrbjhNxU-nSl8,2344
|
|
204
|
+
mirascope/core/google/_call_kwargs.py,sha256=baCYcxWsmV06ATw6nuQhh6FPm3k6oWmKOn0MyjESDGc,372
|
|
205
|
+
mirascope/core/google/call_params.py,sha256=9Dt5m1pPVjpl5Qppz6Egl_9FyGjjz9aGCnXkVps7C_Q,538
|
|
206
|
+
mirascope/core/google/call_response.py,sha256=vE-j725f_TQgCf-jZN-kRGSpOdY_u2wf6gQCnp11yDw,6454
|
|
207
|
+
mirascope/core/google/call_response_chunk.py,sha256=7anUmoz3xElWDpzaTOsqWwVAOliohrPAqODj-j47gn0,2838
|
|
208
|
+
mirascope/core/google/dynamic_config.py,sha256=O6j8F0fLVFuuNwURneu5OpPuu_bMEtbDEFHhJXRT6V0,857
|
|
209
|
+
mirascope/core/google/stream.py,sha256=YFPw8QH_u8uJK3UhLNKE96Vbcsb5d48PbtG31FVIDwY,3852
|
|
210
|
+
mirascope/core/google/tool.py,sha256=hHHKlC6CIfv55XqG0NUsBf8eEgUNpgvaBuljq5_NopE,3030
|
|
211
|
+
mirascope/core/google/_utils/__init__.py,sha256=5MKOhK3NFseq2AlapU8TtWS82f8Z0ayJCs3WMsDyc4E,454
|
|
212
|
+
mirascope/core/google/_utils/_calculate_cost.py,sha256=fUyi6QAEa_NpPhtoAgVdQ7PpUa0QykNghsODrDtAYvw,3069
|
|
213
|
+
mirascope/core/google/_utils/_convert_common_call_params.py,sha256=KA-z6uvRtdD4WydC0eXd3dzQuSh4x4WKNR8PAqFNUVY,1065
|
|
214
|
+
mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py,sha256=ig4tb7Zanz-tyZpvc9Ncd47a2FNTOS7-wl1PYBq-4cY,879
|
|
215
|
+
mirascope/core/google/_utils/_convert_message_params.py,sha256=Da2690Pvb1eGbnz0iHdTcsdtBzYADC_RUlNIkxIJGyQ,7632
|
|
216
|
+
mirascope/core/google/_utils/_get_json_output.py,sha256=sxDgT0Ra6YJynL5_hhakf0dNJEhZm0DfAgfcvC_DAFU,1596
|
|
217
|
+
mirascope/core/google/_utils/_handle_stream.py,sha256=BxFuheAu1LKPrPsDxxiLWd2KoajkwJyx2_QT1NXwtWE,1212
|
|
218
|
+
mirascope/core/google/_utils/_message_param_converter.py,sha256=FcPWdMdMcz3Th4q7-vATkPoRPYdT-WdT-sDXsTJO8zQ,6240
|
|
219
|
+
mirascope/core/google/_utils/_setup_call.py,sha256=LAoIrNTTF5EOHNLZroBcN8sNKOjMYKJ07hM49yBaUgE,5791
|
|
202
220
|
mirascope/core/groq/__init__.py,sha256=wo-_txqiLC3iswnXmPX4C6IgsU-_wv1DbBlNDY4rEvo,798
|
|
203
221
|
mirascope/core/groq/_call.py,sha256=gR8VN5IaYWIFXc0csn995q59FM0nBs-xVFjkVycPjMM,2223
|
|
204
222
|
mirascope/core/groq/_call_kwargs.py,sha256=trT8AdQ-jdQPYKlGngIMRwwQuvKuvAbvI1yyozftOuI,425
|
|
@@ -265,7 +283,7 @@ mirascope/core/openai/_utils/_get_json_output.py,sha256=Q_5R6NFFDvmLoz9BQiymC5AE
|
|
|
265
283
|
mirascope/core/openai/_utils/_handle_stream.py,sha256=adsHAcTtGyMMFU9xnUsE4Yd2wrhSNSjcVddkS74mli0,5226
|
|
266
284
|
mirascope/core/openai/_utils/_message_param_converter.py,sha256=r6zJ54xHMxxJ-2daY8l5FyDIa0HsdXeP0cN1wHNt6-E,4101
|
|
267
285
|
mirascope/core/openai/_utils/_setup_call.py,sha256=8zxNZrWcZgBxi4kwzeXHsxFoJW0n0MZYSmSAYj3ossk,5500
|
|
268
|
-
mirascope/core/vertex/__init__.py,sha256=
|
|
286
|
+
mirascope/core/vertex/__init__.py,sha256=xnIwyE_ANzhuXMtNi1ESnE1lbf_X3lp4BP3I8k1IvXA,1435
|
|
269
287
|
mirascope/core/vertex/_call.py,sha256=ebQmWoQLnxScyxhnGKU3MmHkXXzzs_Sw2Yf-d3nZFwU,2323
|
|
270
288
|
mirascope/core/vertex/_call_kwargs.py,sha256=6JxQt1bAscbhPWTGESG1TiskB-i5imDHqLMgbMHmyfI,353
|
|
271
289
|
mirascope/core/vertex/call_params.py,sha256=ISBnMITxAtvuGmpLF9UdkqcDS43RwtuuVakk01YIHDs,706
|
|
@@ -297,12 +315,12 @@ mirascope/integrations/otel/_utils.py,sha256=SCVb3MpcpqLpCpumJEbEdINceNdusnyT6iu
|
|
|
297
315
|
mirascope/integrations/otel/_with_hyperdx.py,sha256=f17uxXQk5zZPtyj6zwPwJz5i7atsnUPOoq1LqT8JO0E,1637
|
|
298
316
|
mirascope/integrations/otel/_with_otel.py,sha256=tbjd6BEbcSfnsm5CWHBoHwbRNrHt6-t4or-SYGQSD-w,1659
|
|
299
317
|
mirascope/llm/__init__.py,sha256=6JWQFeluDzPC4naQY2WneSwsS-LOTeP0NpmoJ2g8zps,94
|
|
300
|
-
mirascope/llm/_protocols.py,sha256=
|
|
318
|
+
mirascope/llm/_protocols.py,sha256=rzqJ8J_XFO1GNwZr3RhnEyFsaY_4B-A1SJXCVKBxo2E,16394
|
|
301
319
|
mirascope/llm/_response_metaclass.py,sha256=6DLQb5IrqMldyEXHT_pAsr2DlUVc9CmZuZiBXG37WK8,851
|
|
302
320
|
mirascope/llm/call_response.py,sha256=EVndIqQyQeWFZ_XyObUhAKOmcR_jWjL44T5M677cqL0,4715
|
|
303
321
|
mirascope/llm/call_response_chunk.py,sha256=9Vyi5_hpgill5CB8BwfSj33VR8sirY2ceTRbru0G3Sw,1820
|
|
304
|
-
mirascope/llm/llm_call.py,sha256=
|
|
305
|
-
mirascope/llm/llm_override.py,sha256=
|
|
322
|
+
mirascope/llm/llm_call.py,sha256=cJJe2wG-_4TndGx5-BLgW2hwHGR_MSbeCGzaCD6MW4A,8511
|
|
323
|
+
mirascope/llm/llm_override.py,sha256=xupkxlvzNSQvWpfmHpGze2CtmQqE1a3ZjCDdPznTeaQ,6523
|
|
306
324
|
mirascope/llm/stream.py,sha256=mVcpBZqpAInVsUc3bO-jiAA5S9OfgyVErIyuz4xLzSE,5731
|
|
307
325
|
mirascope/llm/tool.py,sha256=Rz9W2g0I9bnTHFdIzTIEje8VMe2Di4AZhrNhgQusSjA,1832
|
|
308
326
|
mirascope/mcp/__init__.py,sha256=mGboroTrBbzuZ_8uBssOhkqiJOJ4mNCvaJvS7mhumhg,155
|
|
@@ -332,7 +350,7 @@ mirascope/v0/base/ops_utils.py,sha256=1Qq-VIwgHBaYutiZsS2MUQ4OgPC3APyywI5bTiTAmA
|
|
|
332
350
|
mirascope/v0/base/prompts.py,sha256=FM2Yz98cSnDceYogiwPrp4BALf3_F3d4fIOCGAkd-SE,1298
|
|
333
351
|
mirascope/v0/base/types.py,sha256=ZfatJoX0Yl0e3jhv0D_MhiSVHLYUeJsdN3um3iE10zY,352
|
|
334
352
|
mirascope/v0/base/utils.py,sha256=XREPENRQTu8gpMhHU8RC8qH_am3FfGUvY-dJ6x8i-mw,681
|
|
335
|
-
mirascope-1.
|
|
336
|
-
mirascope-1.
|
|
337
|
-
mirascope-1.
|
|
338
|
-
mirascope-1.
|
|
353
|
+
mirascope-1.18.0.dist-info/METADATA,sha256=P63GzWcu4PhSMPV6Wie3XbEgz_Jpu1xu-FNl2yJeftk,8678
|
|
354
|
+
mirascope-1.18.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
355
|
+
mirascope-1.18.0.dist-info/licenses/LICENSE,sha256=LAs5Q8mdawTsVdONpDGukwsoc4KEUBmmonDEL39b23Y,1072
|
|
356
|
+
mirascope-1.18.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|