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.
- pygeai/_docs/source/content/api_reference/admin.rst +161 -0
- pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
- pygeai/_docs/source/content/api_reference/auth.rst +379 -0
- pygeai/_docs/source/content/api_reference/health.rst +58 -0
- pygeai/_docs/source/content/api_reference/project.rst +20 -18
- pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
- pygeai/_docs/source/content/api_reference.rst +6 -1
- pygeai/_docs/source/index.rst +59 -7
- pygeai/_docs/source/pygeai.auth.rst +29 -0
- pygeai/_docs/source/pygeai.cli.commands.rst +16 -0
- pygeai/_docs/source/pygeai.core.utils.rst +16 -0
- pygeai/_docs/source/pygeai.rst +1 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +21 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.rst +16 -0
- pygeai/_docs/source/pygeai.tests.core.base.rst +8 -0
- pygeai/_docs/source/pygeai.tests.core.files.rst +8 -0
- pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.rst +1 -0
- pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +8 -0
- pygeai/_docs/source/pygeai.tests.organization.rst +8 -0
- pygeai/_docs/source/pygeai.tests.rst +2 -0
- pygeai/_docs/source/pygeai.tests.snippets.auth.rst +10 -0
- pygeai/_docs/source/pygeai.tests.snippets.organization.rst +40 -0
- pygeai/_docs/source/pygeai.tests.snippets.rst +1 -0
- pygeai/admin/clients.py +7 -32
- pygeai/assistant/clients.py +9 -44
- pygeai/assistant/data/clients.py +1 -0
- pygeai/assistant/data_analyst/clients.py +4 -13
- pygeai/assistant/rag/clients.py +13 -67
- pygeai/auth/clients.py +88 -14
- pygeai/auth/endpoints.py +4 -0
- pygeai/chat/clients.py +1 -0
- pygeai/cli/commands/auth.py +178 -2
- pygeai/cli/commands/lab/ai_lab.py +0 -2
- pygeai/cli/commands/organization.py +241 -0
- pygeai/core/base/clients.py +1 -0
- pygeai/core/embeddings/clients.py +3 -7
- pygeai/core/feedback/clients.py +3 -8
- pygeai/core/files/clients.py +5 -18
- pygeai/core/llm/clients.py +7 -26
- pygeai/core/models.py +107 -0
- pygeai/core/plugins/clients.py +3 -7
- pygeai/core/rerank/clients.py +3 -8
- pygeai/core/secrets/clients.py +8 -37
- pygeai/core/utils/parsers.py +32 -0
- pygeai/core/utils/validators.py +10 -0
- pygeai/evaluation/clients.py +1 -0
- pygeai/evaluation/dataset/clients.py +1 -0
- pygeai/evaluation/plan/clients.py +1 -0
- pygeai/evaluation/result/clients.py +1 -0
- pygeai/gam/clients.py +6 -25
- pygeai/health/clients.py +3 -7
- pygeai/lab/agents/clients.py +13 -53
- pygeai/lab/agents/endpoints.py +2 -0
- pygeai/lab/clients.py +1 -0
- pygeai/lab/processes/clients.py +24 -127
- pygeai/lab/strategies/clients.py +7 -25
- pygeai/lab/tools/clients.py +22 -67
- pygeai/lab/tools/endpoints.py +3 -0
- pygeai/organization/clients.py +122 -51
- pygeai/organization/endpoints.py +6 -1
- pygeai/organization/limits/clients.py +17 -91
- pygeai/organization/managers.py +157 -1
- pygeai/organization/mappers.py +76 -2
- pygeai/organization/responses.py +25 -1
- pygeai/proxy/clients.py +1 -0
- pygeai/tests/auth/test_clients.py +183 -7
- pygeai/tests/organization/test_clients.py +184 -1
- pygeai/tests/organization/test_managers.py +122 -1
- pygeai/tests/snippets/auth/__init__.py +0 -0
- pygeai/tests/snippets/organization/get_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_organization_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_project_roles.py +6 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/METADATA +1 -1
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/RECORD +85 -64
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/WHEEL +0 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/entry_points.txt +0 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b7.dist-info}/licenses/LICENSE +0 -0
- {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
|
|
184
|
+
from pygeai.core.models import UsageLimit, Project
|
|
185
185
|
|
|
186
186
|
manager = OrganizationManager()
|
|
187
187
|
|
|
188
|
-
usage_limit =
|
|
188
|
+
usage_limit = UsageLimit(
|
|
189
189
|
subscription_type="Monthly", # Options: Freemium, Daily, Weekly, Monthly
|
|
190
|
-
usage_unit="Requests", # Options:
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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(
|
|
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.
|
|
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.
|
|
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/
|
|
18
|
+
api_reference/rerank
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
Authentication
|