waldiez 0.1.19__py3-none-any.whl → 0.1.20__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.
Potentially problematic release.
This version of waldiez might be problematic. Click here for more details.
- waldiez/__init__.py +3 -0
- waldiez/_version.py +1 -1
- waldiez/models/model/__init__.py +2 -1
- waldiez/models/model/model.py +37 -2
- waldiez/runner.py +57 -1
- {waldiez-0.1.19.dist-info → waldiez-0.1.20.dist-info}/METADATA +1 -1
- {waldiez-0.1.19.dist-info → waldiez-0.1.20.dist-info}/RECORD +10 -10
- {waldiez-0.1.19.dist-info → waldiez-0.1.20.dist-info}/WHEEL +0 -0
- {waldiez-0.1.19.dist-info → waldiez-0.1.20.dist-info}/entry_points.txt +0 -0
- {waldiez-0.1.19.dist-info → waldiez-0.1.20.dist-info}/licenses/LICENSE +0 -0
waldiez/__init__.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Waldiez package."""
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
+
import warnings
|
|
4
5
|
|
|
5
6
|
from ._version import __version__
|
|
6
7
|
from .conflict_checker import check_conflicts
|
|
@@ -8,6 +9,8 @@ from .exporter import WaldiezExporter
|
|
|
8
9
|
from .models import Waldiez
|
|
9
10
|
from .runner import WaldiezRunner
|
|
10
11
|
|
|
12
|
+
warnings.filterwarnings("ignore", "flaml.automl is not available")
|
|
13
|
+
|
|
11
14
|
|
|
12
15
|
# pylint: disable=too-few-public-methods
|
|
13
16
|
class FlamlFilter(logging.Filter):
|
waldiez/_version.py
CHANGED
waldiez/models/model/__init__.py
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"""Waldiez model."""
|
|
2
2
|
|
|
3
|
-
from .model import WaldiezModel
|
|
3
|
+
from .model import DEFAULT_BASE_URLS, WaldiezModel
|
|
4
4
|
from .model_data import WaldiezModelAPIType, WaldiezModelData, WaldiezModelPrice
|
|
5
5
|
|
|
6
6
|
__all__ = [
|
|
7
|
+
"DEFAULT_BASE_URLS",
|
|
7
8
|
"WaldiezModel",
|
|
8
9
|
"WaldiezModelData",
|
|
9
10
|
"WaldiezModelPrice",
|
waldiez/models/model/model.py
CHANGED
|
@@ -7,7 +7,16 @@ from pydantic import Field
|
|
|
7
7
|
from typing_extensions import Annotated, Literal
|
|
8
8
|
|
|
9
9
|
from ..common import WaldiezBase, now
|
|
10
|
-
from .model_data import WaldiezModelData
|
|
10
|
+
from .model_data import WaldiezModelAPIType, WaldiezModelData
|
|
11
|
+
|
|
12
|
+
DEFAULT_BASE_URLS: Dict[WaldiezModelAPIType, str] = {
|
|
13
|
+
"google": "https://generativelanguage.googleapis.com/v1beta",
|
|
14
|
+
"anthropic": "https://api.anthropic.com/v1",
|
|
15
|
+
"mistral": "https://api.mistral.ai/v1",
|
|
16
|
+
"groq": "https://api.groq.com/openai/v1",
|
|
17
|
+
"together": "https://api.together.xyz/v1",
|
|
18
|
+
"nim": "https://integrate.api.nvidia.com/v1",
|
|
19
|
+
}
|
|
11
20
|
|
|
12
21
|
|
|
13
22
|
class WaldiezModel(WaldiezBase):
|
|
@@ -166,4 +175,30 @@ class WaldiezModel(WaldiezBase):
|
|
|
166
175
|
value = getattr(self, attr)
|
|
167
176
|
if value:
|
|
168
177
|
_llm_config[attr] = value
|
|
169
|
-
return _llm_config
|
|
178
|
+
return set_default_base_url(_llm_config, self.data.api_type)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def set_default_base_url(
|
|
182
|
+
llm_config: Dict[str, Any], api_type: WaldiezModelAPIType
|
|
183
|
+
) -> Dict[str, Any]:
|
|
184
|
+
"""Set the default base url if not provided.
|
|
185
|
+
|
|
186
|
+
Parameters
|
|
187
|
+
----------
|
|
188
|
+
llm_config : Dict[str, Any]
|
|
189
|
+
The llm config dictionary.
|
|
190
|
+
api_type : str
|
|
191
|
+
The api type.
|
|
192
|
+
|
|
193
|
+
Returns
|
|
194
|
+
-------
|
|
195
|
+
Dict[str, Any]
|
|
196
|
+
The llm config dictionary with the default base url set.
|
|
197
|
+
"""
|
|
198
|
+
if api_type in ("openai", "other", "azure"):
|
|
199
|
+
return llm_config
|
|
200
|
+
if "base_url" not in llm_config or not llm_config["base_url"]:
|
|
201
|
+
dict_copy = llm_config.copy()
|
|
202
|
+
dict_copy["base_url"] = DEFAULT_BASE_URLS.get(api_type, "")
|
|
203
|
+
return dict_copy
|
|
204
|
+
return llm_config
|
waldiez/runner.py
CHANGED
|
@@ -18,6 +18,7 @@ import site
|
|
|
18
18
|
import subprocess # nosemgrep # nosec
|
|
19
19
|
import sys
|
|
20
20
|
import tempfile
|
|
21
|
+
import warnings
|
|
21
22
|
from contextlib import contextmanager
|
|
22
23
|
from pathlib import Path
|
|
23
24
|
from types import TracebackType
|
|
@@ -28,6 +29,7 @@ from typing import (
|
|
|
28
29
|
Iterator,
|
|
29
30
|
List,
|
|
30
31
|
Optional,
|
|
32
|
+
Tuple,
|
|
31
33
|
Type,
|
|
32
34
|
Union,
|
|
33
35
|
)
|
|
@@ -349,6 +351,7 @@ def refresh_environment() -> None:
|
|
|
349
351
|
importlib.reload(autogen)
|
|
350
352
|
# restore the default IOStream
|
|
351
353
|
IOStream.set_global_default(default_io_stream)
|
|
354
|
+
warnings.filterwarnings("ignore", "flaml.automl is not available")
|
|
352
355
|
|
|
353
356
|
|
|
354
357
|
def get_printer() -> Callable[..., None]:
|
|
@@ -361,4 +364,57 @@ def get_printer() -> Callable[..., None]:
|
|
|
361
364
|
"""
|
|
362
365
|
from autogen.io import IOStream
|
|
363
366
|
|
|
364
|
-
|
|
367
|
+
printer = IOStream.get_default().print
|
|
368
|
+
|
|
369
|
+
def safe_printer(*args: object, **kwargs: object) -> None:
|
|
370
|
+
try:
|
|
371
|
+
printer(*args, **kwargs)
|
|
372
|
+
except UnicodeEncodeError:
|
|
373
|
+
# pylint: disable=too-many-try-statements
|
|
374
|
+
try:
|
|
375
|
+
msg, flush = get_what_to_print(*args, **kwargs)
|
|
376
|
+
printer(msg, end="", flush=flush)
|
|
377
|
+
except UnicodeEncodeError:
|
|
378
|
+
sys.stdout = io.TextIOWrapper(
|
|
379
|
+
sys.stdout.buffer, encoding="utf-8"
|
|
380
|
+
)
|
|
381
|
+
sys.stderr = io.TextIOWrapper(
|
|
382
|
+
sys.stderr.buffer, encoding="utf-8"
|
|
383
|
+
)
|
|
384
|
+
try:
|
|
385
|
+
printer(*args, **kwargs)
|
|
386
|
+
except UnicodeEncodeError:
|
|
387
|
+
sys.stderr.write(
|
|
388
|
+
"Could not print the message due to encoding issues.\n"
|
|
389
|
+
)
|
|
390
|
+
|
|
391
|
+
return safe_printer
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
def get_what_to_print(*args: object, **kwargs: object) -> Tuple[str, bool]:
|
|
395
|
+
"""Get what to print.
|
|
396
|
+
|
|
397
|
+
Parameters
|
|
398
|
+
----------
|
|
399
|
+
args : object
|
|
400
|
+
The arguments.
|
|
401
|
+
kwargs : object
|
|
402
|
+
The keyword arguments.
|
|
403
|
+
|
|
404
|
+
Returns
|
|
405
|
+
-------
|
|
406
|
+
Tuple[str, bool]
|
|
407
|
+
The message and whether to flush.
|
|
408
|
+
"""
|
|
409
|
+
sep = kwargs.get("sep", " ")
|
|
410
|
+
if not isinstance(sep, str):
|
|
411
|
+
sep = " "
|
|
412
|
+
end = kwargs.get("end", "\n")
|
|
413
|
+
if not isinstance(end, str):
|
|
414
|
+
end = "\n"
|
|
415
|
+
flush = kwargs.get("flush", False)
|
|
416
|
+
if not isinstance(flush, bool):
|
|
417
|
+
flush = False
|
|
418
|
+
msg = sep.join(str(arg) for arg in args) + end
|
|
419
|
+
utf8_msg = msg.encode("utf-8", errors="replace").decode("utf-8")
|
|
420
|
+
return utf8_msg, flush
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
waldiez/__init__.py,sha256=
|
|
1
|
+
waldiez/__init__.py,sha256=EhgIJb-VHvb74qIwO2BDME3CSvi4VEsn8LHeCa1SmEU,2020
|
|
2
2
|
waldiez/__main__.py,sha256=mUQWu4CF03Jbbscvcfb_9EFTnIMliJJJmAuWf0sRRZU,110
|
|
3
|
-
waldiez/_version.py,sha256=
|
|
3
|
+
waldiez/_version.py,sha256=O-rY-SU1lOwACK5jnGmgJiS5lr3jJ-QamFbqNmBmLzM,63
|
|
4
4
|
waldiez/cli.py,sha256=19LFqep8urzcLm6TzVSyJEOKI2Q8XXZbuuFsgV0k9LQ,6334
|
|
5
5
|
waldiez/conflict_checker.py,sha256=E-w0TfTivDAVpNvjd_NSBeaaFsWtWAyxKoSz0-g6x2U,880
|
|
6
6
|
waldiez/exporter.py,sha256=iKe-l_Me8NRWsXHIdBcrOrnLT9XIyp4iYi4HLuuj2jA,9342
|
|
7
7
|
waldiez/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
waldiez/runner.py,sha256=
|
|
8
|
+
waldiez/runner.py,sha256=rkRRFMLI2bM0LcZGG78qxGS2p67V2AvN0CsLMVA0Igo,12947
|
|
9
9
|
waldiez/exporting/__init__.py,sha256=GMY7qTRpNmc7tpaCFNGLT5wX9eu26NvoNPuYX8MzP50,344
|
|
10
10
|
waldiez/exporting/agents/__init__.py,sha256=v5KA112W_EFYwXE2TSBKYyO8rRKUOUAOpFS5CMSnfRs,110
|
|
11
11
|
waldiez/exporting/agents/agent.py,sha256=d2ut2B90-aG4uBRhPWS7B4MKIvSJqQva6DjlXiqleVQ,7513
|
|
@@ -78,14 +78,14 @@ waldiez/models/common/method_utils.py,sha256=K7dNyvqHwvwuULLgn1_uK72Bfnm9d0CYHP3
|
|
|
78
78
|
waldiez/models/flow/__init__.py,sha256=oy_G58xDkZk_LZEvqmr-0MJrpYy1JRf-U-F5-bI1944,162
|
|
79
79
|
waldiez/models/flow/flow.py,sha256=1r0g_vBMd2PKcRC8P1ylWOUW3zwb529oOglf91SkILI,9663
|
|
80
80
|
waldiez/models/flow/flow_data.py,sha256=m-RYaqlWjVpjyUzX9iAtXn1GOH0pFGKd2QD3e_e7yrk,2694
|
|
81
|
-
waldiez/models/model/__init__.py,sha256=
|
|
82
|
-
waldiez/models/model/model.py,sha256=
|
|
81
|
+
waldiez/models/model/__init__.py,sha256=nT9jdKqeV4LPkqWi84Z7hCYZ1257Tj8YhUWbxhFlQl0,290
|
|
82
|
+
waldiez/models/model/model.py,sha256=9A-pIufm9Sn4X9syphxtCOFfZ3BNo8ft07uxNXSRRiI,6130
|
|
83
83
|
waldiez/models/model/model_data.py,sha256=VLPb60rJeZEgVZCjjkQGiwTrKz7OddVLrXCrEuteMcc,3679
|
|
84
84
|
waldiez/models/skill/__init__.py,sha256=rU88bajKOGMYoHFcE8MP0jW9H0MswbQmvz5wxS35BYE,169
|
|
85
85
|
waldiez/models/skill/skill.py,sha256=fhsAI413an2_d4DBIkf7dzEuWk6rGs2t4sl97a4dj20,3473
|
|
86
86
|
waldiez/models/skill/skill_data.py,sha256=RTWn8Od6w7g-nRIpsS29sqZ8sPm5dCPiK7-qXmU-KD4,815
|
|
87
|
-
waldiez-0.1.
|
|
88
|
-
waldiez-0.1.
|
|
89
|
-
waldiez-0.1.
|
|
90
|
-
waldiez-0.1.
|
|
91
|
-
waldiez-0.1.
|
|
87
|
+
waldiez-0.1.20.dist-info/METADATA,sha256=xTKC0uq5CGHR5EtIAx7vkKitjdeHmaVP6TxgrsUClCA,8161
|
|
88
|
+
waldiez-0.1.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
89
|
+
waldiez-0.1.20.dist-info/entry_points.txt,sha256=9MQ8Y1rD19CU7UwjNPwoyTRpQsPs2QimjrtwTD0bD6k,44
|
|
90
|
+
waldiez-0.1.20.dist-info/licenses/LICENSE,sha256=VQEHM6WMQLRu1qaGl3GWsoOknDwro-69eGo4NLIJPIM,1064
|
|
91
|
+
waldiez-0.1.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|