seekrai 0.5.7__tar.gz → 0.5.9__tar.gz

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.
Files changed (71) hide show
  1. {seekrai-0.5.7 → seekrai-0.5.9}/PKG-INFO +3 -3
  2. {seekrai-0.5.7 → seekrai-0.5.9}/pyproject.toml +3 -3
  3. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/chat/completions.py +6 -6
  4. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/embeddings.py +2 -2
  5. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/finetune.py +3 -1
  6. {seekrai-0.5.7 → seekrai-0.5.9}/LICENSE +0 -0
  7. {seekrai-0.5.7 → seekrai-0.5.9}/README.md +0 -0
  8. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/__init__.py +0 -0
  9. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/abstract/__init__.py +0 -0
  10. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/abstract/api_requestor.py +0 -0
  11. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/abstract/response_parsing.py +0 -0
  12. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/client.py +0 -0
  13. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/constants.py +0 -0
  14. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/error.py +0 -0
  15. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/filemanager.py +0 -0
  16. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/__init__.py +0 -0
  17. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/agents/__init__.py +0 -0
  18. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/agents/agent_inference.py +0 -0
  19. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/agents/agents.py +0 -0
  20. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/agents/threads.py +0 -0
  21. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/alignment.py +0 -0
  22. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/chat/__init__.py +0 -0
  23. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/completions.py +0 -0
  24. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/deployments.py +0 -0
  25. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/explainability.py +0 -0
  26. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/files.py +0 -0
  27. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/finetune.py +0 -0
  28. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/images.py +0 -0
  29. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/ingestion.py +0 -0
  30. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/models.py +0 -0
  31. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/projects.py +0 -0
  32. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/resource_base.py +0 -0
  33. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/resources/vectordb.py +0 -0
  34. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/seekrflow_response.py +0 -0
  35. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/__init__.py +0 -0
  36. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/abstract.py +0 -0
  37. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/__init__.py +0 -0
  38. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/agent.py +0 -0
  39. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/runs.py +0 -0
  40. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/threads.py +0 -0
  41. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/__init__.py +0 -0
  42. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/env_model_config.py +0 -0
  43. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/__init__.py +0 -0
  44. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/file_search.py +0 -0
  45. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/file_search_env.py +0 -0
  46. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/run_python.py +0 -0
  47. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/run_python_env.py +0 -0
  48. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/web_search.py +0 -0
  49. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/schemas/web_search_env.py +0 -0
  50. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/tool.py +0 -0
  51. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/agents/tools/tool_types.py +0 -0
  52. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/alignment.py +0 -0
  53. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/chat_completions.py +0 -0
  54. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/common.py +0 -0
  55. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/completions.py +0 -0
  56. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/deployments.py +0 -0
  57. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/embeddings.py +0 -0
  58. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/error.py +0 -0
  59. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/explainability.py +0 -0
  60. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/files.py +0 -0
  61. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/images.py +0 -0
  62. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/ingestion.py +0 -0
  63. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/models.py +0 -0
  64. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/projects.py +0 -0
  65. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/types/vectordb.py +0 -0
  66. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/utils/__init__.py +0 -0
  67. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/utils/_log.py +0 -0
  68. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/utils/api_helpers.py +0 -0
  69. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/utils/files.py +0 -0
  70. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/utils/tools.py +0 -0
  71. {seekrai-0.5.7 → seekrai-0.5.9}/src/seekrai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: seekrai
3
- Version: 0.5.7
3
+ Version: 0.5.9
4
4
  Summary: Python client for SeekrAI
5
5
  License: Apache-2.0
6
6
  Author: SeekrFlow
@@ -17,10 +17,10 @@ Classifier: Programming Language :: Python :: 3.13
17
17
  Requires-Dist: click (>=8.1.7,<9.0.0)
18
18
  Requires-Dist: eval-type-backport (>=0.1.3,<0.3.0)
19
19
  Requires-Dist: filelock (>=3.13.1,<4.0.0)
20
- Requires-Dist: httpx[http2] (>=0.28.0,<0.29.0)
20
+ Requires-Dist: httpx[http2] (>=0.27.0,<0.28.0)
21
21
  Requires-Dist: numpy (>=1.23.5) ; python_version < "3.12"
22
22
  Requires-Dist: numpy (>=1.26.0) ; python_version >= "3.12"
23
- Requires-Dist: pillow (>=10.2.0,<11.0.0)
23
+ Requires-Dist: pillow (>=10.3.0,<11.0.0)
24
24
  Requires-Dist: pyarrow (>=10.0.1)
25
25
  Requires-Dist: pydantic (>=2.7,<3.0)
26
26
  Requires-Dist: requests (>=2.31.0,<3.0.0)
@@ -14,7 +14,7 @@ build-backend = "poetry.core.masonry.api"
14
14
 
15
15
  [tool.poetry]
16
16
  name = "seekrai"
17
- version = "0.5.7"
17
+ version = "0.5.9"
18
18
  authors = [
19
19
  "SeekrFlow <support@seekr.com>"
20
20
  ]
@@ -40,13 +40,13 @@ pydantic = "^2.7"
40
40
  filelock = "^3.13.1"
41
41
  eval-type-backport = ">=0.1.3,<0.3.0"
42
42
  click = "^8.1.7"
43
- pillow = "^10.2.0"
43
+ pillow = "^10.3.0"
44
44
  pyarrow = ">=10.0.1"
45
45
  numpy = [
46
46
  { version = ">=1.23.5", python = "<3.12" },
47
47
  { version = ">=1.26.0", python = ">=3.12" },
48
48
  ]
49
- httpx = {extras = ["http2"], version = "^0.28.0"}
49
+ httpx = {extras = ["http2"], version = "^0.27.0"}
50
50
 
51
51
  [tool.poetry.group.quality]
52
52
  optional = true
@@ -112,11 +112,10 @@ class ChatCompletions:
112
112
  n=n,
113
113
  safety_model=safety_model,
114
114
  response_format=response_format,
115
- tools=tools or [],
115
+ tools=tools or None,
116
116
  ).model_dump()
117
117
  if tool_choice is not None:
118
118
  parameter_payload["tool_choice"] = tool_choice
119
-
120
119
  response, _, _ = requestor.request(
121
120
  options=SeekrFlowRequest(
122
121
  method="POST",
@@ -158,8 +157,8 @@ class AsyncChatCompletions:
158
157
  n: int = 1,
159
158
  safety_model: str | None = None,
160
159
  response_format: Dict[str, str | Dict[str, Any]] | None = None,
161
- # tools: Dict[str, str | Dict[str, Any]] | None = None,
162
- # tool_choice: str | Dict[str, str | Dict[str, str]] | None = None,
160
+ tools: Dict[str, str | Dict[str, Any]] | None = None,
161
+ tool_choice: str | Dict[str, str | Dict[str, str]] | None = None,
163
162
  ) -> AsyncGenerator[ChatCompletionChunk, None] | ChatCompletionResponse:
164
163
  """
165
164
  Async method to generate completions based on a given prompt using a specified model.
@@ -235,9 +234,10 @@ class AsyncChatCompletions:
235
234
  n=n,
236
235
  safety_model=safety_model,
237
236
  response_format=response_format,
238
- # tools=tools,
239
- # tool_choice=tool_choice,
237
+ tools=tools or None,
240
238
  ).model_dump()
239
+ if tool_choice is not None:
240
+ parameter_payload["tool_choice"] = tool_choice
241
241
 
242
242
  response, _, _ = await requestor.arequest(
243
243
  options=SeekrFlowRequest(
@@ -29,7 +29,6 @@ class Embeddings(ResourceBase):
29
29
  Returns:
30
30
  EmbeddingResponse: Object containing embeddings
31
31
  """
32
- raise NotImplementedError("Function not implemented yet")
33
32
 
34
33
  requestor = api_requestor.APIRequestor(
35
34
  client=self._client,
@@ -45,6 +44,7 @@ class Embeddings(ResourceBase):
45
44
  method="POST",
46
45
  url="inference/embeddings",
47
46
  params=parameter_payload,
47
+ headers={"content-type": "application/json"},
48
48
  ),
49
49
  stream=False,
50
50
  )
@@ -71,7 +71,6 @@ class AsyncEmbeddings(ResourceBase):
71
71
  Returns:
72
72
  EmbeddingResponse: Object containing embeddings
73
73
  """
74
- raise NotImplementedError("Function not implemented yet")
75
74
 
76
75
  requestor = api_requestor.APIRequestor(
77
76
  client=self._client,
@@ -87,6 +86,7 @@ class AsyncEmbeddings(ResourceBase):
87
86
  method="POST",
88
87
  url="inference/embeddings",
89
88
  params=parameter_payload,
89
+ headers={"content-type": "application/json"},
90
90
  ),
91
91
  stream=False,
92
92
  )
@@ -4,6 +4,8 @@ from datetime import datetime
4
4
  from enum import Enum
5
5
  from typing import List, Literal, Optional
6
6
 
7
+ from pydantic import Field
8
+
7
9
  from seekrai.types.abstract import BaseModel
8
10
  from seekrai.types.common import (
9
11
  ObjectType,
@@ -103,7 +105,7 @@ class TrainingConfig(BaseModel):
103
105
  # number of checkpoints to save
104
106
  n_checkpoints: int | None = None
105
107
  # training batch size
106
- batch_size: int | None = None
108
+ batch_size: int = Field(..., ge=1, le=1024)
107
109
  # up to 40 character suffix for output model name
108
110
  experiment_name: str | None = None
109
111
  # # weights & biases api key
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes