chatlas 0.10.0__py3-none-any.whl → 0.11.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.
Potentially problematic release.
This version of chatlas might be problematic. Click here for more details.
- chatlas/__init__.py +13 -1
- chatlas/_chat.py +93 -12
- chatlas/_content.py +8 -1
- chatlas/_provider.py +43 -1
- chatlas/_provider_anthropic.py +49 -2
- chatlas/_provider_cloudflare.py +9 -1
- chatlas/_provider_databricks.py +7 -0
- chatlas/_provider_github.py +63 -3
- chatlas/_provider_google.py +26 -2
- chatlas/_provider_ollama.py +40 -9
- chatlas/_provider_openai.py +29 -2
- chatlas/_provider_perplexity.py +9 -1
- chatlas/_provider_portkey.py +8 -0
- chatlas/_provider_snowflake.py +6 -0
- chatlas/_tools.py +12 -0
- chatlas/_version.py +2 -2
- chatlas/data/prices.json +329 -18
- chatlas/types/__init__.py +2 -0
- {chatlas-0.10.0.dist-info → chatlas-0.11.0.dist-info}/METADATA +1 -1
- {chatlas-0.10.0.dist-info → chatlas-0.11.0.dist-info}/RECORD +22 -22
- {chatlas-0.10.0.dist-info → chatlas-0.11.0.dist-info}/WHEEL +0 -0
- {chatlas-0.10.0.dist-info → chatlas-0.11.0.dist-info}/licenses/LICENSE +0 -0
chatlas/_provider_perplexity.py
CHANGED
|
@@ -126,7 +126,7 @@ def ChatPerplexity(
|
|
|
126
126
|
seed = 1014 if is_testing() else None
|
|
127
127
|
|
|
128
128
|
return Chat(
|
|
129
|
-
provider=
|
|
129
|
+
provider=PerplexityProvider(
|
|
130
130
|
api_key=api_key,
|
|
131
131
|
model=model,
|
|
132
132
|
base_url=base_url,
|
|
@@ -136,3 +136,11 @@ def ChatPerplexity(
|
|
|
136
136
|
),
|
|
137
137
|
system_prompt=system_prompt,
|
|
138
138
|
)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class PerplexityProvider(OpenAIProvider):
|
|
142
|
+
def list_models(self):
|
|
143
|
+
raise NotImplementedError(
|
|
144
|
+
".list_models() is not yet implemented for Perplexity."
|
|
145
|
+
" To view available models online, see https://docs.perplexity.ai/getting-started/models"
|
|
146
|
+
)
|
chatlas/_provider_portkey.py
CHANGED
|
@@ -121,3 +121,11 @@ def add_default_headers(
|
|
|
121
121
|
}
|
|
122
122
|
)
|
|
123
123
|
return {"default_headers": default_headers, **kwargs}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
class PortkeyProvider(OpenAIProvider):
|
|
127
|
+
def list_models(self):
|
|
128
|
+
raise NotImplementedError(
|
|
129
|
+
".list_models() is not yet implemented for Portkey. "
|
|
130
|
+
"To view model availability online, see https://portkey.ai/docs/product/model-catalog"
|
|
131
|
+
)
|
chatlas/_provider_snowflake.py
CHANGED
|
@@ -194,6 +194,12 @@ class SnowflakeProvider(
|
|
|
194
194
|
session = Session.builder.configs(configs).create()
|
|
195
195
|
self._cortex_service = Root(session).cortex_inference_service
|
|
196
196
|
|
|
197
|
+
def list_models(self):
|
|
198
|
+
raise NotImplementedError(
|
|
199
|
+
".list_models() is not yet implemented for Snowflake. "
|
|
200
|
+
"To view model availability online, see https://docs.snowflake.com/user-guide/snowflake-cortex/aisql#availability"
|
|
201
|
+
)
|
|
202
|
+
|
|
197
203
|
@overload
|
|
198
204
|
def chat_perform(
|
|
199
205
|
self,
|
chatlas/_tools.py
CHANGED
|
@@ -22,6 +22,7 @@ __all__ = (
|
|
|
22
22
|
if TYPE_CHECKING:
|
|
23
23
|
from mcp import ClientSession as MCPClientSession
|
|
24
24
|
from mcp import Tool as MCPTool
|
|
25
|
+
from mcp.types import ToolAnnotations
|
|
25
26
|
from openai.types.chat import ChatCompletionToolParam
|
|
26
27
|
|
|
27
28
|
|
|
@@ -42,6 +43,9 @@ class Tool:
|
|
|
42
43
|
A description of what the tool does.
|
|
43
44
|
parameters
|
|
44
45
|
A dictionary describing the input parameters and their types.
|
|
46
|
+
annotations
|
|
47
|
+
Additional properties that describe the tool and its behavior. Should be
|
|
48
|
+
a `from mcp.types import ToolAnnotations` instance.
|
|
45
49
|
"""
|
|
46
50
|
|
|
47
51
|
func: Callable[..., Any] | Callable[..., Awaitable[Any]]
|
|
@@ -53,9 +57,11 @@ class Tool:
|
|
|
53
57
|
name: str,
|
|
54
58
|
description: str,
|
|
55
59
|
parameters: dict[str, Any],
|
|
60
|
+
annotations: "Optional[ToolAnnotations]" = None,
|
|
56
61
|
):
|
|
57
62
|
self.name = name
|
|
58
63
|
self.func = func
|
|
64
|
+
self.annotations = annotations
|
|
59
65
|
self._is_async = _utils.is_async_callable(func)
|
|
60
66
|
self.schema: "ChatCompletionToolParam" = {
|
|
61
67
|
"type": "function",
|
|
@@ -72,6 +78,7 @@ class Tool:
|
|
|
72
78
|
func: Callable[..., Any] | Callable[..., Awaitable[Any]],
|
|
73
79
|
*,
|
|
74
80
|
model: Optional[type[BaseModel]] = None,
|
|
81
|
+
annotations: "Optional[ToolAnnotations]" = None,
|
|
75
82
|
) -> "Tool":
|
|
76
83
|
"""
|
|
77
84
|
Create a Tool from a Python function
|
|
@@ -86,6 +93,9 @@ class Tool:
|
|
|
86
93
|
The primary reason why you might want to provide a model in
|
|
87
94
|
Note that the name and docstring of the model takes precedence over the
|
|
88
95
|
name and docstring of the function.
|
|
96
|
+
annotations
|
|
97
|
+
Additional properties that describe the tool and its behavior. Should be
|
|
98
|
+
a `from mcp.types import ToolAnnotations` instance.
|
|
89
99
|
|
|
90
100
|
Returns
|
|
91
101
|
-------
|
|
@@ -118,6 +128,7 @@ class Tool:
|
|
|
118
128
|
name=model.__name__ or func.__name__,
|
|
119
129
|
description=model.__doc__ or func.__doc__ or "",
|
|
120
130
|
parameters=params,
|
|
131
|
+
annotations=annotations,
|
|
121
132
|
)
|
|
122
133
|
|
|
123
134
|
@classmethod
|
|
@@ -197,6 +208,7 @@ class Tool:
|
|
|
197
208
|
name=mcp_tool.name,
|
|
198
209
|
description=mcp_tool.description or "",
|
|
199
210
|
parameters=params,
|
|
211
|
+
annotations=mcp_tool.annotations,
|
|
200
212
|
)
|
|
201
213
|
|
|
202
214
|
|
chatlas/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.11.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 11, 0)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
chatlas/data/prices.json
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
[
|
|
2
|
-
{
|
|
3
|
-
"provider": "Anthropic",
|
|
4
|
-
"model": "claude-2",
|
|
5
|
-
"input": 8,
|
|
6
|
-
"output": 24
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"provider": "Anthropic",
|
|
10
|
-
"model": "claude-2.1",
|
|
11
|
-
"input": 8,
|
|
12
|
-
"output": 24
|
|
13
|
-
},
|
|
14
2
|
{
|
|
15
3
|
"provider": "Anthropic",
|
|
16
4
|
"model": "claude-3-5-haiku-20241022",
|
|
@@ -81,12 +69,6 @@
|
|
|
81
69
|
"input": 15,
|
|
82
70
|
"output": 75
|
|
83
71
|
},
|
|
84
|
-
{
|
|
85
|
-
"provider": "Anthropic",
|
|
86
|
-
"model": "claude-3-sonnet-20240229",
|
|
87
|
-
"input": 3,
|
|
88
|
-
"output": 15
|
|
89
|
-
},
|
|
90
72
|
{
|
|
91
73
|
"provider": "Anthropic",
|
|
92
74
|
"model": "claude-4-opus-20250514",
|
|
@@ -101,6 +83,20 @@
|
|
|
101
83
|
"input": 3,
|
|
102
84
|
"output": 15
|
|
103
85
|
},
|
|
86
|
+
{
|
|
87
|
+
"provider": "Anthropic",
|
|
88
|
+
"model": "claude-opus-4-1",
|
|
89
|
+
"cached_input": 1.5,
|
|
90
|
+
"input": 15,
|
|
91
|
+
"output": 75
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"provider": "Anthropic",
|
|
95
|
+
"model": "claude-opus-4-1-20250805",
|
|
96
|
+
"cached_input": 1.5,
|
|
97
|
+
"input": 15,
|
|
98
|
+
"output": 75
|
|
99
|
+
},
|
|
104
100
|
{
|
|
105
101
|
"provider": "Anthropic",
|
|
106
102
|
"model": "claude-opus-4-20250514",
|
|
@@ -498,6 +494,62 @@
|
|
|
498
494
|
"input": 2.5,
|
|
499
495
|
"output": 10
|
|
500
496
|
},
|
|
497
|
+
{
|
|
498
|
+
"provider": "Azure/OpenAI",
|
|
499
|
+
"model": "gpt-5",
|
|
500
|
+
"cached_input": 0.125,
|
|
501
|
+
"input": 1.25,
|
|
502
|
+
"output": 10
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"provider": "Azure/OpenAI",
|
|
506
|
+
"model": "gpt-5-2025-08-07",
|
|
507
|
+
"cached_input": 0.125,
|
|
508
|
+
"input": 1.25,
|
|
509
|
+
"output": 10
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"provider": "Azure/OpenAI",
|
|
513
|
+
"model": "gpt-5-chat",
|
|
514
|
+
"cached_input": 0.125,
|
|
515
|
+
"input": 1.25,
|
|
516
|
+
"output": 10
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"provider": "Azure/OpenAI",
|
|
520
|
+
"model": "gpt-5-chat-latest",
|
|
521
|
+
"cached_input": 0.125,
|
|
522
|
+
"input": 1.25,
|
|
523
|
+
"output": 10
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"provider": "Azure/OpenAI",
|
|
527
|
+
"model": "gpt-5-mini",
|
|
528
|
+
"cached_input": 0.025,
|
|
529
|
+
"input": 0.25,
|
|
530
|
+
"output": 2
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"provider": "Azure/OpenAI",
|
|
534
|
+
"model": "gpt-5-mini-2025-08-07",
|
|
535
|
+
"cached_input": 0.025,
|
|
536
|
+
"input": 0.25,
|
|
537
|
+
"output": 2
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"provider": "Azure/OpenAI",
|
|
541
|
+
"model": "gpt-5-nano",
|
|
542
|
+
"cached_input": 0.005,
|
|
543
|
+
"input": 0.05,
|
|
544
|
+
"output": 0.4
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"provider": "Azure/OpenAI",
|
|
548
|
+
"model": "gpt-5-nano-2025-08-07",
|
|
549
|
+
"cached_input": 0.005,
|
|
550
|
+
"input": 0.05,
|
|
551
|
+
"output": 0.4
|
|
552
|
+
},
|
|
501
553
|
{
|
|
502
554
|
"provider": "Azure/OpenAI",
|
|
503
555
|
"model": "mistral-large-2402",
|
|
@@ -1225,6 +1277,126 @@
|
|
|
1225
1277
|
"input": 0.45,
|
|
1226
1278
|
"output": 0.7
|
|
1227
1279
|
},
|
|
1280
|
+
{
|
|
1281
|
+
"provider": "AWS/Bedrock",
|
|
1282
|
+
"model": "us-gov-east-1/amazon.nova-pro-v1:0",
|
|
1283
|
+
"input": 0.96,
|
|
1284
|
+
"output": 3.84
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
"provider": "AWS/Bedrock",
|
|
1288
|
+
"model": "us-gov-east-1/amazon.titan-embed-text-v1",
|
|
1289
|
+
"input": 0.1,
|
|
1290
|
+
"output": 0
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"provider": "AWS/Bedrock",
|
|
1294
|
+
"model": "us-gov-east-1/amazon.titan-embed-text-v2:0",
|
|
1295
|
+
"input": 0.2,
|
|
1296
|
+
"output": 0
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"provider": "AWS/Bedrock",
|
|
1300
|
+
"model": "us-gov-east-1/amazon.titan-text-express-v1",
|
|
1301
|
+
"input": 1.3,
|
|
1302
|
+
"output": 1.7
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
"provider": "AWS/Bedrock",
|
|
1306
|
+
"model": "us-gov-east-1/amazon.titan-text-lite-v1",
|
|
1307
|
+
"input": 0.3,
|
|
1308
|
+
"output": 0.4
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"provider": "AWS/Bedrock",
|
|
1312
|
+
"model": "us-gov-east-1/amazon.titan-text-premier-v1:0",
|
|
1313
|
+
"input": 0.5,
|
|
1314
|
+
"output": 1.5
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
"provider": "AWS/Bedrock",
|
|
1318
|
+
"model": "us-gov-east-1/anthropic.claude-3-5-sonnet-20240620-v1:0",
|
|
1319
|
+
"input": 3.6,
|
|
1320
|
+
"output": 18
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
"provider": "AWS/Bedrock",
|
|
1324
|
+
"model": "us-gov-east-1/anthropic.claude-3-haiku-20240307-v1:0",
|
|
1325
|
+
"input": 0.3,
|
|
1326
|
+
"output": 1.5
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
"provider": "AWS/Bedrock",
|
|
1330
|
+
"model": "us-gov-east-1/meta.llama3-70b-instruct-v1:0",
|
|
1331
|
+
"input": 2.65,
|
|
1332
|
+
"output": 3.5
|
|
1333
|
+
},
|
|
1334
|
+
{
|
|
1335
|
+
"provider": "AWS/Bedrock",
|
|
1336
|
+
"model": "us-gov-east-1/meta.llama3-8b-instruct-v1:0",
|
|
1337
|
+
"input": 0.3,
|
|
1338
|
+
"output": 2.65
|
|
1339
|
+
},
|
|
1340
|
+
{
|
|
1341
|
+
"provider": "AWS/Bedrock",
|
|
1342
|
+
"model": "us-gov-west-1/amazon.nova-pro-v1:0",
|
|
1343
|
+
"input": 0.96,
|
|
1344
|
+
"output": 3.84
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"provider": "AWS/Bedrock",
|
|
1348
|
+
"model": "us-gov-west-1/amazon.titan-embed-text-v1",
|
|
1349
|
+
"input": 0.1,
|
|
1350
|
+
"output": 0
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"provider": "AWS/Bedrock",
|
|
1354
|
+
"model": "us-gov-west-1/amazon.titan-embed-text-v2:0",
|
|
1355
|
+
"input": 0.2,
|
|
1356
|
+
"output": 0
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"provider": "AWS/Bedrock",
|
|
1360
|
+
"model": "us-gov-west-1/amazon.titan-text-express-v1",
|
|
1361
|
+
"input": 1.3,
|
|
1362
|
+
"output": 1.7
|
|
1363
|
+
},
|
|
1364
|
+
{
|
|
1365
|
+
"provider": "AWS/Bedrock",
|
|
1366
|
+
"model": "us-gov-west-1/amazon.titan-text-lite-v1",
|
|
1367
|
+
"input": 0.3,
|
|
1368
|
+
"output": 0.4
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"provider": "AWS/Bedrock",
|
|
1372
|
+
"model": "us-gov-west-1/amazon.titan-text-premier-v1:0",
|
|
1373
|
+
"input": 0.5,
|
|
1374
|
+
"output": 1.5
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"provider": "AWS/Bedrock",
|
|
1378
|
+
"model": "us-gov-west-1/anthropic.claude-3-5-sonnet-20240620-v1:0",
|
|
1379
|
+
"input": 3.6,
|
|
1380
|
+
"output": 18
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
"provider": "AWS/Bedrock",
|
|
1384
|
+
"model": "us-gov-west-1/anthropic.claude-3-haiku-20240307-v1:0",
|
|
1385
|
+
"input": 0.3,
|
|
1386
|
+
"output": 1.5
|
|
1387
|
+
},
|
|
1388
|
+
{
|
|
1389
|
+
"provider": "AWS/Bedrock",
|
|
1390
|
+
"model": "us-gov-west-1/meta.llama3-70b-instruct-v1:0",
|
|
1391
|
+
"input": 2.65,
|
|
1392
|
+
"output": 3.5
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"provider": "AWS/Bedrock",
|
|
1396
|
+
"model": "us-gov-west-1/meta.llama3-8b-instruct-v1:0",
|
|
1397
|
+
"input": 0.3,
|
|
1398
|
+
"output": 2.65
|
|
1399
|
+
},
|
|
1228
1400
|
{
|
|
1229
1401
|
"provider": "AWS/Bedrock",
|
|
1230
1402
|
"model": "us-west-1/meta.llama3-70b-instruct-v1:0",
|
|
@@ -1443,6 +1615,13 @@
|
|
|
1443
1615
|
"input": 0.075,
|
|
1444
1616
|
"output": 0.3
|
|
1445
1617
|
},
|
|
1618
|
+
{
|
|
1619
|
+
"provider": "Google/Gemini",
|
|
1620
|
+
"model": "gemini-2.0-flash-live-001",
|
|
1621
|
+
"cached_input": 0.075,
|
|
1622
|
+
"input": 0.35,
|
|
1623
|
+
"output": 1.5
|
|
1624
|
+
},
|
|
1446
1625
|
{
|
|
1447
1626
|
"provider": "Google/Gemini",
|
|
1448
1627
|
"model": "gemini-2.0-flash-preview-image-generation",
|
|
@@ -1457,6 +1636,13 @@
|
|
|
1457
1636
|
"input": 0.3,
|
|
1458
1637
|
"output": 2.5
|
|
1459
1638
|
},
|
|
1639
|
+
{
|
|
1640
|
+
"provider": "Google/Gemini",
|
|
1641
|
+
"model": "gemini-2.5-flash-lite",
|
|
1642
|
+
"cached_input": 0.025,
|
|
1643
|
+
"input": 0.1,
|
|
1644
|
+
"output": 0.4
|
|
1645
|
+
},
|
|
1460
1646
|
{
|
|
1461
1647
|
"provider": "Google/Gemini",
|
|
1462
1648
|
"model": "gemini-2.5-flash-lite-preview-06-17",
|
|
@@ -2105,6 +2291,13 @@
|
|
|
2105
2291
|
"input": 5,
|
|
2106
2292
|
"output": 20
|
|
2107
2293
|
},
|
|
2294
|
+
{
|
|
2295
|
+
"provider": "OpenAI",
|
|
2296
|
+
"model": "gpt-4o-realtime-preview-2025-06-03",
|
|
2297
|
+
"cached_input": 2.5,
|
|
2298
|
+
"input": 5,
|
|
2299
|
+
"output": 20
|
|
2300
|
+
},
|
|
2108
2301
|
{
|
|
2109
2302
|
"provider": "OpenAI",
|
|
2110
2303
|
"model": "gpt-4o-search-preview",
|
|
@@ -2125,6 +2318,62 @@
|
|
|
2125
2318
|
"input": 2.5,
|
|
2126
2319
|
"output": 10
|
|
2127
2320
|
},
|
|
2321
|
+
{
|
|
2322
|
+
"provider": "OpenAI",
|
|
2323
|
+
"model": "gpt-5",
|
|
2324
|
+
"cached_input": 0.125,
|
|
2325
|
+
"input": 1.25,
|
|
2326
|
+
"output": 10
|
|
2327
|
+
},
|
|
2328
|
+
{
|
|
2329
|
+
"provider": "OpenAI",
|
|
2330
|
+
"model": "gpt-5-2025-08-07",
|
|
2331
|
+
"cached_input": 0.125,
|
|
2332
|
+
"input": 1.25,
|
|
2333
|
+
"output": 10
|
|
2334
|
+
},
|
|
2335
|
+
{
|
|
2336
|
+
"provider": "OpenAI",
|
|
2337
|
+
"model": "gpt-5-chat",
|
|
2338
|
+
"cached_input": 0.125,
|
|
2339
|
+
"input": 1.25,
|
|
2340
|
+
"output": 10
|
|
2341
|
+
},
|
|
2342
|
+
{
|
|
2343
|
+
"provider": "OpenAI",
|
|
2344
|
+
"model": "gpt-5-chat-latest",
|
|
2345
|
+
"cached_input": 0.125,
|
|
2346
|
+
"input": 1.25,
|
|
2347
|
+
"output": 10
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
"provider": "OpenAI",
|
|
2351
|
+
"model": "gpt-5-mini",
|
|
2352
|
+
"cached_input": 0.025,
|
|
2353
|
+
"input": 0.25,
|
|
2354
|
+
"output": 2
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
"provider": "OpenAI",
|
|
2358
|
+
"model": "gpt-5-mini-2025-08-07",
|
|
2359
|
+
"cached_input": 0.025,
|
|
2360
|
+
"input": 0.25,
|
|
2361
|
+
"output": 2
|
|
2362
|
+
},
|
|
2363
|
+
{
|
|
2364
|
+
"provider": "OpenAI",
|
|
2365
|
+
"model": "gpt-5-nano",
|
|
2366
|
+
"cached_input": 0.005,
|
|
2367
|
+
"input": 0.05,
|
|
2368
|
+
"output": 0.4
|
|
2369
|
+
},
|
|
2370
|
+
{
|
|
2371
|
+
"provider": "OpenAI",
|
|
2372
|
+
"model": "gpt-5-nano-2025-08-07",
|
|
2373
|
+
"cached_input": 0.005,
|
|
2374
|
+
"input": 0.05,
|
|
2375
|
+
"output": 0.4
|
|
2376
|
+
},
|
|
2128
2377
|
{
|
|
2129
2378
|
"provider": "OpenAI",
|
|
2130
2379
|
"model": "o1",
|
|
@@ -2363,6 +2612,12 @@
|
|
|
2363
2612
|
"input": 3,
|
|
2364
2613
|
"output": 15
|
|
2365
2614
|
},
|
|
2615
|
+
{
|
|
2616
|
+
"provider": "OpenRouter",
|
|
2617
|
+
"model": "bytedance/ui-tars-1.5-7b",
|
|
2618
|
+
"input": 0.1,
|
|
2619
|
+
"output": 0.2
|
|
2620
|
+
},
|
|
2366
2621
|
{
|
|
2367
2622
|
"provider": "OpenRouter",
|
|
2368
2623
|
"model": "cognitivecomputations/dolphin-mixtral-8x7b",
|
|
@@ -2387,6 +2642,12 @@
|
|
|
2387
2642
|
"input": 0.14,
|
|
2388
2643
|
"output": 0.28
|
|
2389
2644
|
},
|
|
2645
|
+
{
|
|
2646
|
+
"provider": "OpenRouter",
|
|
2647
|
+
"model": "deepseek/deepseek-chat-v3-0324",
|
|
2648
|
+
"input": 0.14,
|
|
2649
|
+
"output": 0.28
|
|
2650
|
+
},
|
|
2390
2651
|
{
|
|
2391
2652
|
"provider": "OpenRouter",
|
|
2392
2653
|
"model": "deepseek/deepseek-coder",
|
|
@@ -2585,6 +2846,18 @@
|
|
|
2585
2846
|
"input": 5,
|
|
2586
2847
|
"output": 15
|
|
2587
2848
|
},
|
|
2849
|
+
{
|
|
2850
|
+
"provider": "OpenRouter",
|
|
2851
|
+
"model": "openai/gpt-oss-120b",
|
|
2852
|
+
"input": 0.18,
|
|
2853
|
+
"output": 0.8
|
|
2854
|
+
},
|
|
2855
|
+
{
|
|
2856
|
+
"provider": "OpenRouter",
|
|
2857
|
+
"model": "openai/gpt-oss-20b",
|
|
2858
|
+
"input": 0.18,
|
|
2859
|
+
"output": 0.8
|
|
2860
|
+
},
|
|
2588
2861
|
{
|
|
2589
2862
|
"provider": "OpenRouter",
|
|
2590
2863
|
"model": "openai/o1",
|
|
@@ -2640,12 +2913,36 @@
|
|
|
2640
2913
|
"input": 0.18,
|
|
2641
2914
|
"output": 0.18
|
|
2642
2915
|
},
|
|
2916
|
+
{
|
|
2917
|
+
"provider": "OpenRouter",
|
|
2918
|
+
"model": "qwen/qwen-vl-plus",
|
|
2919
|
+
"input": 0.21,
|
|
2920
|
+
"output": 0.63
|
|
2921
|
+
},
|
|
2922
|
+
{
|
|
2923
|
+
"provider": "OpenRouter",
|
|
2924
|
+
"model": "qwen/qwen3-coder",
|
|
2925
|
+
"input": 1,
|
|
2926
|
+
"output": 5
|
|
2927
|
+
},
|
|
2928
|
+
{
|
|
2929
|
+
"provider": "OpenRouter",
|
|
2930
|
+
"model": "switchpoint/router",
|
|
2931
|
+
"input": 0.85,
|
|
2932
|
+
"output": 3.4
|
|
2933
|
+
},
|
|
2643
2934
|
{
|
|
2644
2935
|
"provider": "OpenRouter",
|
|
2645
2936
|
"model": "undi95/remm-slerp-l2-13b",
|
|
2646
2937
|
"input": 1.875,
|
|
2647
2938
|
"output": 1.875
|
|
2648
2939
|
},
|
|
2940
|
+
{
|
|
2941
|
+
"provider": "OpenRouter",
|
|
2942
|
+
"model": "x-ai/grok-4",
|
|
2943
|
+
"input": 3,
|
|
2944
|
+
"output": 15
|
|
2945
|
+
},
|
|
2649
2946
|
{
|
|
2650
2947
|
"provider": "Google/Vertex",
|
|
2651
2948
|
"model": "gemini-1.0-pro",
|
|
@@ -2777,6 +3074,13 @@
|
|
|
2777
3074
|
"input": 0.075,
|
|
2778
3075
|
"output": 0.3
|
|
2779
3076
|
},
|
|
3077
|
+
{
|
|
3078
|
+
"provider": "Google/Vertex",
|
|
3079
|
+
"model": "gemini-2.0-flash-live-preview-04-09",
|
|
3080
|
+
"cached_input": 0.075,
|
|
3081
|
+
"input": 0.5,
|
|
3082
|
+
"output": 2
|
|
3083
|
+
},
|
|
2780
3084
|
{
|
|
2781
3085
|
"provider": "Google/Vertex",
|
|
2782
3086
|
"model": "gemini-2.0-flash-preview-image-generation",
|
|
@@ -2798,6 +3102,13 @@
|
|
|
2798
3102
|
"input": 0.3,
|
|
2799
3103
|
"output": 2.5
|
|
2800
3104
|
},
|
|
3105
|
+
{
|
|
3106
|
+
"provider": "Google/Vertex",
|
|
3107
|
+
"model": "gemini-2.5-flash-lite",
|
|
3108
|
+
"cached_input": 0.025,
|
|
3109
|
+
"input": 0.1,
|
|
3110
|
+
"output": 0.4
|
|
3111
|
+
},
|
|
2801
3112
|
{
|
|
2802
3113
|
"provider": "Google/Vertex",
|
|
2803
3114
|
"model": "gemini-2.5-flash-lite-preview-06-17",
|
chatlas/types/__init__.py
CHANGED
|
@@ -14,6 +14,7 @@ from .._content import (
|
|
|
14
14
|
ContentToolResult,
|
|
15
15
|
ImageContentTypes,
|
|
16
16
|
)
|
|
17
|
+
from .._provider import ModelInfo
|
|
17
18
|
from .._tokens import TokenUsage
|
|
18
19
|
from .._utils import MISSING, MISSING_TYPE
|
|
19
20
|
|
|
@@ -33,4 +34,5 @@ __all__ = (
|
|
|
33
34
|
"TokenUsage",
|
|
34
35
|
"MISSING_TYPE",
|
|
35
36
|
"MISSING",
|
|
37
|
+
"ModelInfo",
|
|
36
38
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chatlas
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.0
|
|
4
4
|
Summary: A simple and consistent interface for chatting with LLMs
|
|
5
5
|
Project-URL: Homepage, https://posit-dev.github.io/chatlas
|
|
6
6
|
Project-URL: Documentation, https://posit-dev.github.io/chatlas
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
chatlas/__init__.py,sha256=
|
|
1
|
+
chatlas/__init__.py,sha256=CyViGMiz50clcVu3vpZgOq_qP4hmoYGOlcHKlRPcLJo,2416
|
|
2
2
|
chatlas/_auto.py,sha256=-s7XGzsKLX4RipWtk4WOE8iKbOBhXPUPtI0-63PpXCY,5660
|
|
3
3
|
chatlas/_callbacks.py,sha256=3RpPaOQonTqScjXbaShgKJ1Rc-YxzWerxKRBjVssFnc,1838
|
|
4
|
-
chatlas/_chat.py,sha256=
|
|
5
|
-
chatlas/_content.py,sha256=
|
|
4
|
+
chatlas/_chat.py,sha256=HDNH_UA604sfyda-bVBs05GGs8-ISBwU4c2nM5bOd40,84997
|
|
5
|
+
chatlas/_content.py,sha256=Hg4IQwoOXC72MaL3H-zpuN0JcBluEmsp2vstfSoBn_k,19984
|
|
6
6
|
chatlas/_content_image.py,sha256=EUK6wAint-JatLsiwvaPDu4D3W-NcIsDCkzABkXgfDg,8304
|
|
7
7
|
chatlas/_content_pdf.py,sha256=cffeuJxzhUDukQ-Srkmpy62M8X12skYpU_FVq-Wvya4,2420
|
|
8
8
|
chatlas/_display.py,sha256=wyQzSc6z1VqrJfkTLkw1wQcti9s1Pr4qT8UxFJESn4U,4664
|
|
@@ -11,32 +11,32 @@ chatlas/_live_render.py,sha256=UMZltE35LxziDKPMEeDwQ9meZ95SeqwhJi7j-y9pcro,4004
|
|
|
11
11
|
chatlas/_logging.py,sha256=weKvXZDIZ88X7X61ruXM_S0AAhQ5mgiW9dR-km8x7Mg,3324
|
|
12
12
|
chatlas/_mcp_manager.py,sha256=smMXeKZzP90MrlCdnTHMyo7AWHwl7J2jkU8dKSlnEsQ,10237
|
|
13
13
|
chatlas/_merge.py,sha256=SGj_BetgA7gaOqSBKOhYmW3CYeQKTEehFrXvx3y4OYE,3924
|
|
14
|
-
chatlas/_provider.py,sha256=
|
|
15
|
-
chatlas/_provider_anthropic.py,sha256=
|
|
16
|
-
chatlas/_provider_cloudflare.py,sha256=
|
|
17
|
-
chatlas/_provider_databricks.py,sha256=
|
|
14
|
+
chatlas/_provider.py,sha256=k0rJ2uzGDacXVJZZVoLlySNCSFOjYbOC7k_VUT7j_Ms,6453
|
|
15
|
+
chatlas/_provider_anthropic.py,sha256=cOBkAEj6gyl0NGdLk3QvI6pruZZ2fUsXJZAN2i3_j3k,27394
|
|
16
|
+
chatlas/_provider_cloudflare.py,sha256=vFbqgQPmosopJa9qsVxTkjPn4vYC_wOlgqa6_QmwTho,5227
|
|
17
|
+
chatlas/_provider_databricks.py,sha256=JIOTm0HMe0qVAt8eS0WgGKugBwBdmL80JHLFH59ongU,4850
|
|
18
18
|
chatlas/_provider_deepseek.py,sha256=6nPtPSo-Po6sD4i8PZJHuI5T2oATpLi5djXFGdlserk,4906
|
|
19
|
-
chatlas/_provider_github.py,sha256=
|
|
20
|
-
chatlas/_provider_google.py,sha256=
|
|
19
|
+
chatlas/_provider_github.py,sha256=mhzoZGCb9d5DJvBll8_Ule6EljNJTNMGV2yS5KaZiY4,5622
|
|
20
|
+
chatlas/_provider_google.py,sha256=0vAFSSk8SVBEtaDmy7Tl0XlHDqR4qwxWJR8HeSgh79E,21060
|
|
21
21
|
chatlas/_provider_groq.py,sha256=XB2JDyuF95CcSbNkgk7JHcuy9KCW7hxTVaONDSjK8U8,3671
|
|
22
22
|
chatlas/_provider_huggingface.py,sha256=feJ416X0UdtyoeHZbkgolFf62D7zxNwM7i_X3NYsQQw,4669
|
|
23
23
|
chatlas/_provider_mistral.py,sha256=-p4rut0KCn-PrwnOlvr6lK8-K-OXvc5H9vTX-rCzUkk,5309
|
|
24
|
-
chatlas/_provider_ollama.py,sha256=
|
|
25
|
-
chatlas/_provider_openai.py,sha256=
|
|
24
|
+
chatlas/_provider_ollama.py,sha256=jFAu4v0NLUwdG_W_nKagBHOah0VKl_auTsgcYinP9rI,4119
|
|
25
|
+
chatlas/_provider_openai.py,sha256=SwzEBwA491HOL6YvEI5soDQIVXnSLpwMmU-0DC8k7QA,26422
|
|
26
26
|
chatlas/_provider_openrouter.py,sha256=9sCXvROVIiUdwfEbkVA-15_kc6ouFUP2uV2MmUe2rFk,4385
|
|
27
|
-
chatlas/_provider_perplexity.py,sha256=
|
|
28
|
-
chatlas/_provider_portkey.py,sha256=
|
|
29
|
-
chatlas/_provider_snowflake.py,sha256=
|
|
27
|
+
chatlas/_provider_perplexity.py,sha256=5q_LsUCJQ5w-jRveLDMPvZTX-GU2TVURp65mUMyDh10,4248
|
|
28
|
+
chatlas/_provider_portkey.py,sha256=6wKrLZmKVxOqyO6P3HBgWqPe7y1N8une_1wp0aJq7pU,4087
|
|
29
|
+
chatlas/_provider_snowflake.py,sha256=G66tG_zs_cIlrHaHY96GvBreTNHHk1O5012Y0BtYRqI,24578
|
|
30
30
|
chatlas/_tokens.py,sha256=QUsBLNJPgXk8vovcG5JdQU8NarCv7FRpOVBdgFkBgHs,5388
|
|
31
31
|
chatlas/_tokens_old.py,sha256=L9d9oafrXvEx2u4nIn_Jjn7adnQyLBnYBuPwJUE8Pl8,5005
|
|
32
|
-
chatlas/_tools.py,sha256=
|
|
32
|
+
chatlas/_tools.py,sha256=SCmGP9bLHvVxQPznWfagG7GdzQamnyrPwYwDJ6EaWpw,11692
|
|
33
33
|
chatlas/_turn.py,sha256=yK7alUxeP8d2iBc7amyz20BtEqcpvX6BCwWZsnlQ5R4,4515
|
|
34
34
|
chatlas/_typing_extensions.py,sha256=MB9vWMWlm-IF8uOQfrTcfb66MV6gYXn3zgnbdwAC7BQ,1076
|
|
35
35
|
chatlas/_utils.py,sha256=Kku2fa1mvTYCr5D28VxE6-fwfy2e2doCi-eKQkLEg4Y,4686
|
|
36
|
-
chatlas/_version.py,sha256=
|
|
36
|
+
chatlas/_version.py,sha256=9eKRDJ72C44i2IPiti-C7phzF429SwV2Nogzt0etpr0,706
|
|
37
37
|
chatlas/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
chatlas/data/prices.json,sha256=
|
|
39
|
-
chatlas/types/__init__.py,sha256=
|
|
38
|
+
chatlas/data/prices.json,sha256=X6qALp-dWc4nfus9lIqHoKzk3PZDPHTLoxxcN2m6fXc,62645
|
|
39
|
+
chatlas/types/__init__.py,sha256=4KWksOfX87xtkPWqTEV0qkCFij0UPJM39VNc00baiLc,776
|
|
40
40
|
chatlas/types/anthropic/__init__.py,sha256=OwubA-DPHYpYo0XyRyAFwftOI0mOxtHzAyhUSLcDx54,417
|
|
41
41
|
chatlas/types/anthropic/_client.py,sha256=t_tnOzzsW1xWNADkNoAuZJYoE9QJ8ie7DQNnFO1pvoM,697
|
|
42
42
|
chatlas/types/anthropic/_client_bedrock.py,sha256=2J6U1QcSx1KwiiHfXs3i4YEXDXw11sp-x3iLOuESrgQ,792
|
|
@@ -48,7 +48,7 @@ chatlas/types/openai/__init__.py,sha256=Q2RAr1bSH1nHsxICK05nAmKmxdhKmhbBkWD_XHiV
|
|
|
48
48
|
chatlas/types/openai/_client.py,sha256=SttisELwAd52_Je_5q3RfWGdX5wbg2CoGbxhS8ThS0A,792
|
|
49
49
|
chatlas/types/openai/_client_azure.py,sha256=b8Hr7iKYA5-sq9r7uEqbBFv9yo3itppmHIgkEGvChMs,896
|
|
50
50
|
chatlas/types/openai/_submit.py,sha256=rhft1h7zy6eSlSBLkt7ZAySFh-8WnR5UEG-BXaFTxag,7815
|
|
51
|
-
chatlas-0.
|
|
52
|
-
chatlas-0.
|
|
53
|
-
chatlas-0.
|
|
54
|
-
chatlas-0.
|
|
51
|
+
chatlas-0.11.0.dist-info/METADATA,sha256=E10nf0f9IXxzwtqdX2cOyY4iygNcpmC5met5iL7ng5k,5594
|
|
52
|
+
chatlas-0.11.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
53
|
+
chatlas-0.11.0.dist-info/licenses/LICENSE,sha256=zyuGzPOC7CcbOaBHsQ3UEyKYRO56KDUkor0OA4LqqDg,1081
|
|
54
|
+
chatlas-0.11.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|