lionagi 0.9.8__py3-none-any.whl → 0.9.10__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.
- lionagi/libs/schema/function_to_schema.py +3 -2
- lionagi/operatives/action/tool.py +3 -5
- lionagi/protocols/messages/action_request.py +1 -1
- lionagi/protocols/messages/assistant_response.py +53 -50
- lionagi/service/endpoints/base.py +26 -8
- lionagi/service/imodel.py +14 -11
- lionagi/service/providers/anthropic_/messages.py +35 -0
- lionagi/service/providers/openai_/chat_completions.py +5 -3
- lionagi/service/providers/openai_/spec.py +14 -0
- lionagi/service/providers/perplexity_/models.py +2 -2
- lionagi/version.py +1 -1
- {lionagi-0.9.8.dist-info → lionagi-0.9.10.dist-info}/METADATA +1 -1
- {lionagi-0.9.8.dist-info → lionagi-0.9.10.dist-info}/RECORD +15 -14
- {lionagi-0.9.8.dist-info → lionagi-0.9.10.dist-info}/WHEEL +0 -0
- {lionagi-0.9.8.dist-info → lionagi-0.9.10.dist-info}/licenses/LICENSE +0 -0
@@ -137,8 +137,9 @@ def function_to_schema(
|
|
137
137
|
# Default type to string and update if type hint is available
|
138
138
|
param_type = "string"
|
139
139
|
if param.annotation is not inspect.Parameter.empty:
|
140
|
-
param_type = py_json_msp
|
141
|
-
|
140
|
+
param_type = py_json_msp.get(
|
141
|
+
param.annotation.__name__, param.annotation.__name__
|
142
|
+
)
|
142
143
|
# Extract parameter description from docstring, if available
|
143
144
|
param_description = parametert_description.get(name)
|
144
145
|
|
@@ -92,11 +92,9 @@ class Tool(Element):
|
|
92
92
|
@model_validator(mode="after")
|
93
93
|
def _validate_tool_schema(self) -> Self:
|
94
94
|
if self.tool_schema is None:
|
95
|
-
self.tool_schema = function_to_schema(
|
96
|
-
|
97
|
-
|
98
|
-
schema_.pop("title", None)
|
99
|
-
self.tool_schema["function"]["parameters"] = schema_
|
95
|
+
self.tool_schema = function_to_schema(
|
96
|
+
self.func_callable, request_options=self.request_options
|
97
|
+
)
|
100
98
|
|
101
99
|
return self
|
102
100
|
|
@@ -80,7 +80,7 @@ class ActionRequest(RoledMessage):
|
|
80
80
|
|
81
81
|
@action_response_id.setter
|
82
82
|
def action_response_id(self, action_response_id: IDType) -> None:
|
83
|
-
self.content["action_response_id"] = action_response_id
|
83
|
+
self.content["action_response_id"] = str(action_response_id)
|
84
84
|
|
85
85
|
@property
|
86
86
|
def request(self) -> dict[str, Any]:
|
@@ -10,7 +10,7 @@ from typing import Any
|
|
10
10
|
|
11
11
|
from pydantic import BaseModel
|
12
12
|
|
13
|
-
from lionagi.utils import copy
|
13
|
+
from lionagi.utils import copy
|
14
14
|
|
15
15
|
from .base import MessageRole, SenderRecipient
|
16
16
|
from .message import MessageRole, RoledMessage, Template, jinja_env
|
@@ -19,57 +19,60 @@ from .message import MessageRole, RoledMessage, Template, jinja_env
|
|
19
19
|
def prepare_assistant_response(
|
20
20
|
assistant_response: BaseModel | list[BaseModel] | dict | str | Any, /
|
21
21
|
) -> dict:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
if isinstance(assistant_response,
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
22
|
+
|
23
|
+
assistant_response = (
|
24
|
+
[assistant_response]
|
25
|
+
if not isinstance(assistant_response, list)
|
26
|
+
else assistant_response
|
27
|
+
)
|
28
|
+
|
29
|
+
text_contents = []
|
30
|
+
model_responses = []
|
31
|
+
|
32
|
+
for i in assistant_response:
|
33
|
+
|
34
|
+
if isinstance(i, BaseModel):
|
35
|
+
i = i.model_dump(exclude_none=True, exclude_unset=True)
|
36
|
+
|
37
|
+
model_responses.append(i)
|
38
|
+
|
39
|
+
if isinstance(i, dict):
|
40
|
+
# anthropic standard
|
41
|
+
if "content" in i:
|
42
|
+
content = i["content"]
|
43
|
+
content = (
|
44
|
+
[content] if not isinstance(content, list) else content
|
40
45
|
)
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
elif
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
for i in assistant_response
|
54
|
-
]
|
46
|
+
for j in content:
|
47
|
+
if isinstance(j, dict):
|
48
|
+
if j.get("type") == "text":
|
49
|
+
text_contents.append(j["text"])
|
50
|
+
elif isinstance(j, str):
|
51
|
+
text_contents.append(j)
|
52
|
+
|
53
|
+
# openai standard
|
54
|
+
elif "choices" in i:
|
55
|
+
choices = i["choices"]
|
56
|
+
choices = (
|
57
|
+
[choices] if not isinstance(choices, list) else choices
|
55
58
|
)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
59
|
+
for j in choices:
|
60
|
+
if "message" in j:
|
61
|
+
text_contents.append(j["message"]["content"] or "")
|
62
|
+
elif "delta" in j:
|
63
|
+
text_contents.append(j["delta"]["content"] or "")
|
64
|
+
|
65
|
+
elif isinstance(i, str):
|
66
|
+
text_contents.append(i)
|
67
|
+
|
68
|
+
text_contents = "".join(text_contents)
|
69
|
+
model_responses = (
|
70
|
+
model_responses[0] if len(model_responses) == 1 else model_responses
|
71
|
+
)
|
72
|
+
return {
|
73
|
+
"assistant_response": text_contents,
|
74
|
+
"model_response": model_responses,
|
75
|
+
}
|
73
76
|
|
74
77
|
|
75
78
|
class AssistantResponse(RoledMessage):
|
@@ -371,25 +371,43 @@ class APICalling(Event):
|
|
371
371
|
if self.payload.get("stream") is True:
|
372
372
|
self.streaming = True
|
373
373
|
|
374
|
-
if self.include_token_usage_to_model:
|
374
|
+
if self.include_token_usage_to_model and self.endpoint.requires_tokens:
|
375
375
|
if isinstance(self.payload["messages"][-1], dict):
|
376
376
|
required_tokens = self.required_tokens
|
377
|
-
self.payload["messages"][-1][
|
378
|
-
|
379
|
-
|
377
|
+
content = self.payload["messages"][-1]["content"]
|
378
|
+
token_msg = (
|
379
|
+
f"\n\nEstimated Current Token Usage: {required_tokens}"
|
380
|
+
)
|
381
|
+
|
380
382
|
if "model" in self.payload:
|
381
383
|
if (
|
382
384
|
self.payload["model"].startswith("gpt-4")
|
383
385
|
or "o1mini" in self.payload["model"]
|
384
386
|
or "o1-preview" in self.payload["model"]
|
385
387
|
):
|
386
|
-
|
388
|
+
token_msg += "/128_000"
|
387
389
|
elif "o1" in self.payload["model"]:
|
388
|
-
|
390
|
+
token_msg += "/200_000"
|
389
391
|
elif "sonnet" in self.payload["model"]:
|
390
|
-
|
392
|
+
token_msg += "/200_000"
|
391
393
|
elif "haiku" in self.payload["model"]:
|
392
|
-
|
394
|
+
token_msg += "/200_000"
|
395
|
+
elif "gemini" in self.payload["model"]:
|
396
|
+
token_msg += "/1_000_000"
|
397
|
+
elif "qwen-turbo" in self.payload["model"]:
|
398
|
+
token_msg += "/1_000_000"
|
399
|
+
|
400
|
+
if isinstance(content, str):
|
401
|
+
content += token_msg
|
402
|
+
elif isinstance(content, dict):
|
403
|
+
if "text" in content:
|
404
|
+
content["text"] += token_msg
|
405
|
+
elif isinstance(content, list):
|
406
|
+
for i in reversed(content):
|
407
|
+
if "text" in i:
|
408
|
+
i["text"] += token_msg
|
409
|
+
break
|
410
|
+
self.payload["messages"][-1]["content"] = content
|
393
411
|
|
394
412
|
return self
|
395
413
|
|
lionagi/service/imodel.py
CHANGED
@@ -9,9 +9,9 @@ from collections.abc import AsyncGenerator, Callable
|
|
9
9
|
from pydantic import BaseModel
|
10
10
|
|
11
11
|
from lionagi.protocols.generic.event import EventStatus
|
12
|
-
from lionagi.utils import is_coro_func
|
12
|
+
from lionagi.utils import is_coro_func, to_dict
|
13
13
|
|
14
|
-
from .endpoints.base import APICalling, EndPoint
|
14
|
+
from .endpoints.base import APICalling, EndPoint, EndpointConfig
|
15
15
|
from .endpoints.match_endpoint import match_endpoint
|
16
16
|
from .endpoints.rate_limited_processor import RateLimitedAPIExecutor
|
17
17
|
|
@@ -352,9 +352,10 @@ class iModel:
|
|
352
352
|
kwargs = self.kwargs
|
353
353
|
if "kwargs" in self.kwargs:
|
354
354
|
kwargs = self.kwargs["kwargs"]
|
355
|
+
|
355
356
|
return {
|
356
357
|
"provider": self.endpoint.config.provider,
|
357
|
-
"endpoint": self.endpoint.config.
|
358
|
+
"endpoint": self.endpoint.config.model_dump_json(),
|
358
359
|
"api_key": (
|
359
360
|
self.api_key_scheme
|
360
361
|
if hasattr(self, "api_key_scheme")
|
@@ -370,18 +371,20 @@ class iModel:
|
|
370
371
|
provider = data.pop("provider", None)
|
371
372
|
base_url = data.pop("base_url", None)
|
372
373
|
api_key = data.pop("api_key", None)
|
373
|
-
processor_config = data.pop("processor_config", {})
|
374
374
|
|
375
|
+
processor_config = data.pop("processor_config", {})
|
375
376
|
endpoint_config_params = data.pop("endpoint", {})
|
376
|
-
|
377
|
-
endpoint_params = endpoint_config_params.get("endpoint_params", None)
|
377
|
+
endpoint_config_params = to_dict(endpoint_config_params)
|
378
378
|
|
379
|
-
endpoint =
|
380
|
-
|
381
|
-
base_url=base_url,
|
382
|
-
endpoint=endpoint_,
|
383
|
-
endpoint_params=endpoint_params,
|
379
|
+
endpoint_config_params["endpoint"] = endpoint_config_params.get(
|
380
|
+
"endpoint", "chat"
|
384
381
|
)
|
382
|
+
match_params = {}
|
383
|
+
|
384
|
+
for i in ("provider", "base_url", "endpoint", "endpoint_params"):
|
385
|
+
if endpoint_config_params.get(i):
|
386
|
+
match_params[i] = endpoint_config_params.pop(i)
|
387
|
+
endpoint = match_endpoint(**match_params)
|
385
388
|
endpoint.update_config(**endpoint_config_params)
|
386
389
|
return cls(
|
387
390
|
provider=provider,
|
@@ -29,6 +29,7 @@ CHAT_COMPLETION_CONFIG = {
|
|
29
29
|
"tools",
|
30
30
|
"top_p",
|
31
31
|
"top_k",
|
32
|
+
"cache_control",
|
32
33
|
},
|
33
34
|
"allowed_roles": ["user", "assistant"],
|
34
35
|
}
|
@@ -49,6 +50,40 @@ class AnthropicChatCompletionEndPoint(ChatCompletionEndPoint):
|
|
49
50
|
for k, v in kwargs.items():
|
50
51
|
if k in self.acceptable_kwargs:
|
51
52
|
payload[k] = v
|
53
|
+
|
54
|
+
for i in self.required_kwargs:
|
55
|
+
if i not in payload:
|
56
|
+
raise ValueError(f"Missing required argument: {i}")
|
57
|
+
|
58
|
+
if "cache_control" in payload:
|
59
|
+
cache_control = payload.pop("cache_control")
|
60
|
+
if cache_control:
|
61
|
+
cache_control = {"type": "ephemeral"}
|
62
|
+
last_message = payload["messages"][-1]["content"]
|
63
|
+
if isinstance(last_message, str):
|
64
|
+
last_message = {
|
65
|
+
"type": "text",
|
66
|
+
"text": last_message,
|
67
|
+
"cache_control": cache_control,
|
68
|
+
}
|
69
|
+
elif isinstance(last_message, list) and isinstance(
|
70
|
+
last_message[-1], dict
|
71
|
+
):
|
72
|
+
last_message[-1]["cache_control"] = cache_control
|
73
|
+
payload["messages"][-1]["content"] = (
|
74
|
+
[last_message]
|
75
|
+
if not isinstance(last_message, list)
|
76
|
+
else last_message
|
77
|
+
)
|
78
|
+
|
79
|
+
first_message = payload["messages"][0]
|
80
|
+
system = None
|
81
|
+
if first_message.get("role") == "system":
|
82
|
+
system = first_message["content"]
|
83
|
+
system = [{"type": "text", "text": system}]
|
84
|
+
payload["messages"] = payload["messages"][1:]
|
85
|
+
payload["system"] = system
|
86
|
+
|
52
87
|
if "api_key" in kwargs:
|
53
88
|
headers["x-api-key"] = kwargs["api_key"]
|
54
89
|
headers["anthropic-version"] = kwargs.pop(
|
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
from lionagi.service.endpoints.chat_completion import ChatCompletionEndPoint
|
6
6
|
|
7
|
+
from .spec import reasoning_models, reasoning_not_support_params
|
8
|
+
|
7
9
|
CHAT_COMPLETION_CONFIG = {
|
8
10
|
"provider": "openai",
|
9
11
|
"base_url": "https://api.openai.com/v1",
|
@@ -84,9 +86,9 @@ class OpenAIChatCompletionEndPoint(ChatCompletionEndPoint):
|
|
84
86
|
if "api_key" in kwargs:
|
85
87
|
headers["Authorization"] = f"Bearer {kwargs['api_key']}"
|
86
88
|
|
87
|
-
if payload.get("model") in
|
88
|
-
|
89
|
-
|
89
|
+
if payload.get("model") in reasoning_models:
|
90
|
+
for param in reasoning_not_support_params:
|
91
|
+
payload.pop(param, None)
|
90
92
|
if payload["messages"][0].get("role") == "system":
|
91
93
|
payload["messages"][0]["role"] = "developer"
|
92
94
|
else:
|
@@ -33,8 +33,8 @@ class PerplexityChatCompletionRequest(BaseModel):
|
|
33
33
|
"""
|
34
34
|
|
35
35
|
model: str = Field(
|
36
|
-
|
37
|
-
description="The model name, e.g. '
|
36
|
+
"sonar",
|
37
|
+
description="The model name, e.g. 'sonar', (the only model available at the time when this request model was updated, check doc for latest info).",
|
38
38
|
)
|
39
39
|
messages: list[PerplexityMessage] = Field(
|
40
40
|
..., description="A list of messages forming the conversation so far."
|
lionagi/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.9.
|
1
|
+
__version__ = "0.9.10"
|
@@ -4,7 +4,7 @@ lionagi/_errors.py,sha256=JlBTFJnRWtVYcRxKb7fWFiJHLbykl1E19mSJ8sXYVxg,455
|
|
4
4
|
lionagi/_types.py,sha256=9g7iytvSj3UjZxD-jL06_fxuNfgZyWT3Qnp0XYp1wQU,63
|
5
5
|
lionagi/settings.py,sha256=W52mM34E6jXF3GyqCFzVREKZrmnUqtZm_BVDsUiDI_s,1627
|
6
6
|
lionagi/utils.py,sha256=K36D9AAGiMPR4eM9tYoiVgvH-NdPPSeMQPls09s7keQ,73223
|
7
|
-
lionagi/version.py,sha256=
|
7
|
+
lionagi/version.py,sha256=5nY2lKMmQwtU8FXTQ2Qpv9EUNfy2UJF9cHFr82n7ARw,23
|
8
8
|
lionagi/libs/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
9
9
|
lionagi/libs/parse.py,sha256=JRS3bql0InHJqATnAatl-hQv4N--XXw4P77JHhTFnrc,1011
|
10
10
|
lionagi/libs/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
@@ -32,7 +32,7 @@ lionagi/libs/schema/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFC
|
|
32
32
|
lionagi/libs/schema/as_readable.py,sha256=W4fi98WVkP5rfZ6A-iWqP5YFJexYCjt9Hf-l0iNs-2Q,5916
|
33
33
|
lionagi/libs/schema/extract_code_block.py,sha256=PuJbJj1JnqR5fSZudowPcVPpEoKISLr0MjTOOVXSzwY,2394
|
34
34
|
lionagi/libs/schema/extract_docstring.py,sha256=aYyLSRlB8lTH9QF9-6a56uph3AAkNuTyZ0S_duf5-fw,5729
|
35
|
-
lionagi/libs/schema/function_to_schema.py,sha256=
|
35
|
+
lionagi/libs/schema/function_to_schema.py,sha256=Ak21_0xCFP71qgb6_wNzaRSVsdkf1ieRjJ92hXo7qPE,5628
|
36
36
|
lionagi/libs/schema/json_schema.py,sha256=cuHcaMr748O9g6suNGmRx4tRXcidd5-c7AMGjTIZyHM,7670
|
37
37
|
lionagi/libs/token_transform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
lionagi/libs/token_transform/llmlingua.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
@@ -85,7 +85,7 @@ lionagi/operatives/action/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGv
|
|
85
85
|
lionagi/operatives/action/function_calling.py,sha256=PQ2-O6JsJDsBzkJ1ltZEhys5iVFWRZhoid4c2lKf4Dk,5067
|
86
86
|
lionagi/operatives/action/manager.py,sha256=RXZrw7bKK1Xai9LzDhFvSs5kGln1Vujkxrx4_FO3CIY,8824
|
87
87
|
lionagi/operatives/action/request_response_model.py,sha256=HfdXtnXcRXKEcEtxUgo3Zl8x_DkqSOJ6TLLgBzp5lEM,3378
|
88
|
-
lionagi/operatives/action/tool.py,sha256=
|
88
|
+
lionagi/operatives/action/tool.py,sha256=iidnGtCu7tSWowQPxck7oS0I7jC_u2L9SxzXhfSKod8,5440
|
89
89
|
lionagi/operatives/action/utils.py,sha256=kUk_4SRclCJdlTeHYji2Nt_FVT-TMSO-k-o8xJnHuQk,4330
|
90
90
|
lionagi/operatives/forms/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
91
91
|
lionagi/operatives/forms/base.py,sha256=hitr0eKk7Yts2VfpuBGl0YxpClMJEpsy7xWodhg2AhQ,2720
|
@@ -145,9 +145,9 @@ lionagi/protocols/mail/mailbox.py,sha256=2ETolKA4O2AFD1NzHt9bJG3F7xmwgoyFRLceBKs
|
|
145
145
|
lionagi/protocols/mail/manager.py,sha256=WTM1COl8JeKt683M24gKy9Q_8owDGo2DWOXb64cfaxU,7105
|
146
146
|
lionagi/protocols/mail/package.py,sha256=CLpBinYo8FseQKgP8p-65Ne7c8ymw2O-bTpb5259ukA,2838
|
147
147
|
lionagi/protocols/messages/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
148
|
-
lionagi/protocols/messages/action_request.py,sha256=
|
148
|
+
lionagi/protocols/messages/action_request.py,sha256=_iFBLy6rVhyBpZUKVSInqNkEeut4pf9tOqZlT9SzGFE,7086
|
149
149
|
lionagi/protocols/messages/action_response.py,sha256=fvie0jRAln6MqAY25fOCY1yBMNQQffXMTl0bVkAe6QA,5401
|
150
|
-
lionagi/protocols/messages/assistant_response.py,sha256=
|
150
|
+
lionagi/protocols/messages/assistant_response.py,sha256=Qu0pVcF5e4zDfXI0j--4BNSzAue7DknVqdW3Sdu-pGE,5925
|
151
151
|
lionagi/protocols/messages/base.py,sha256=jPHtC7aVWTxb_Gg5dcMOGKzFa3FOJUTbRpLztcDHLBU,2482
|
152
152
|
lionagi/protocols/messages/instruction.py,sha256=IIoyF0WkNaIhYAKTpp_aFuu4Iv6EPy_ccZwj1aPOMQw,21307
|
153
153
|
lionagi/protocols/messages/manager.py,sha256=dCiHwPop4dy8soksoHrsrcGXI6D87ecsAowuq2v52Po,17370
|
@@ -161,11 +161,11 @@ lionagi/protocols/messages/templates/instruction_message.jinja2,sha256=L-ptw5OHx
|
|
161
161
|
lionagi/protocols/messages/templates/system_message.jinja2,sha256=JRKJ0aFpYfaXSFouKc_N4unZ35C3yZTOWhIrIdCB5qk,215
|
162
162
|
lionagi/protocols/messages/templates/tool_schemas.jinja2,sha256=ozIaSDCRjIAhLyA8VM6S-YqS0w2NcctALSwx4LjDwII,126
|
163
163
|
lionagi/service/__init__.py,sha256=DMGXIqPsmut9H5GT0ZeSzQIzYzzPwI-2gLXydpbwiV8,21
|
164
|
-
lionagi/service/imodel.py,sha256=
|
164
|
+
lionagi/service/imodel.py,sha256=uNSb9XjibkDBC4WbX1HdmXcrd4rVUNkqJPwYQjTYp18,15301
|
165
165
|
lionagi/service/manager.py,sha256=FkuqAtLErqLmXNnDtuAdTUFo4uuE_VL660BBGBhzInU,1435
|
166
166
|
lionagi/service/types.py,sha256=CHPi8Bxl_yJ1pl2jYZBOrTHbT8_oO9sK75d4LMB651g,486
|
167
167
|
lionagi/service/endpoints/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
168
|
-
lionagi/service/endpoints/base.py,sha256=
|
168
|
+
lionagi/service/endpoints/base.py,sha256=VGnwMHR-ZK4pjA6oKf5LQW7tsXVrNh9tqKObqzz_Odo,26134
|
169
169
|
lionagi/service/endpoints/chat_completion.py,sha256=nihV7kCYm7ixdm8dH0JW7vKjqH9yIom4QDXGeDwuO6E,2964
|
170
170
|
lionagi/service/endpoints/match_endpoint.py,sha256=x2T-ftzdqCrdITRLkH8UNRDY2Pm359DnX2RDXTBnbpc,2082
|
171
171
|
lionagi/service/endpoints/rate_limited_processor.py,sha256=P0CsMyhuG8OHCPYe2qez92Bm7v2ZRq4L5I6LOiAoGYs,5199
|
@@ -173,7 +173,7 @@ lionagi/service/endpoints/token_calculator.py,sha256=-AKwDvV7C8k8MTmd62ymT0ETSUP
|
|
173
173
|
lionagi/service/providers/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
174
174
|
lionagi/service/providers/types.py,sha256=NS91ysRFwOs0cpNeQgFhmtl7JrSz2pJm-tt7sZILmQY,683
|
175
175
|
lionagi/service/providers/anthropic_/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
176
|
-
lionagi/service/providers/anthropic_/messages.py,sha256=
|
176
|
+
lionagi/service/providers/anthropic_/messages.py,sha256=EnV2vh60k0aQvtnUitHzTlSmyrFxTVxcXAldANg7Rzc,3148
|
177
177
|
lionagi/service/providers/exa_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
178
178
|
lionagi/service/providers/exa_/models.py,sha256=263KP-JSxbxmomNrFeYjB_cebquoMOsCJeWsiKZ0mL4,5420
|
179
179
|
lionagi/service/providers/exa_/search.py,sha256=Z3pyJH8KiWiquJSJw8Rd6D7x43BwTFHb2ESsgSicCk0,1932
|
@@ -183,12 +183,13 @@ lionagi/service/providers/groq_/chat_completions.py,sha256=q1p_1qus4vduWWBzs9V_K
|
|
183
183
|
lionagi/service/providers/ollama_/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
184
184
|
lionagi/service/providers/ollama_/chat_completions.py,sha256=gPemTJO9dPd68l60kDYppO29uYqmLole4JGkv9Fz1Us,3764
|
185
185
|
lionagi/service/providers/openai_/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
186
|
-
lionagi/service/providers/openai_/chat_completions.py,sha256=
|
186
|
+
lionagi/service/providers/openai_/chat_completions.py,sha256=CxALMCOP3KH16O583xngkAfFot8Hvbr_o1HeLvCh0Us,2938
|
187
|
+
lionagi/service/providers/openai_/spec.py,sha256=GJkndsSQmGT-DpSnePz077HK7YQ-xp6-SCTlws6RRf0,217
|
187
188
|
lionagi/service/providers/openrouter_/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
188
189
|
lionagi/service/providers/openrouter_/chat_completions.py,sha256=0pdXjJCXmCPPbKKVubrnqofaodTOxWTJam8fd3NgrNk,1525
|
189
190
|
lionagi/service/providers/perplexity_/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
190
191
|
lionagi/service/providers/perplexity_/chat_completions.py,sha256=O4MIS_3xIINGjkAZdlw0Bu_jAfBDR4VZA1F8JW2EU1M,1197
|
191
|
-
lionagi/service/providers/perplexity_/models.py,sha256=
|
192
|
+
lionagi/service/providers/perplexity_/models.py,sha256=Fm5NbmWMdFkDKS0Cec__bNvs3St27lgqxFbHKyNCLsw,4945
|
192
193
|
lionagi/session/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
193
194
|
lionagi/session/branch.py,sha256=dKlaM6hh_q7OoXkz4E5S3aS4ksqC2yzdhjzI7xe6pzU,72439
|
194
195
|
lionagi/session/prompts.py,sha256=AhuHL19s0TijVZX3tMKUKMi6l88xeVdpkuEn2vJSRyU,3236
|
@@ -213,7 +214,7 @@ lionagi/tools/file/writer.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,
|
|
213
214
|
lionagi/tools/file/providers/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
214
215
|
lionagi/tools/file/providers/docling_.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
215
216
|
lionagi/tools/query/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
|
216
|
-
lionagi-0.9.
|
217
|
-
lionagi-0.9.
|
218
|
-
lionagi-0.9.
|
219
|
-
lionagi-0.9.
|
217
|
+
lionagi-0.9.10.dist-info/METADATA,sha256=aPOBO-1ydp8qB805zD_74P-TgXMsGgoeJlvEESwcd7E,18437
|
218
|
+
lionagi-0.9.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
219
|
+
lionagi-0.9.10.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
|
220
|
+
lionagi-0.9.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|