hammad-python 0.0.19__py3-none-any.whl → 0.0.21__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.
- hammad/__init__.py +7 -137
- hammad/_internal.py +1 -0
- hammad/cli/_runner.py +8 -8
- hammad/cli/plugins.py +55 -26
- hammad/cli/styles/utils.py +16 -8
- hammad/data/__init__.py +1 -5
- hammad/data/collections/__init__.py +2 -3
- hammad/data/collections/collection.py +41 -22
- hammad/data/collections/indexes/__init__.py +1 -1
- hammad/data/collections/indexes/qdrant/__init__.py +1 -1
- hammad/data/collections/indexes/qdrant/index.py +106 -118
- hammad/data/collections/indexes/qdrant/settings.py +14 -14
- hammad/data/collections/indexes/qdrant/utils.py +28 -38
- hammad/data/collections/indexes/tantivy/__init__.py +1 -1
- hammad/data/collections/indexes/tantivy/index.py +57 -59
- hammad/data/collections/indexes/tantivy/settings.py +8 -19
- hammad/data/collections/indexes/tantivy/utils.py +28 -52
- hammad/data/models/__init__.py +2 -7
- hammad/data/sql/__init__.py +1 -1
- hammad/data/sql/database.py +71 -73
- hammad/data/sql/types.py +37 -51
- hammad/formatting/__init__.py +2 -1
- hammad/formatting/json/converters.py +2 -2
- hammad/genai/__init__.py +96 -36
- hammad/genai/agents/__init__.py +47 -1
- hammad/genai/agents/agent.py +1298 -0
- hammad/genai/agents/run.py +615 -0
- hammad/genai/agents/types/__init__.py +29 -22
- hammad/genai/agents/types/agent_context.py +13 -0
- hammad/genai/agents/types/agent_event.py +128 -0
- hammad/genai/agents/types/agent_hooks.py +220 -0
- hammad/genai/agents/types/agent_messages.py +31 -0
- hammad/genai/agents/types/agent_response.py +122 -0
- hammad/genai/agents/types/agent_stream.py +318 -0
- hammad/genai/models/__init__.py +1 -0
- hammad/genai/models/embeddings/__init__.py +39 -0
- hammad/genai/{embedding_models/embedding_model.py → models/embeddings/model.py} +45 -41
- hammad/genai/{embedding_models → models/embeddings}/run.py +10 -8
- hammad/genai/models/embeddings/types/__init__.py +37 -0
- hammad/genai/{embedding_models → models/embeddings/types}/embedding_model_name.py +2 -4
- hammad/genai/{embedding_models → models/embeddings/types}/embedding_model_response.py +11 -4
- hammad/genai/{embedding_models/embedding_model_request.py → models/embeddings/types/embedding_model_run_params.py} +4 -3
- hammad/genai/models/embeddings/types/embedding_model_settings.py +47 -0
- hammad/genai/models/language/__init__.py +48 -0
- hammad/genai/{language_models/language_model.py → models/language/model.py} +496 -204
- hammad/genai/{language_models → models/language}/run.py +80 -57
- hammad/genai/models/language/types/__init__.py +40 -0
- hammad/genai/models/language/types/language_model_instructor_mode.py +47 -0
- hammad/genai/models/language/types/language_model_messages.py +28 -0
- hammad/genai/{language_models/_types.py → models/language/types/language_model_name.py} +3 -40
- hammad/genai/{language_models → models/language/types}/language_model_request.py +17 -25
- hammad/genai/{language_models → models/language/types}/language_model_response.py +60 -67
- hammad/genai/{language_models → models/language/types}/language_model_response_chunk.py +8 -5
- hammad/genai/models/language/types/language_model_settings.py +89 -0
- hammad/genai/{language_models/_streaming.py → models/language/types/language_model_stream.py} +221 -243
- hammad/genai/{language_models/_utils → models/language/utils}/__init__.py +8 -11
- hammad/genai/models/language/utils/requests.py +421 -0
- hammad/genai/{language_models/_utils/_structured_outputs.py → models/language/utils/structured_outputs.py} +31 -20
- hammad/genai/models/model_provider.py +4 -0
- hammad/genai/{multimodal_models.py → models/multimodal.py} +4 -5
- hammad/genai/models/reranking.py +26 -0
- hammad/genai/types/__init__.py +1 -0
- hammad/genai/types/base.py +215 -0
- hammad/genai/{agents/types → types}/history.py +101 -88
- hammad/genai/{agents/types/tool.py → types/tools.py} +157 -140
- hammad/logging/logger.py +9 -1
- hammad/mcp/client/__init__.py +2 -3
- hammad/mcp/client/client.py +10 -10
- hammad/mcp/servers/__init__.py +2 -1
- hammad/service/decorators.py +1 -3
- hammad/web/models.py +1 -3
- hammad/web/search/client.py +10 -22
- {hammad_python-0.0.19.dist-info → hammad_python-0.0.21.dist-info}/METADATA +10 -2
- hammad_python-0.0.21.dist-info/RECORD +127 -0
- hammad/genai/embedding_models/__init__.py +0 -41
- hammad/genai/language_models/__init__.py +0 -35
- hammad/genai/language_models/_utils/_completions.py +0 -131
- hammad/genai/language_models/_utils/_messages.py +0 -89
- hammad/genai/language_models/_utils/_requests.py +0 -202
- hammad/genai/rerank_models.py +0 -26
- hammad_python-0.0.19.dist-info/RECORD +0 -111
- {hammad_python-0.0.19.dist-info → hammad_python-0.0.21.dist-info}/WHEEL +0 -0
- {hammad_python-0.0.19.dist-info → hammad_python-0.0.21.dist-info}/licenses/LICENSE +0 -0
@@ -1,202 +0,0 @@
|
|
1
|
-
"""hammad.genai.language_models._utils._requests"""
|
2
|
-
|
3
|
-
from typing import (
|
4
|
-
Any,
|
5
|
-
Dict,
|
6
|
-
List,
|
7
|
-
Generic,
|
8
|
-
Optional,
|
9
|
-
Type,
|
10
|
-
TypeVar,
|
11
|
-
Union,
|
12
|
-
TYPE_CHECKING,
|
13
|
-
)
|
14
|
-
|
15
|
-
from ....data.models import (
|
16
|
-
convert_to_pydantic_model,
|
17
|
-
is_pydantic_model_class,
|
18
|
-
)
|
19
|
-
|
20
|
-
from .._types import LanguageModelName, LanguageModelInstructorMode
|
21
|
-
from ..language_model_request import (
|
22
|
-
LanguageModelMessagesParam,
|
23
|
-
LanguageModelRequest,
|
24
|
-
)
|
25
|
-
|
26
|
-
__all__ = [
|
27
|
-
"LanguageModelRequestBuilder"
|
28
|
-
]
|
29
|
-
|
30
|
-
|
31
|
-
T = TypeVar("T")
|
32
|
-
|
33
|
-
|
34
|
-
class LanguageModelRequestBuilder(Generic[T]):
|
35
|
-
"""A request to a language model with comprehensive parameter handling."""
|
36
|
-
|
37
|
-
def __init__(
|
38
|
-
self,
|
39
|
-
messages: LanguageModelMessagesParam,
|
40
|
-
instructions: Optional[str] = None,
|
41
|
-
model: LanguageModelName = "openai/gpt-4o-mini",
|
42
|
-
**kwargs: Any,
|
43
|
-
):
|
44
|
-
"""Initialize a language model request.
|
45
|
-
|
46
|
-
Args:
|
47
|
-
messages: The input messages/content for the request
|
48
|
-
instructions: Optional system instructions to prepend
|
49
|
-
model: The model to use for the request
|
50
|
-
**kwargs: Additional request settings
|
51
|
-
"""
|
52
|
-
self.messages = messages
|
53
|
-
self.instructions = instructions
|
54
|
-
self.model = model
|
55
|
-
self.settings = self._build_settings(**kwargs)
|
56
|
-
|
57
|
-
# Validate settings
|
58
|
-
self._validate_settings()
|
59
|
-
|
60
|
-
def _build_settings(self, **kwargs: Any) -> LanguageModelRequest:
|
61
|
-
"""Build the complete settings dictionary from kwargs."""
|
62
|
-
settings: LanguageModelRequest = {"model": self.model}
|
63
|
-
|
64
|
-
# Add all provided kwargs to settings
|
65
|
-
for key, value in kwargs.items():
|
66
|
-
if value is not None:
|
67
|
-
settings[key] = value
|
68
|
-
|
69
|
-
return settings
|
70
|
-
|
71
|
-
def _validate_settings(self) -> None:
|
72
|
-
"""Validate that the settings are compatible."""
|
73
|
-
# Check if both tools and structured outputs are specified
|
74
|
-
has_tools = any(
|
75
|
-
key in self.settings
|
76
|
-
for key in ["tools", "tool_choice", "parallel_tool_calls", "functions", "function_call"]
|
77
|
-
)
|
78
|
-
|
79
|
-
has_structured_output = "type" in self.settings and self.settings["type"] is not str
|
80
|
-
|
81
|
-
if has_tools and has_structured_output:
|
82
|
-
raise ValueError(
|
83
|
-
"Tools and structured outputs cannot be used together. "
|
84
|
-
"Please specify either tools OR a structured output type, not both."
|
85
|
-
)
|
86
|
-
|
87
|
-
def is_structured_output(self) -> bool:
|
88
|
-
"""Check if this request is for structured output."""
|
89
|
-
return "type" in self.settings and self.settings["type"] is not str
|
90
|
-
|
91
|
-
def is_streaming(self) -> bool:
|
92
|
-
"""Check if this request is for streaming."""
|
93
|
-
return self.settings.get("stream", False)
|
94
|
-
|
95
|
-
def has_tools(self) -> bool:
|
96
|
-
"""Check if this request has tools."""
|
97
|
-
return any(
|
98
|
-
key in self.settings
|
99
|
-
for key in ["tools", "tool_choice", "parallel_tool_calls", "functions", "function_call"]
|
100
|
-
)
|
101
|
-
|
102
|
-
def get_completion_settings(self) -> Dict[str, Any]:
|
103
|
-
"""Get settings filtered for standard completion requests."""
|
104
|
-
excluded_keys = {
|
105
|
-
"type", "instructor_mode", "response_field_name",
|
106
|
-
"response_field_instruction", "response_model_name", "max_retries", "strict",
|
107
|
-
"validation_context", "context",
|
108
|
-
"completion_kwargs_hooks", "completion_response_hooks",
|
109
|
-
"completion_error_hooks", "completion_last_attempt_hooks",
|
110
|
-
"parse_error_hooks"
|
111
|
-
}
|
112
|
-
|
113
|
-
return {
|
114
|
-
key: value for key, value in self.settings.items()
|
115
|
-
if key not in excluded_keys
|
116
|
-
}
|
117
|
-
|
118
|
-
def get_structured_output_settings(self) -> Dict[str, Any]:
|
119
|
-
"""Get settings filtered for structured output requests."""
|
120
|
-
excluded_keys = {
|
121
|
-
"tools", "tool_choice", "parallel_tool_calls",
|
122
|
-
"functions", "function_call",
|
123
|
-
"type", "instructor_mode", "response_field_name",
|
124
|
-
"response_field_instruction", "response_model_name", "max_retries", "strict",
|
125
|
-
"validation_context", "context",
|
126
|
-
"completion_kwargs_hooks", "completion_response_hooks",
|
127
|
-
"completion_error_hooks", "completion_last_attempt_hooks",
|
128
|
-
"parse_error_hooks"
|
129
|
-
}
|
130
|
-
|
131
|
-
return {
|
132
|
-
key: value for key, value in self.settings.items()
|
133
|
-
if key not in excluded_keys
|
134
|
-
}
|
135
|
-
|
136
|
-
def get_output_type(self) -> Type[T]:
|
137
|
-
"""Get the requested output type."""
|
138
|
-
return self.settings.get("type", str)
|
139
|
-
|
140
|
-
def get_instructor_mode(self) -> LanguageModelInstructorMode:
|
141
|
-
"""Get the instructor mode for structured outputs."""
|
142
|
-
return self.settings.get("instructor_mode", "tool_call")
|
143
|
-
|
144
|
-
def get_response_field_name(self) -> str:
|
145
|
-
"""Get the response field name for structured outputs."""
|
146
|
-
return self.settings.get("response_field_name", "content")
|
147
|
-
|
148
|
-
def get_response_field_instruction(self) -> str:
|
149
|
-
"""Get the response field instruction for structured outputs."""
|
150
|
-
return self.settings.get(
|
151
|
-
"response_field_instruction",
|
152
|
-
"A response in the correct type as requested by the user, or relevant content."
|
153
|
-
)
|
154
|
-
|
155
|
-
def get_response_model_name(self) -> str:
|
156
|
-
"""Get the response model name for structured outputs."""
|
157
|
-
return self.settings.get("response_model_name", "Response")
|
158
|
-
|
159
|
-
def get_max_retries(self) -> int:
|
160
|
-
"""Get the maximum retries for structured outputs."""
|
161
|
-
return self.settings.get("max_retries", 3)
|
162
|
-
|
163
|
-
def get_strict_mode(self) -> bool:
|
164
|
-
"""Get the strict mode for structured outputs."""
|
165
|
-
return self.settings.get("strict", True)
|
166
|
-
|
167
|
-
def get_validation_context(self) -> Optional[Dict[str, Any]]:
|
168
|
-
"""Get the validation context for structured outputs."""
|
169
|
-
return self.settings.get("validation_context")
|
170
|
-
|
171
|
-
def get_context(self) -> Optional[Dict[str, Any]]:
|
172
|
-
"""Get the context for structured outputs."""
|
173
|
-
return self.settings.get("context")
|
174
|
-
|
175
|
-
def prepare_pydantic_model(self) -> Optional[Type[Any]]:
|
176
|
-
"""Prepare a Pydantic model for structured outputs if needed."""
|
177
|
-
if not self.is_structured_output():
|
178
|
-
return None
|
179
|
-
|
180
|
-
output_type = self.get_output_type()
|
181
|
-
|
182
|
-
if is_pydantic_model_class(output_type):
|
183
|
-
return output_type
|
184
|
-
|
185
|
-
# Convert to Pydantic model
|
186
|
-
return convert_to_pydantic_model(
|
187
|
-
target=output_type,
|
188
|
-
name="Response",
|
189
|
-
field_name=self.get_response_field_name(),
|
190
|
-
description=self.get_response_field_instruction(),
|
191
|
-
)
|
192
|
-
|
193
|
-
def __repr__(self) -> str:
|
194
|
-
"""String representation of the request."""
|
195
|
-
return (
|
196
|
-
f"LanguageModelRequest("
|
197
|
-
f"model={self.model}, "
|
198
|
-
f"structured_output={self.is_structured_output()}, "
|
199
|
-
f"streaming={self.is_streaming()}, "
|
200
|
-
f"has_tools={self.has_tools()}"
|
201
|
-
f")"
|
202
|
-
)
|
hammad/genai/rerank_models.py
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
"""hammad.genai.rerank_models"""
|
2
|
-
|
3
|
-
# yay litellm
|
4
|
-
|
5
|
-
from typing import TYPE_CHECKING
|
6
|
-
from .._internal import create_getattr_importer
|
7
|
-
|
8
|
-
|
9
|
-
if TYPE_CHECKING:
|
10
|
-
from litellm import (
|
11
|
-
rerank as run_rerank_model,
|
12
|
-
arerank as async_run_rerank_model,
|
13
|
-
)
|
14
|
-
|
15
|
-
|
16
|
-
__all__ = (
|
17
|
-
"run_rerank_model",
|
18
|
-
"async_run_rerank_model",
|
19
|
-
)
|
20
|
-
|
21
|
-
|
22
|
-
__getattr__ = create_getattr_importer(__all__)
|
23
|
-
|
24
|
-
|
25
|
-
def __dir__() -> list[str]:
|
26
|
-
return list(__all__)
|
@@ -1,111 +0,0 @@
|
|
1
|
-
hammad/__init__.py,sha256=UpuJ5PGj4xyr9kWfqz_WQODO9D9Va77d3YyY2aOGfmY,3649
|
2
|
-
hammad/_internal.py,sha256=00ZXmXIlE3P_cewYrPsJuO38vYqhHY2XnFzFpzXgoyY,7871
|
3
|
-
hammad/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
hammad/cache/__init__.py,sha256=29vI8UkVITtiEe7fTr9UR5Q0lV7tr_SVe7tLlJmm1Ks,954
|
5
|
-
hammad/cache/base_cache.py,sha256=kYJS2IcQtxhzT7BQBFtOWnhw4VkvAapPhAVkfbW5IeY,6353
|
6
|
-
hammad/cache/cache.py,sha256=bzDXxjSolrSdIxqES2VMfVZZGTk_8k4x9n0AW4tlifs,4621
|
7
|
-
hammad/cache/decorators.py,sha256=olYLK5x4JkxHpA8WIiplI45QYmNIzyGjNMrTKNRCSQg,9599
|
8
|
-
hammad/cache/file_cache.py,sha256=XjLJxM4Ql65OABxz8q1DtA_s8HZQJKywCw6MNVnC6YE,2485
|
9
|
-
hammad/cache/ttl_cache.py,sha256=-0pJ4lkVgg1OIb98bQFub9n6f4zgWVs-dQfKZe_DmpE,2153
|
10
|
-
hammad/cli/__init__.py,sha256=DkBgA8zkdsOmReoPI5dqni5l5DGkaA7TzrIFvmy5MIo,785
|
11
|
-
hammad/cli/_runner.py,sha256=hZVS_hQbxazfdWFog9V1pQeD11XU7pT7H8_Gop8Xd5c,9539
|
12
|
-
hammad/cli/animations.py,sha256=h68OuJBkDiYTLdB5pLPgQ2gpPT2c3dNulkDv2BtKHFA,19507
|
13
|
-
hammad/cli/plugins.py,sha256=433XcqVmNB50_CqeL2_HOziFwacU9tQeluys7ZegZ4s,30802
|
14
|
-
hammad/cli/styles/__init__.py,sha256=Ok7J_uhJgyswNkBWnDw50oTX9Xk1HPksUl3UbmT1qTI,1363
|
15
|
-
hammad/cli/styles/settings.py,sha256=irChf9RsMij3djx_n9D9duoVIzxLCpd9-BlKl6U_OLk,5532
|
16
|
-
hammad/cli/styles/types.py,sha256=vNIeQY_23m10K8qVT7Iy-PMwosGL-La-UAZKszHJjEE,7911
|
17
|
-
hammad/cli/styles/utils.py,sha256=hIpQcDFjyJpRE0gp3RRXVlWfZ83hMGAKD_uQZmAIwrk,28292
|
18
|
-
hammad/data/__init__.py,sha256=5htef4M7fsd0wPuGIT0bpBpHeImYEn8pBsS7SxG4Tkk,1827
|
19
|
-
hammad/data/collections/__init__.py,sha256=xC1DzECEdL6WU01WDu41eAIcVadUGLWctcD_xspdxb4,1045
|
20
|
-
hammad/data/collections/collection.py,sha256=Qg1Kq9nhe6x0U60UXvosVBU08Boxi1qsZZ3SmfqtkT0,10779
|
21
|
-
hammad/data/collections/indexes/__init__.py,sha256=MKwemZ59F1No5deRYpft_Dg6x9yUcz0PC0fvEE7eF9o,959
|
22
|
-
hammad/data/collections/indexes/qdrant/__init__.py,sha256=yFS70aPt9QRYVjRT5hU8_29OqMNMgmujtMyY1vIStBE,48
|
23
|
-
hammad/data/collections/indexes/qdrant/index.py,sha256=KJVON-RDgMJbhTIGvRT6mFIV2cGKLI21g3IZRsMkUGU,26665
|
24
|
-
hammad/data/collections/indexes/qdrant/settings.py,sha256=hr5eXTAbesGHDcseA6whIIAUfWMm7zcvIQbRVMlzBdQ,2505
|
25
|
-
hammad/data/collections/indexes/qdrant/utils.py,sha256=kqLo1yRhpF20L0t1k54PG3BqG8m7sbXqkov_H9FktDA,6576
|
26
|
-
hammad/data/collections/indexes/tantivy/__init__.py,sha256=ugbv5tChrgyM5jN-czXOu5DLsweMgWiqKt5YAKFayDw,45
|
27
|
-
hammad/data/collections/indexes/tantivy/index.py,sha256=m02-NPlnSnKrGysZt8L2BtudFZtthNwo6yKcQzgbaO0,13954
|
28
|
-
hammad/data/collections/indexes/tantivy/settings.py,sha256=ACR67704pqLsTwCvSpLhi52Oun5s9E5LpUH_OrQwlM4,1397
|
29
|
-
hammad/data/collections/indexes/tantivy/utils.py,sha256=fi0EckbRdvLUKSWAAhId8j6JrQ7iI76Y3Ytm3g7udsM,5599
|
30
|
-
hammad/data/configurations/__init__.py,sha256=1vJMpKKItA_aCDtOV7ouNpNAwOXhCJ28H_8dilrAzz0,834
|
31
|
-
hammad/data/configurations/configuration.py,sha256=ijm2FAyQjZ66Jo2RlT5hjCiAZdC9EnnghmR7Pj5z0Gw,17737
|
32
|
-
hammad/data/models/__init__.py,sha256=1s7_qeAA94i0-1wKkfAi4Ee83EZwNaNldJKOvBpPiBE,1172
|
33
|
-
hammad/data/models/fields.py,sha256=6H5SbrXhC0KEge5PJNFqN-Ek8RKxt7-eRKC2E7xmoe8,19180
|
34
|
-
hammad/data/models/model.py,sha256=gBH6fL9TjSYfAyDHuw-VJdTorML62iisokvTlVzOnhY,39128
|
35
|
-
hammad/data/models/utils.py,sha256=KNtr1PlxBizs14gmZqQeG1A7EQ6JHPRrRN0pTr3ucR8,9964
|
36
|
-
hammad/data/models/extensions/__init__.py,sha256=dfVDCMBKZYtaMHJRQBShaoMHFcQ6VJcD_5q5Fcc77mQ,128
|
37
|
-
hammad/data/models/extensions/pydantic/__init__.py,sha256=2ipoelO4knYSug47Vdt0URHtBNCQIFixJ3tTcawaCtE,1205
|
38
|
-
hammad/data/models/extensions/pydantic/converters.py,sha256=_485-4EUQe7-fxlPG2o1wnaU8SDA79AhxMitiUMoIYY,24545
|
39
|
-
hammad/data/sql/__init__.py,sha256=ewHFbnGeqYr2Fs51du5dqepUC98qa4eBSQWnbtuYq40,452
|
40
|
-
hammad/data/sql/database.py,sha256=S2-MCmgYzgtjwFGzFQjVBUxZMrtdvBj9IGZxh_mKnGo,18780
|
41
|
-
hammad/data/sql/types.py,sha256=B89Xu6x0qQCxlRNe8ob-lJAWfHONKCeFUK0TIjyFB5E,3707
|
42
|
-
hammad/data/types/__init__.py,sha256=LeyrRKKBbDP2VaTaNEiyJU_1rs52LofD18WUS8rl5gw,758
|
43
|
-
hammad/data/types/file.py,sha256=l1mXtyxsmbx0P_U_rnjkgc4N_UQBevAESTAZmBc8eVc,11111
|
44
|
-
hammad/data/types/text.py,sha256=rATiwkTsAJ8pWzZ7OBsWX7rDNoKvkeuWsGWd_sbuUaM,33369
|
45
|
-
hammad/data/types/multimodal/__init__.py,sha256=LQzomOVQFYnmkQT7hFIxcM261FDXtV3i0uEHB7GXIwU,427
|
46
|
-
hammad/data/types/multimodal/audio.py,sha256=rn1G1vwDlt4d30ZumzYBeO0f0OhdtIQBJRCaSkyPHRA,2786
|
47
|
-
hammad/data/types/multimodal/image.py,sha256=xp9aWeGkg6FReuFLA63CQ81tv74nFxVtgVjpoDZNjjw,2274
|
48
|
-
hammad/formatting/__init__.py,sha256=CkPXIGHLP7xUfRiIPsqBZUCw98uW5HnD1H7uQXZHl8k,346
|
49
|
-
hammad/formatting/json/__init__.py,sha256=V4uODCUQdptfyw_D96R3XDopw1bgNIR2ogiEG-Z-FtQ,525
|
50
|
-
hammad/formatting/json/converters.py,sha256=usnqYc5N9GHOkTIJKNKiJ3GO9oQo5zYOGmupvJkqUjk,5597
|
51
|
-
hammad/formatting/text/__init__.py,sha256=ZAA7D4pwKFjeUxHsnm21QKSTtQ7Fj8ncO__m5Ry_eHY,1506
|
52
|
-
hammad/formatting/text/converters.py,sha256=g3z-ZGTaKNVbLFFKBSh6qN2Uz0BSkdxCaN3LR9cAyV8,23806
|
53
|
-
hammad/formatting/text/markdown.py,sha256=D17NOoGkoXUBhoOGKelKHwi72iqsAwPU5HEFjRJtLQI,3407
|
54
|
-
hammad/formatting/yaml/__init__.py,sha256=4dBeXPi0jx7ELT2_sC2fUYaiY8b8wFiUScLODc9ISEw,462
|
55
|
-
hammad/formatting/yaml/converters.py,sha256=zvSB8QGb56uvwO0KjXllfTj9g1FmNINOKR06DTjvXw8,153
|
56
|
-
hammad/genai/__init__.py,sha256=tDBxnxcDfa1M2LVGfyj8YnY47yg197aTvW4qWVwTFjM,1952
|
57
|
-
hammad/genai/multimodal_models.py,sha256=nBoc-KiWkeOXotAiYiZRnU9DrbDR7Gex0mgYvt6QTbo,1291
|
58
|
-
hammad/genai/rerank_models.py,sha256=JFiIQ8AuQVoYcFQHR9iuq_tiocwvlIq1bFTWbGF-_T0,434
|
59
|
-
hammad/genai/agents/__init__.py,sha256=AyFkBd70jrLGWa6va1BoiNPutdkwySgeCv_lo97aZB4,25
|
60
|
-
hammad/genai/agents/types/__init__.py,sha256=vrIY5_Z2gYINnd5BO5ZbxKS0mW7aqcTWW_1icYFn1Ew,618
|
61
|
-
hammad/genai/agents/types/history.py,sha256=YN7vudPkhI1mnQgtf12nw-p2xaqxc4rtc9lruo_RWCw,10043
|
62
|
-
hammad/genai/agents/types/tool.py,sha256=EqPaJ2c8z6S5poA-eq8ex6acJ0Vc2_kQ2ePY5triwlU,16780
|
63
|
-
hammad/genai/embedding_models/__init__.py,sha256=GAjlkZjX2tMRKqP6AKY0rokRSiRZRpa4T-NbtpldEfc,1085
|
64
|
-
hammad/genai/embedding_models/embedding_model.py,sha256=9JiJLarsl2PwP_IGPXPU1Vkh6CpQZJVN7y1VAXPYS-U,6968
|
65
|
-
hammad/genai/embedding_models/embedding_model_name.py,sha256=bsHc-3Xx6X5EU6LuiPPlkyZa4W_oTwW4AJhm4hBAs8Y,2504
|
66
|
-
hammad/genai/embedding_models/embedding_model_request.py,sha256=nZyUmUaNHR4OTJXFLDE9BACFJ-D8QMECxcDxtlVWPWg,1562
|
67
|
-
hammad/genai/embedding_models/embedding_model_response.py,sha256=xrHDej5Ic-R-JAyc6LeDqomCL88w-nv3B42cBZIdTnE,1809
|
68
|
-
hammad/genai/embedding_models/run.py,sha256=mq_G5kGkZYf7ZdpCeh7mtyb5GBjrK67065C6R9TgrvY,5083
|
69
|
-
hammad/genai/language_models/__init__.py,sha256=BbIFRpC-z02kvUHmPHP7Yo3wrXUkwPGcskB84N3Qz74,1103
|
70
|
-
hammad/genai/language_models/_streaming.py,sha256=Rmjnhl_QRu1FpaBBSbX8ijZbyqpNKOJxjyGZ1sY_UYw,23884
|
71
|
-
hammad/genai/language_models/_types.py,sha256=9VorMf71rOV5ftBEItsMJmgBocZZPKWrP8yhncA-wd0,8906
|
72
|
-
hammad/genai/language_models/language_model.py,sha256=ZOBJjZd0kpHda9hCUcTlxR7-9WB-ZX5wGGJcMZasthY,28782
|
73
|
-
hammad/genai/language_models/language_model_request.py,sha256=blGgLaZvEfFUVmT2NHPH9OuCQrfhHQhenRk6QLeTWeI,4378
|
74
|
-
hammad/genai/language_models/language_model_response.py,sha256=epq9_kM-KPDoRXWk9SiD07w_i7rOXdCtdOHRGUJgA6g,7709
|
75
|
-
hammad/genai/language_models/language_model_response_chunk.py,sha256=2-hJfW0wSdxXTRKxmYZH97PjC9oiOtghzPt4FhPWXRE,1735
|
76
|
-
hammad/genai/language_models/run.py,sha256=dA7Ws44H0rpB_WAyWIPKoR5XfHva9FjMC1tNYKOh8mk,21239
|
77
|
-
hammad/genai/language_models/_utils/__init__.py,sha256=MjS_wQ5AaGvP806cQ3EboOABHJH3EHkm7Llpdf6uYQM,789
|
78
|
-
hammad/genai/language_models/_utils/_completions.py,sha256=nDPMKrIjiMO2FKrxbLgOc4oitiVcAk-c3iVDXKLb3PY,3777
|
79
|
-
hammad/genai/language_models/_utils/_messages.py,sha256=WupMWUbEC_QDuDp3ML-AfbCqK8HBRGptn3PqX7ywA0Y,2684
|
80
|
-
hammad/genai/language_models/_utils/_requests.py,sha256=_-6wK-3nkHYiVMEN2yxDur5ALOXeiK5wX96MvCTQS5w,7200
|
81
|
-
hammad/genai/language_models/_utils/_structured_outputs.py,sha256=Uo60SMM6r6SDtdJnh2tmvdgs9znmmpRvzfMgnAkm8zs,3880
|
82
|
-
hammad/logging/__init__.py,sha256=VtskZx0bKEAJ9FHTMflhB1CzeFUxLpDT5HPgcecAXUo,701
|
83
|
-
hammad/logging/decorators.py,sha256=VbI1x3P4ft0-0BGjXq7nQgiuNqcXAA51CGmoSn47iSw,30122
|
84
|
-
hammad/logging/logger.py,sha256=dVYJugByhJ9Qjzx0rF-l9aG6Jm2-ut5Oc5z9AkzHZUo,31536
|
85
|
-
hammad/mcp/__init__.py,sha256=5oTU-BLYjfz6fBHDH9cyWg3DpQ6Qar-jodbCR05SuWo,1123
|
86
|
-
hammad/mcp/client/__init__.py,sha256=i6aAYLoMkm78hOog4OssnT7jgkUXHDBQsdtvDLirSmA,795
|
87
|
-
hammad/mcp/client/client.py,sha256=ZAyeBEZKXg_ft7wirri1R4w4RXlMuet_z0yDuLxH3-M,20637
|
88
|
-
hammad/mcp/client/client_service.py,sha256=quJp02n9tp70l0SJd9jkIuRkdSPeWegzusk-eiV41b0,14990
|
89
|
-
hammad/mcp/client/settings.py,sha256=7bLpJYyiUT_H7zp3SDwLyAt9fmiQwL3L89qVTAZYpi8,5913
|
90
|
-
hammad/mcp/servers/__init__.py,sha256=5S5JrdkzMRmW1iIlZeQOblx7SFj8sTpG6w0tKLZrNMM,583
|
91
|
-
hammad/mcp/servers/launcher.py,sha256=jQDQOqz-cKK2PSEOxoPBCVsBeTABNNjcwTXSWE4-LQA,41606
|
92
|
-
hammad/runtime/__init__.py,sha256=I7MuJV-1dvLSUaAiK6TCAo1rm0vQvR617bLd1Q9c99E,662
|
93
|
-
hammad/runtime/decorators.py,sha256=5T56nAwwfH0ZKfnLlDGkDNFYaGBBSrH1i4_yX3Dt5GA,4524
|
94
|
-
hammad/runtime/run.py,sha256=VFzoXieSaEg1KlDTTepDIsSyISkWXuxHpNs_AgHX5nM,10802
|
95
|
-
hammad/service/__init__.py,sha256=B7wnQkT8e2kFwaigpAcXI_PJ8jlQzxcgTtDDH1p4KSU,1222
|
96
|
-
hammad/service/create.py,sha256=Z0Vy-nQUKk_zqLuVOKJye6gLdVSU5HNlPgm4irvRgu8,16224
|
97
|
-
hammad/service/decorators.py,sha256=bw-fgnvIjivLjbXUrBxcx-fsEZZI4Evl5zxNnC1HA-o,9940
|
98
|
-
hammad/typing/__init__.py,sha256=P9XCKrn-kxyfSLHpY9vraOLV9vyoBz_DzEm6eIH5xWY,11712
|
99
|
-
hammad/web/__init__.py,sha256=8wQPjlpW6t1bbCKUkZMIEJtVbL9Aj6TnTWcmNRdjBRY,1077
|
100
|
-
hammad/web/models.py,sha256=LivyMeLnjyRYqCNYzJRu_--IYjOzBiySYXYB9obqlnU,6421
|
101
|
-
hammad/web/utils.py,sha256=o-ys9anLDtOTkqvk0Z8gxc-V0lhp0LB03DHFpoj6Ous,15863
|
102
|
-
hammad/web/http/__init__.py,sha256=jn9Rn7Yg2cypD7duTTNFuW2wQZx9B63Bde4RJJeDYU0,22
|
103
|
-
hammad/web/http/client.py,sha256=LWBSVjvHEuHmOOWq5EUT4zN5w6zSG45bOTk6FiSPHuA,33082
|
104
|
-
hammad/web/openapi/__init__.py,sha256=JhJQ6_laBmB2djIYFc0vgGha2GsdUe4FP1LDdZCQ5J4,25
|
105
|
-
hammad/web/openapi/client.py,sha256=1pXz7KAO_0pN4kQZoWKWskXDYGiJ535TsPO1GGCiC0E,26816
|
106
|
-
hammad/web/search/__init__.py,sha256=e9A6znPIiZCz-4secyHbUs0uUGf5yAqW6wGacgx961U,24
|
107
|
-
hammad/web/search/client.py,sha256=T1--L-EWe8AA9nZPxEehhHTNmWkGCcbQrhZxY84zTYs,36964
|
108
|
-
hammad_python-0.0.19.dist-info/METADATA,sha256=ajI9f7-fdX0z3ZWnAemv1KBT80g9RaWAWqMk94HCz18,6214
|
109
|
-
hammad_python-0.0.19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
110
|
-
hammad_python-0.0.19.dist-info/licenses/LICENSE,sha256=h74yFUWjbBaodcWG5wNmm30npjl8obVcxD-1nQfUp2I,1069
|
111
|
-
hammad_python-0.0.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|