pygeai 0.6.0b6__py3-none-any.whl → 0.6.0b7__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.
Files changed (85) hide show
  1. pygeai/_docs/source/content/api_reference/admin.rst +161 -0
  2. pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
  3. pygeai/_docs/source/content/api_reference/auth.rst +379 -0
  4. pygeai/_docs/source/content/api_reference/health.rst +58 -0
  5. pygeai/_docs/source/content/api_reference/project.rst +20 -18
  6. pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
  7. pygeai/_docs/source/content/api_reference.rst +6 -1
  8. pygeai/_docs/source/index.rst +59 -7
  9. pygeai/_docs/source/pygeai.auth.rst +29 -0
  10. pygeai/_docs/source/pygeai.cli.commands.rst +16 -0
  11. pygeai/_docs/source/pygeai.core.utils.rst +16 -0
  12. pygeai/_docs/source/pygeai.rst +1 -0
  13. pygeai/_docs/source/pygeai.tests.auth.rst +21 -0
  14. pygeai/_docs/source/pygeai.tests.cli.commands.rst +16 -0
  15. pygeai/_docs/source/pygeai.tests.core.base.rst +8 -0
  16. pygeai/_docs/source/pygeai.tests.core.files.rst +8 -0
  17. pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
  18. pygeai/_docs/source/pygeai.tests.core.rst +1 -0
  19. pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
  20. pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
  21. pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
  22. pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
  23. pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +8 -0
  24. pygeai/_docs/source/pygeai.tests.organization.rst +8 -0
  25. pygeai/_docs/source/pygeai.tests.rst +2 -0
  26. pygeai/_docs/source/pygeai.tests.snippets.auth.rst +10 -0
  27. pygeai/_docs/source/pygeai.tests.snippets.organization.rst +40 -0
  28. pygeai/_docs/source/pygeai.tests.snippets.rst +1 -0
  29. pygeai/admin/clients.py +7 -32
  30. pygeai/assistant/clients.py +9 -44
  31. pygeai/assistant/data/clients.py +1 -0
  32. pygeai/assistant/data_analyst/clients.py +4 -13
  33. pygeai/assistant/rag/clients.py +13 -67
  34. pygeai/auth/clients.py +88 -14
  35. pygeai/auth/endpoints.py +4 -0
  36. pygeai/chat/clients.py +1 -0
  37. pygeai/cli/commands/auth.py +178 -2
  38. pygeai/cli/commands/lab/ai_lab.py +0 -2
  39. pygeai/cli/commands/organization.py +241 -0
  40. pygeai/core/base/clients.py +1 -0
  41. pygeai/core/embeddings/clients.py +3 -7
  42. pygeai/core/feedback/clients.py +3 -8
  43. pygeai/core/files/clients.py +5 -18
  44. pygeai/core/llm/clients.py +7 -26
  45. pygeai/core/models.py +107 -0
  46. pygeai/core/plugins/clients.py +3 -7
  47. pygeai/core/rerank/clients.py +3 -8
  48. pygeai/core/secrets/clients.py +8 -37
  49. pygeai/core/utils/parsers.py +32 -0
  50. pygeai/core/utils/validators.py +10 -0
  51. pygeai/evaluation/clients.py +1 -0
  52. pygeai/evaluation/dataset/clients.py +1 -0
  53. pygeai/evaluation/plan/clients.py +1 -0
  54. pygeai/evaluation/result/clients.py +1 -0
  55. pygeai/gam/clients.py +6 -25
  56. pygeai/health/clients.py +3 -7
  57. pygeai/lab/agents/clients.py +13 -53
  58. pygeai/lab/agents/endpoints.py +2 -0
  59. pygeai/lab/clients.py +1 -0
  60. pygeai/lab/processes/clients.py +24 -127
  61. pygeai/lab/strategies/clients.py +7 -25
  62. pygeai/lab/tools/clients.py +22 -67
  63. pygeai/lab/tools/endpoints.py +3 -0
  64. pygeai/organization/clients.py +122 -51
  65. pygeai/organization/endpoints.py +6 -1
  66. pygeai/organization/limits/clients.py +17 -91
  67. pygeai/organization/managers.py +157 -1
  68. pygeai/organization/mappers.py +76 -2
  69. pygeai/organization/responses.py +25 -1
  70. pygeai/proxy/clients.py +1 -0
  71. pygeai/tests/auth/test_clients.py +183 -7
  72. pygeai/tests/organization/test_clients.py +184 -1
  73. pygeai/tests/organization/test_managers.py +122 -1
  74. pygeai/tests/snippets/auth/__init__.py +0 -0
  75. pygeai/tests/snippets/organization/get_memberships.py +12 -0
  76. pygeai/tests/snippets/organization/get_organization_members.py +6 -0
  77. pygeai/tests/snippets/organization/get_project_members.py +6 -0
  78. pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
  79. pygeai/tests/snippets/organization/get_project_roles.py +6 -0
  80. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/METADATA +1 -1
  81. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/RECORD +85 -64
  82. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/WHEEL +0 -0
  83. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/entry_points.txt +0 -0
  84. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/licenses/LICENSE +0 -0
  85. {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,379 @@
1
+ Authentication & Token Management
2
+ ==================================
3
+
4
+ The GEAI SDK provides functionality to manage authentication and API tokens for Globant Enterprise AI. This includes OAuth2 authentication, user profile retrieval, and project API token management through the command line interface and the low-level service layer (AuthClient).
5
+
6
+ OAuth2 Access Token
7
+ ~~~~~~~~~~~~~~~~~~~
8
+
9
+ Retrieves an OAuth2 access token for authentication with Globant Enterprise AI. This token is required for accessing user profile information and other authenticated endpoints.
10
+
11
+ Command Line
12
+ ^^^^^^^^^^^^
13
+
14
+ The `geai auth get-access-token` command retrieves an OAuth2 access token using client credentials and user authentication.
15
+
16
+ .. code-block:: shell
17
+
18
+ geai auth get-access-token \
19
+ --client-id "your-client-id" \
20
+ --username "user@example.com" \
21
+ --password "your-password" \
22
+ --scope "gam_user_data gam_user_roles"
23
+
24
+ Using short form aliases:
25
+
26
+ .. code-block:: shell
27
+
28
+ geai auth gat \
29
+ --cid "your-client-id" \
30
+ -u "user@example.com" \
31
+ -p "your-password" \
32
+ -s "gam_user_data gam_user_roles"
33
+
34
+ Low Level Service Layer
35
+ ^^^^^^^^^^^^^^^^^^^^^^^^
36
+
37
+ The `AuthClient` class provides a low-level interface to obtain OAuth2 access tokens.
38
+
39
+ .. code-block:: python
40
+
41
+ from pygeai.auth.clients import AuthClient
42
+
43
+ client = AuthClient()
44
+
45
+ response = client.get_oauth2_access_token(
46
+ client_id="your-client-id",
47
+ username="user@example.com",
48
+ password="your-password",
49
+ scope="gam_user_data gam_user_roles"
50
+ )
51
+ print(response)
52
+
53
+ User Profile Information
54
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
55
+
56
+ Retrieves user profile information using an OAuth2 access token obtained from the previous endpoint.
57
+
58
+ Command Line
59
+ ^^^^^^^^^^^^
60
+
61
+ The `geai auth get-user-info` command retrieves the current user's profile information.
62
+
63
+ .. code-block:: shell
64
+
65
+ geai auth get-user-info \
66
+ --access-token "your-access-token"
67
+
68
+ Using short form aliases:
69
+
70
+ .. code-block:: shell
71
+
72
+ geai auth gui \
73
+ --token "your-access-token"
74
+
75
+ Low Level Service Layer
76
+ ^^^^^^^^^^^^^^^^^^^^^^^^
77
+
78
+ The `AuthClient` class provides a low-level interface to retrieve user profile information.
79
+
80
+ .. code-block:: python
81
+
82
+ from pygeai.auth.clients import AuthClient
83
+
84
+ client = AuthClient()
85
+
86
+ response = client.get_user_profile_information(
87
+ access_token="your-access-token"
88
+ )
89
+ print(response)
90
+
91
+ Create Project API Token
92
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
93
+
94
+ Creates a new API token for a specific project. This operation requires organization-level or GAM authentication.
95
+
96
+ Command Line
97
+ ^^^^^^^^^^^^
98
+
99
+ The `geai auth create-project-api-token` command creates a new API token for a project.
100
+
101
+ .. code-block:: shell
102
+
103
+ geai auth create-project-api-token \
104
+ --project-id "2ca6883f-6778-40bb-bcc1-85451fb11107" \
105
+ --name "MyAPIToken" \
106
+ --description "API token for production environment"
107
+
108
+ Creating a token without description (minimal):
109
+
110
+ .. code-block:: shell
111
+
112
+ geai auth create-api-token \
113
+ --pid "2ca6883f-6778-40bb-bcc1-85451fb11107" \
114
+ --name "TestToken"
115
+
116
+ Using the shortest alias:
117
+
118
+ .. code-block:: shell
119
+
120
+ geai auth cat \
121
+ --pid "2ca6883f-6778-40bb-bcc1-85451fb11107" \
122
+ -n "TestToken" \
123
+ -d "Optional description"
124
+
125
+ Low Level Service Layer
126
+ ^^^^^^^^^^^^^^^^^^^^^^^^
127
+
128
+ The `AuthClient` class provides a low-level interface to create project API tokens.
129
+
130
+ .. code-block:: python
131
+
132
+ from pygeai.auth.clients import AuthClient
133
+
134
+ client = AuthClient()
135
+
136
+ response = client.create_project_api_token(
137
+ project_id="2ca6883f-6778-40bb-bcc1-85451fb11107",
138
+ name="MyAPIToken",
139
+ description="API token for production environment"
140
+ )
141
+ print(response)
142
+
143
+ Without description (optional parameter):
144
+
145
+ .. code-block:: python
146
+
147
+ from pygeai.auth.clients import AuthClient
148
+
149
+ client = AuthClient()
150
+
151
+ response = client.create_project_api_token(
152
+ project_id="2ca6883f-6778-40bb-bcc1-85451fb11107",
153
+ name="MyAPIToken"
154
+ )
155
+ print(response)
156
+
157
+ Get Project API Token
158
+ ~~~~~~~~~~~~~~~~~~~~~~
159
+
160
+ Retrieves detailed information about a specific project API token.
161
+
162
+ Command Line
163
+ ^^^^^^^^^^^^
164
+
165
+ The `geai auth get-project-api-token` command retrieves details of a specific API token.
166
+
167
+ .. code-block:: shell
168
+
169
+ geai auth get-project-api-token \
170
+ --api-token-id "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
171
+
172
+ Using short form aliases:
173
+
174
+ .. code-block:: shell
175
+
176
+ geai auth get-api-token \
177
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
178
+
179
+ Using the shortest alias:
180
+
181
+ .. code-block:: shell
182
+
183
+ geai auth gat \
184
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
185
+
186
+ Low Level Service Layer
187
+ ^^^^^^^^^^^^^^^^^^^^^^^^
188
+
189
+ The `AuthClient` class provides a low-level interface to retrieve project API token details.
190
+
191
+ .. code-block:: python
192
+
193
+ from pygeai.auth.clients import AuthClient
194
+
195
+ client = AuthClient()
196
+
197
+ response = client.get_project_api_token(
198
+ api_token_id="default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
199
+ )
200
+ print(response)
201
+
202
+ Update Project API Token
203
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
204
+
205
+ Updates an existing API token's description and/or status. Status can be set to 'active' or 'blocked'.
206
+
207
+ Command Line
208
+ ^^^^^^^^^^^^
209
+
210
+ The `geai auth update-project-api-token` command updates an existing API token.
211
+
212
+ Update description only:
213
+
214
+ .. code-block:: shell
215
+
216
+ geai auth update-project-api-token \
217
+ --api-token-id "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY" \
218
+ --description "Updated description for API token"
219
+
220
+ Update status to blocked:
221
+
222
+ .. code-block:: shell
223
+
224
+ geai auth update-api-token \
225
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY" \
226
+ --status "blocked"
227
+
228
+ Update status to active:
229
+
230
+ .. code-block:: shell
231
+
232
+ geai auth uat \
233
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY" \
234
+ --status "active"
235
+
236
+ Update both description and status:
237
+
238
+ .. code-block:: shell
239
+
240
+ geai auth update-api-token \
241
+ --api-token-id "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY" \
242
+ --description "Production API token" \
243
+ --status "active"
244
+
245
+ Low Level Service Layer
246
+ ^^^^^^^^^^^^^^^^^^^^^^^^
247
+
248
+ The `AuthClient` class provides a low-level interface to update project API tokens.
249
+
250
+ Update description:
251
+
252
+ .. code-block:: python
253
+
254
+ from pygeai.auth.clients import AuthClient
255
+
256
+ client = AuthClient()
257
+
258
+ response = client.update_project_api_token(
259
+ api_token_id="default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY",
260
+ description="Updated description for API token"
261
+ )
262
+ print(response)
263
+
264
+ Update status:
265
+
266
+ .. code-block:: python
267
+
268
+ from pygeai.auth.clients import AuthClient
269
+
270
+ client = AuthClient()
271
+
272
+ response = client.update_project_api_token(
273
+ api_token_id="default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY",
274
+ status="blocked"
275
+ )
276
+ print(response)
277
+
278
+ Update both description and status:
279
+
280
+ .. code-block:: python
281
+
282
+ from pygeai.auth.clients import AuthClient
283
+
284
+ client = AuthClient()
285
+
286
+ response = client.update_project_api_token(
287
+ api_token_id="default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY",
288
+ description="Production API token",
289
+ status="active"
290
+ )
291
+ print(response)
292
+
293
+ Delete Project API Token
294
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
295
+
296
+ Revokes an API token by setting its status to "revoked". Deleted tokens cannot be updated or reactivated.
297
+
298
+ Command Line
299
+ ^^^^^^^^^^^^
300
+
301
+ The `geai auth delete-project-api-token` command deletes/revokes an API token.
302
+
303
+ .. code-block:: shell
304
+
305
+ geai auth delete-project-api-token \
306
+ --api-token-id "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
307
+
308
+ Using short form aliases:
309
+
310
+ .. code-block:: shell
311
+
312
+ geai auth delete-api-token \
313
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
314
+
315
+ Using the shortest alias:
316
+
317
+ .. code-block:: shell
318
+
319
+ geai auth dat \
320
+ --tid "default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
321
+
322
+ Low Level Service Layer
323
+ ^^^^^^^^^^^^^^^^^^^^^^^^
324
+
325
+ The `AuthClient` class provides a low-level interface to delete project API tokens.
326
+
327
+ .. code-block:: python
328
+
329
+ from pygeai.auth.clients import AuthClient
330
+
331
+ client = AuthClient()
332
+
333
+ response = client.delete_project_api_token(
334
+ api_token_id="default_rnLl2eCuOuXJ_e8y8pXLMCnp1p4WcNu0I_-9mtD-AzY"
335
+ )
336
+ print(response)
337
+
338
+ Command Aliases Reference
339
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
340
+
341
+ The following command aliases are available for convenience:
342
+
343
+ ========================== ================================================================
344
+ Command Aliases
345
+ ========================== ================================================================
346
+ get-access-token gat
347
+ get-user-information get-user-info, gui
348
+ create-project-api-token create-api-token, cat
349
+ delete-project-api-token delete-api-token, dat
350
+ update-project-api-token update-api-token, uat
351
+ get-project-api-token get-api-token, gat
352
+ ========================== ================================================================
353
+
354
+ Option Aliases Reference
355
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
356
+
357
+ The following option aliases are available for convenience:
358
+
359
+ ========================== ================================================================
360
+ Option Aliases
361
+ ========================== ================================================================
362
+ --project-id --pid
363
+ --api-token-id --tid
364
+ --name -n
365
+ --description -d
366
+ --access-token --token
367
+ --client-id --cid
368
+ --username -u
369
+ --password -p
370
+ --scope -s
371
+ ========================== ================================================================
372
+
373
+ Security Notes
374
+ ~~~~~~~~~~~~~~
375
+
376
+ * API tokens must be managed using organization-level API tokens or GAM tokens
377
+ * Project API tokens cannot manage other API tokens
378
+ * Deleted tokens cannot be updated or reactivated
379
+ * Status values: 'active' (token can be used) or 'blocked' (token cannot be used)
@@ -0,0 +1,58 @@
1
+ Health & Status
2
+ ===============
3
+
4
+ The Health module provides functionality to check the operational status of Globant Enterprise AI services and endpoints.
5
+
6
+ This section covers:
7
+
8
+ * Checking API health status
9
+ * Verifying service availability
10
+
11
+ For each operation, you have two implementation options:
12
+
13
+ * `Command Line`_
14
+ * `Low-Level Service Layer`_
15
+
16
+ .. note::
17
+ The Health module currently does not have a High-Level Service Layer (Manager class).
18
+
19
+
20
+ Check API Status
21
+ ~~~~~~~~~~~~~~~~
22
+
23
+ Checks the health and availability of the Globant Enterprise AI API.
24
+
25
+ Command Line
26
+ ^^^^^^^^^^^^
27
+
28
+ .. code-block:: shell
29
+
30
+ geai status
31
+
32
+ Or using the alias:
33
+
34
+ .. code-block:: shell
35
+
36
+ geai s
37
+
38
+ Low-Level Service Layer
39
+ ^^^^^^^^^^^^^^^^^^^^^^^^
40
+
41
+ .. code-block:: python
42
+
43
+ from pygeai.health.clients import HealthClient
44
+
45
+ client = HealthClient()
46
+
47
+ status = client.get_health()
48
+ print(status)
49
+
50
+ Example response:
51
+
52
+ .. code-block:: json
53
+
54
+ {
55
+ "status": "healthy",
56
+ "version": "1.0.0",
57
+ "timestamp": "2026-01-06T12:00:00Z"
58
+ }
@@ -68,7 +68,7 @@ Use the following code snippet to list projects with the desired detail level:
68
68
 
69
69
  .. code-block:: python
70
70
 
71
- from pygeai.organization.clients import OrganizationClient()
71
+ from pygeai.organization.clients import OrganizationClient
72
72
 
73
73
  client = OrganizationClient()
74
74
  project_list = client.get_project_list(detail="full") # Use "summary" for less detail
@@ -156,7 +156,7 @@ For more control, you can use the low-level service layer. To do so:
156
156
 
157
157
  .. code-block:: python
158
158
 
159
- from pygeai.organization.clients import OrganizationClient()
159
+ from pygeai.organization.clients import OrganizationClient
160
160
 
161
161
  name="Project Name"
162
162
  description="Project Description"
@@ -181,13 +181,13 @@ The high-level service layer offers a more structured approach:
181
181
  .. code-block:: python
182
182
 
183
183
  from pygeai.organization.managers import OrganizationManager
184
- from pygeai.core.models import ProjectUsageLimit, Project
184
+ from pygeai.core.models import UsageLimit, Project
185
185
 
186
186
  manager = OrganizationManager()
187
187
 
188
- usage_limit = ProjectUsageLimit(
188
+ usage_limit = UsageLimit(
189
189
  subscription_type="Monthly", # Options: Freemium, Daily, Weekly, Monthly
190
- usage_unit="Requests", # Options: Cost (Only Cost is allowed for organization limits)
190
+ usage_unit="Requests", # Options: Requests, Cost
191
191
  soft_limit=500.0, # Recommended usage limit
192
192
  hard_limit=1000.0, # Maximum allowed usage
193
193
  renewal_status="Renewable" # Options: Renewable, NonRenewable
@@ -253,9 +253,9 @@ Use the following code snippet to update a project using the low-level service l
253
253
 
254
254
  .. code-block:: python
255
255
 
256
- from pygeai.organization.clients import OrganizationClient()
256
+ from pygeai.organization.clients import OrganizationClient
257
257
 
258
- project_id="<project_id>"
258
+ project_iid="<project_id>"
259
259
  name="<new_project_name>"
260
260
  description="<new_project_description>"
261
261
 
@@ -284,7 +284,7 @@ Use the following code snippet to update a project using the high-level service
284
284
  client = OrganizationManager()
285
285
 
286
286
  project = Project(
287
- d="<project_id>",
287
+ id="<project_id>",
288
288
  name="<new_project_name>",
289
289
  description="<new_project_description>",
290
290
  )
@@ -335,7 +335,7 @@ Use the following code snippet to delete a project using the low-level service l
335
335
 
336
336
  .. code-block:: python
337
337
 
338
- from pygeai.organization.clients import OrganizationClient()
338
+ from pygeai.organization.clients import OrganizationClient
339
339
 
340
340
  project_id = "<project_id>"
341
341
  client = OrganizationClient()
@@ -346,11 +346,13 @@ Replace <`project_id`> with the actual project Id. For example:
346
346
 
347
347
  .. code-block:: python
348
348
 
349
- from pygeai.organization.clients import OrganizationClient()
349
+ from pygeai.organization.clients import OrganizationClient
350
350
 
351
351
  project_id="12345678-90ab-cdef-1234-567890abcdef"
352
352
  client = OrganizationClient()
353
- deleted_project = client.delete_project(
353
+ deleted_project = client.delete_project(project_id=project_id)
354
+ print(deleted_project)
355
+
354
356
 
355
357
  High level service layer
356
358
  ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -370,7 +372,7 @@ Replace <`project_id`> with the actual project Id. For example:
370
372
 
371
373
  .. code-block:: python
372
374
 
373
- from pygeai.core.managers import OrganizationManager
375
+ from pygeai.organization.managers import OrganizationManager
374
376
 
375
377
  manager = OrganizationManager()
376
378
  response = manager.delete_project("12345678-90ab-cdef-1234-567890abcdef")
@@ -415,9 +417,9 @@ Use the following code snippet to retrieve project data using the low-level serv
415
417
 
416
418
  .. code-block:: python
417
419
 
418
- from pygeai.organization.clients import OrganizationClient()
420
+ from pygeai.organization.clients import OrganizationClient
419
421
 
420
- project_id="<project_id>"
422
+ project_iid="<project_id>"
421
423
  client = OrganizationClient()
422
424
  project_data = client.get_project_data(project_id=project_id)
423
425
  print(project_data)
@@ -427,7 +429,7 @@ Replace `<project_id>` with the actual project Id. For example:
427
429
 
428
430
  .. code-block:: python
429
431
 
430
- from pygeai.organization.clients import OrganizationClient()
432
+ from pygeai.organization.clients import OrganizationClient
431
433
 
432
434
  project_id="12345678-90ab-cdef-1234-567890abcdef"
433
435
  client = OrganizationClient()
@@ -447,7 +449,7 @@ Use the following code snippet to retrieve project data using the high-level ser
447
449
 
448
450
  manager = OrganizationManager(alias="sdkorg")
449
451
 
450
- project = manager.get_project_data(project_id="<project_id>")
452
+ project = manager.get_project_data(project_iid="<project_id>")
451
453
  print(f"project: {project}")
452
454
 
453
455
 
@@ -455,7 +457,7 @@ Replace `<project_id>` with the actual project Id. For example:
455
457
 
456
458
  .. code-block:: python
457
459
 
458
- from pygeai.core.managers import OrganizationManager
460
+ from pygeai.organization.managers import OrganizationManager
459
461
 
460
462
  manager = OrganizationManager(alias="sdkorg")
461
463
  project = manager.get_project_data(project_id="12345678-90ab-cdef-1234-567890abcdef")
@@ -528,7 +530,7 @@ Use the following code snippet to retrieve project tokens using the high-level s
528
530
 
529
531
  .. code-block:: python
530
532
 
531
- from pygeai.core.managers import OrganizationManager
533
+ from pygeai.organization.managers import OrganizationManager
532
534
  from pygeai.core.base.models import ProjectTokensResponse
533
535
 
534
536
  client = OrganizationManager()
@@ -0,0 +1,94 @@
1
+ Reranking
2
+ =========
3
+
4
+ The Rerank module provides functionality to reorder document chunks based on their relevance to a query. This is particularly useful in retrieval-augmented generation (RAG) systems to prioritize the most relevant context.
5
+
6
+ This section covers:
7
+
8
+ * Reranking document chunks based on relevance
9
+ * Selecting top-N most relevant documents
10
+
11
+ For each operation, you have two implementation options:
12
+
13
+ * `Command Line`_
14
+ * `Low-Level Service Layer`_
15
+
16
+ .. note::
17
+ The Rerank module currently does not have a High-Level Service Layer (Manager class).
18
+
19
+
20
+ Rerank Chunks
21
+ ~~~~~~~~~~~~~
22
+
23
+ Reranks a list of document chunks based on their relevance to a given query.
24
+
25
+ Command Line
26
+ ^^^^^^^^^^^^
27
+
28
+ .. code-block:: shell
29
+
30
+ geai rerank rerank-chunks \
31
+ --query "What is machine learning?" \
32
+ --documents '["Machine learning is a subset of AI", "Python is a programming language", "Deep learning uses neural networks"]' \
33
+ --model "cohere/rerank-english-v3.0" \
34
+ --top-n 2
35
+
36
+ Using the alias:
37
+
38
+ .. code-block:: shell
39
+
40
+ geai rerank chunks \
41
+ -q "What is machine learning?" \
42
+ -d "Machine learning is a subset of AI" \
43
+ --top-n 2
44
+
45
+ Low-Level Service Layer
46
+ ^^^^^^^^^^^^^^^^^^^^^^^^
47
+
48
+ .. code-block:: python
49
+
50
+ from pygeai.core.rerank.clients import RerankClient
51
+
52
+ client = RerankClient()
53
+
54
+ query = "What is machine learning?"
55
+ documents = [
56
+ "Machine learning is a subset of AI",
57
+ "Python is a programming language",
58
+ "Deep learning uses neural networks"
59
+ ]
60
+
61
+ results = client.rerank_chunks(
62
+ query=query,
63
+ documents=documents,
64
+ model="cohere/rerank-english-v3.0",
65
+ top_n=2
66
+ )
67
+ print(results)
68
+
69
+ Example response:
70
+
71
+ .. code-block:: json
72
+
73
+ {
74
+ "results": [
75
+ {
76
+ "index": 0,
77
+ "document": "Machine learning is a subset of AI",
78
+ "relevance_score": 0.95
79
+ },
80
+ {
81
+ "index": 2,
82
+ "document": "Deep learning uses neural networks",
83
+ "relevance_score": 0.72
84
+ }
85
+ ]
86
+ }
87
+
88
+ Parameters
89
+ ^^^^^^^^^^
90
+
91
+ * **query** (required): The search query to rank documents against
92
+ * **documents** (required): List of document strings to rerank
93
+ * **model** (optional): The reranking model to use (default: "cohere/rerank-english-v3.0")
94
+ * **top_n** (optional): Number of top results to return (default: returns all)
@@ -7,10 +7,15 @@ This document provides a comprehensive overview of **API Reference**, outlining
7
7
  :maxdepth: 2
8
8
  :caption: Contents:
9
9
 
10
+ api_reference/auth
11
+ api_reference/admin
12
+ api_reference/assistant
10
13
  api_reference/chat
14
+ api_reference/embeddings
15
+ api_reference/health
11
16
  api_reference/project
12
17
  api_reference/rag
13
- api_reference/embeddings
18
+ api_reference/rerank
14
19
 
15
20
 
16
21
  Authentication