pygeai 0.1.6__py3-none-any.whl → 0.6.0b15__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 pygeai might be problematic. Click here for more details.
- pygeai/__init__.py +11 -2
- pygeai/_docs/Makefile +20 -0
- pygeai/_docs/make.bat +35 -0
- pygeai/_docs/source/conf.py +117 -0
- pygeai/_docs/source/content/ai_lab/cli.rst +747 -0
- pygeai/_docs/source/content/ai_lab/models.rst +1734 -0
- pygeai/_docs/source/content/ai_lab/runner.rst +253 -0
- pygeai/_docs/source/content/ai_lab/spec.rst +431 -0
- pygeai/_docs/source/content/ai_lab/usage.rst +1011 -0
- pygeai/_docs/source/content/ai_lab.rst +102 -0
- pygeai/_docs/source/content/analytics.rst +598 -0
- 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/chat.rst +754 -0
- pygeai/_docs/source/content/api_reference/embeddings.rst +154 -0
- pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
- pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
- pygeai/_docs/source/content/api_reference/files.rst +592 -0
- pygeai/_docs/source/content/api_reference/gam.rst +401 -0
- pygeai/_docs/source/content/api_reference/health.rst +58 -0
- pygeai/_docs/source/content/api_reference/project.rst +738 -0
- pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
- pygeai/_docs/source/content/api_reference/rag.rst +710 -0
- pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
- pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
- pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
- pygeai/_docs/source/content/api_reference.rst +58 -0
- pygeai/_docs/source/content/authentication.rst +295 -0
- pygeai/_docs/source/content/chat_gui.rst +121 -0
- pygeai/_docs/source/content/cli.rst +203 -0
- pygeai/_docs/source/content/debugger.rst +651 -0
- pygeai/_docs/source/content/intro.rst +67 -0
- pygeai/_docs/source/content/migration.rst +929 -0
- pygeai/_docs/source/content/modules.rst +7 -0
- pygeai/_docs/source/content/quickstart.rst +143 -0
- pygeai/_docs/source/content/samples.rst +394 -0
- pygeai/_docs/source/index.rst +75 -0
- pygeai/_docs/source/modules.rst +7 -0
- pygeai/_docs/source/pygeai.admin.rst +29 -0
- pygeai/_docs/source/pygeai.analytics.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.data.rst +21 -0
- pygeai/_docs/source/pygeai.assistant.data_analyst.rst +29 -0
- pygeai/_docs/source/pygeai.assistant.rag.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.rst +55 -0
- pygeai/_docs/source/pygeai.auth.rst +29 -0
- pygeai/_docs/source/pygeai.chat.rst +69 -0
- pygeai/_docs/source/pygeai.cli.commands.flows.rst +10 -0
- pygeai/_docs/source/pygeai.cli.commands.lab.rst +53 -0
- pygeai/_docs/source/pygeai.cli.commands.rst +222 -0
- pygeai/_docs/source/pygeai.cli.rst +62 -0
- pygeai/_docs/source/pygeai.cli.texts.rst +21 -0
- pygeai/_docs/source/pygeai.core.base.rst +53 -0
- pygeai/_docs/source/pygeai.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.core.embeddings.rst +61 -0
- pygeai/_docs/source/pygeai.core.feedback.rst +37 -0
- pygeai/_docs/source/pygeai.core.files.rst +61 -0
- pygeai/_docs/source/pygeai.core.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.plugins.rst +37 -0
- pygeai/_docs/source/pygeai.core.rerank.rst +53 -0
- pygeai/_docs/source/pygeai.core.rst +63 -0
- pygeai/_docs/source/pygeai.core.secrets.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.rst +37 -0
- pygeai/_docs/source/pygeai.core.utils.rst +37 -0
- pygeai/_docs/source/pygeai.dbg.rst +21 -0
- pygeai/_docs/source/pygeai.evaluation.dataset.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.plan.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.result.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.rst +31 -0
- pygeai/_docs/source/pygeai.flows.rst +29 -0
- pygeai/_docs/source/pygeai.gam.rst +29 -0
- pygeai/_docs/source/pygeai.health.rst +29 -0
- pygeai/_docs/source/pygeai.lab.agents.rst +37 -0
- pygeai/_docs/source/pygeai.lab.processes.rst +37 -0
- pygeai/_docs/source/pygeai.lab.rst +65 -0
- pygeai/_docs/source/pygeai.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.lab.strategies.rst +37 -0
- pygeai/_docs/source/pygeai.lab.tools.rst +37 -0
- pygeai/_docs/source/pygeai.man.man1.rst +10 -0
- pygeai/_docs/source/pygeai.man.rst +18 -0
- pygeai/_docs/source/pygeai.migration.rst +29 -0
- pygeai/_docs/source/pygeai.organization.limits.rst +45 -0
- pygeai/_docs/source/pygeai.organization.rst +61 -0
- pygeai/_docs/source/pygeai.proxy.rst +53 -0
- pygeai/_docs/source/pygeai.rst +35 -0
- pygeai/_docs/source/pygeai.tests.admin.rst +21 -0
- pygeai/_docs/source/pygeai.tests.analytics.rst +45 -0
- pygeai/_docs/source/pygeai.tests.assistants.rag.rst +37 -0
- pygeai/_docs/source/pygeai.tests.assistants.rst +45 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +29 -0
- pygeai/_docs/source/pygeai.tests.chat.rst +45 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.lab.rst +37 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.rst +165 -0
- pygeai/_docs/source/pygeai.tests.cli.docker.rst +10 -0
- pygeai/_docs/source/pygeai.tests.cli.rst +46 -0
- pygeai/_docs/source/pygeai.tests.core.base.data.rst +29 -0
- pygeai/_docs/source/pygeai.tests.core.base.rst +45 -0
- pygeai/_docs/source/pygeai.tests.core.common.data.rst +10 -0
- pygeai/_docs/source/pygeai.tests.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.embeddings.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.feedback.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.files.rst +53 -0
- pygeai/_docs/source/pygeai.tests.core.llm.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.rerank.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.rst +39 -0
- pygeai/_docs/source/pygeai.tests.core.secrets.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.services.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.utils.rst +21 -0
- pygeai/_docs/source/pygeai.tests.dbg.rst +21 -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.gam.rst +21 -0
- pygeai/_docs/source/pygeai.tests.health.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rag.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rst +18 -0
- pygeai/_docs/source/pygeai.tests.integration.chat.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.agents.rst +69 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.reasoning_strategies.rst +37 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.tools.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.rst +20 -0
- pygeai/_docs/source/pygeai.tests.lab.agents.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.processes.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.rst +49 -0
- pygeai/_docs/source/pygeai.tests.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.strategies.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.tools.rst +29 -0
- pygeai/_docs/source/pygeai.tests.migration.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.limits.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.rst +53 -0
- pygeai/_docs/source/pygeai.tests.proxy.rst +61 -0
- pygeai/_docs/source/pygeai.tests.rst +33 -0
- pygeai/admin/clients.py +14 -11
- pygeai/admin/endpoints.py +2 -2
- pygeai/analytics/clients.py +505 -0
- pygeai/analytics/endpoints.py +35 -0
- pygeai/analytics/managers.py +606 -0
- pygeai/analytics/mappers.py +207 -0
- pygeai/analytics/responses.py +240 -0
- pygeai/assistant/clients.py +48 -57
- pygeai/assistant/data/__init__.py +0 -0
- pygeai/assistant/data/clients.py +15 -0
- pygeai/assistant/data_analyst/__init__.py +0 -0
- pygeai/assistant/data_analyst/clients.py +75 -0
- pygeai/assistant/data_analyst/endpoints.py +2 -0
- pygeai/assistant/endpoints.py +0 -2
- pygeai/assistant/managers.py +738 -0
- pygeai/assistant/mappers.py +153 -0
- pygeai/assistant/rag/clients.py +132 -21
- pygeai/assistant/rag/mappers.py +228 -0
- pygeai/assistant/rag/models.py +396 -0
- pygeai/assistant/rag/responses.py +10 -0
- pygeai/auth/__init__.py +0 -0
- pygeai/auth/clients.py +129 -0
- pygeai/auth/endpoints.py +6 -0
- pygeai/chat/clients.py +406 -31
- pygeai/chat/endpoints.py +3 -0
- pygeai/chat/iris.py +17 -0
- pygeai/chat/managers.py +64 -0
- pygeai/chat/session.py +38 -0
- pygeai/chat/settings.py +6 -0
- pygeai/chat/ui.py +678 -0
- pygeai/cli/__init__.py +0 -1
- pygeai/cli/commands/admin.py +9 -12
- pygeai/cli/commands/analytics.py +533 -0
- pygeai/cli/commands/assistant.py +11 -11
- pygeai/cli/commands/auth.py +299 -0
- pygeai/cli/commands/base.py +201 -7
- pygeai/cli/commands/chat.py +875 -14
- pygeai/cli/commands/common.py +30 -26
- pygeai/cli/commands/configuration.py +84 -9
- pygeai/cli/commands/docs.py +105 -0
- pygeai/cli/commands/embeddings.py +187 -0
- pygeai/cli/commands/evaluation.py +2069 -0
- pygeai/cli/commands/feedback.py +93 -0
- pygeai/cli/commands/files.py +312 -0
- pygeai/cli/commands/flows/__init__.py +0 -0
- pygeai/cli/commands/gam.py +349 -0
- pygeai/cli/commands/lab/__init__.py +0 -0
- pygeai/cli/commands/lab/ai_lab.py +4110 -0
- pygeai/cli/commands/lab/common.py +135 -0
- pygeai/cli/commands/lab/options.py +8 -0
- pygeai/cli/commands/lab/spec.py +273 -0
- pygeai/cli/commands/lab/utils.py +13 -0
- pygeai/cli/commands/llm.py +164 -0
- pygeai/cli/commands/migrate.py +1198 -0
- pygeai/cli/commands/options.py +86 -0
- pygeai/cli/commands/organization.py +560 -98
- pygeai/cli/commands/rag.py +306 -10
- pygeai/cli/commands/rerank.py +108 -0
- pygeai/cli/commands/secrets.py +357 -0
- pygeai/cli/commands/usage_limits.py +583 -0
- pygeai/cli/commands/validators.py +209 -0
- pygeai/cli/commands/version.py +44 -0
- pygeai/cli/error_handler.py +151 -0
- pygeai/cli/geai.py +171 -30
- pygeai/cli/geai_proxy.py +318 -0
- pygeai/cli/install_man.py +107 -0
- pygeai/cli/parsers.py +78 -25
- pygeai/cli/texts/help.py +712 -55
- pygeai/core/__init__.py +9 -1
- pygeai/core/base/clients.py +61 -10
- pygeai/core/base/mappers.py +208 -30
- pygeai/core/base/models.py +8 -308
- pygeai/core/base/responses.py +18 -1
- pygeai/core/base/session.py +110 -17
- pygeai/core/common/config.py +98 -16
- pygeai/core/common/decorators.py +44 -0
- pygeai/core/common/exceptions.py +104 -4
- pygeai/core/embeddings/__init__.py +19 -0
- pygeai/core/embeddings/clients.py +93 -0
- pygeai/core/embeddings/endpoints.py +1 -0
- pygeai/core/embeddings/managers.py +62 -0
- pygeai/core/embeddings/mappers.py +52 -0
- pygeai/core/embeddings/models.py +14 -0
- pygeai/core/embeddings/responses.py +31 -0
- pygeai/core/feedback/__init__.py +0 -0
- pygeai/core/feedback/clients.py +50 -0
- pygeai/core/feedback/endpoints.py +1 -0
- pygeai/core/feedback/models.py +10 -0
- pygeai/core/files/__init__.py +0 -0
- pygeai/core/files/clients.py +156 -0
- pygeai/core/files/endpoints.py +5 -0
- pygeai/core/files/managers.py +224 -0
- pygeai/core/files/mappers.py +44 -0
- pygeai/core/files/models.py +24 -0
- pygeai/core/files/responses.py +19 -0
- pygeai/core/handlers.py +32 -0
- pygeai/core/llm/__init__.py +0 -0
- pygeai/core/llm/clients.py +53 -0
- pygeai/core/llm/endpoints.py +4 -0
- pygeai/core/models.py +799 -0
- pygeai/core/plugins/__init__.py +0 -0
- pygeai/core/plugins/clients.py +32 -0
- pygeai/core/plugins/endpoints.py +1 -0
- pygeai/core/plugins/models.py +86 -0
- pygeai/core/rerank/__init__.py +0 -0
- pygeai/core/rerank/clients.py +35 -0
- pygeai/core/rerank/endpoints.py +1 -0
- pygeai/core/rerank/managers.py +47 -0
- pygeai/core/rerank/mappers.py +23 -0
- pygeai/core/rerank/models.py +27 -0
- pygeai/core/responses.py +104 -0
- pygeai/core/secrets/__init__.py +0 -0
- pygeai/core/secrets/clients.py +212 -0
- pygeai/core/secrets/endpoints.py +7 -0
- pygeai/core/services/llm/__init__.py +0 -0
- pygeai/core/services/llm/model.py +186 -0
- pygeai/core/services/llm/providers.py +15 -0
- pygeai/core/services/response.py +18 -0
- pygeai/core/services/rest.py +311 -89
- pygeai/core/utils/__init__.py +0 -0
- pygeai/core/utils/console.py +83 -0
- pygeai/core/utils/parsers.py +32 -0
- pygeai/core/utils/validators.py +10 -0
- pygeai/dbg/__init__.py +3 -0
- pygeai/dbg/debugger.py +870 -0
- pygeai/evaluation/__init__.py +0 -0
- pygeai/evaluation/clients.py +19 -0
- pygeai/evaluation/dataset/__init__.py +0 -0
- pygeai/evaluation/dataset/clients.py +514 -0
- pygeai/evaluation/dataset/endpoints.py +26 -0
- pygeai/evaluation/plan/__init__.py +0 -0
- pygeai/evaluation/plan/clients.py +302 -0
- pygeai/evaluation/plan/endpoints.py +16 -0
- pygeai/evaluation/result/__init__.py +0 -0
- pygeai/evaluation/result/clients.py +70 -0
- pygeai/evaluation/result/endpoints.py +2 -0
- pygeai/flows/__init__.py +0 -0
- pygeai/flows/endpoints.py +362 -0
- pygeai/flows/models.py +1304 -0
- pygeai/gam/__init__.py +0 -0
- pygeai/gam/clients.py +178 -0
- pygeai/gam/endpoints.py +4 -0
- pygeai/health/__init__.py +0 -0
- pygeai/health/clients.py +24 -0
- pygeai/health/endpoints.py +1 -0
- pygeai/lab/__init__.py +0 -0
- pygeai/lab/agents/__init__.py +0 -0
- pygeai/lab/agents/clients.py +426 -0
- pygeai/lab/agents/endpoints.py +12 -0
- pygeai/lab/agents/mappers.py +319 -0
- pygeai/lab/clients.py +24 -0
- pygeai/lab/constants.py +3 -0
- pygeai/lab/managers.py +1558 -0
- pygeai/lab/models.py +1719 -0
- pygeai/lab/processes/__init__.py +0 -0
- pygeai/lab/processes/clients.py +1051 -0
- pygeai/lab/processes/endpoints.py +26 -0
- pygeai/lab/processes/mappers.py +395 -0
- pygeai/lab/runners.py +90 -0
- pygeai/lab/spec/__init__.py +0 -0
- pygeai/lab/spec/loader.py +24 -0
- pygeai/lab/spec/parsers.py +39 -0
- pygeai/lab/strategies/__init__.py +0 -0
- pygeai/lab/strategies/clients.py +212 -0
- pygeai/lab/strategies/endpoints.py +5 -0
- pygeai/lab/strategies/mappers.py +58 -0
- pygeai/lab/tools/__init__.py +0 -0
- pygeai/lab/tools/clients.py +465 -0
- pygeai/lab/tools/endpoints.py +13 -0
- pygeai/lab/tools/mappers.py +131 -0
- pygeai/man/__init__.py +1 -0
- pygeai/man/man1/__init__.py +1 -0
- pygeai/man/man1/geai-proxy.1 +246 -0
- pygeai/man/man1/geai.1 +2615 -0
- pygeai/migration/__init__.py +33 -0
- pygeai/migration/strategies.py +603 -0
- pygeai/migration/tools.py +180 -0
- pygeai/organization/clients.py +246 -18
- pygeai/organization/endpoints.py +17 -8
- pygeai/organization/limits/__init__.py +0 -0
- pygeai/organization/limits/clients.py +281 -0
- pygeai/organization/limits/endpoints.py +15 -0
- pygeai/organization/limits/managers.py +331 -0
- pygeai/organization/limits/mappers.py +21 -0
- pygeai/organization/managers.py +537 -0
- pygeai/organization/mappers.py +111 -46
- pygeai/organization/responses.py +61 -11
- pygeai/proxy/__init__.py +0 -0
- pygeai/proxy/clients.py +216 -0
- pygeai/proxy/config.py +128 -0
- pygeai/proxy/managers.py +232 -0
- pygeai/proxy/servers.py +304 -0
- pygeai/proxy/tool.py +69 -0
- pygeai/tests/admin/__init__.py +0 -0
- pygeai/tests/admin/test_clients.py +148 -0
- pygeai/tests/analytics/__init__.py +0 -0
- pygeai/tests/analytics/test_clients.py +86 -0
- pygeai/tests/analytics/test_managers.py +94 -0
- pygeai/tests/analytics/test_mappers.py +84 -0
- pygeai/tests/analytics/test_responses.py +73 -0
- pygeai/tests/assistants/rag/__init__.py +0 -0
- pygeai/tests/assistants/rag/test_clients.py +346 -0
- pygeai/tests/assistants/rag/test_mappers.py +189 -0
- pygeai/tests/assistants/rag/test_models.py +292 -0
- pygeai/tests/assistants/test_clients.py +176 -80
- pygeai/tests/assistants/test_managers.py +198 -0
- pygeai/tests/assistants/test_mappers.py +111 -0
- pygeai/tests/auth/__init__.py +0 -0
- pygeai/tests/auth/test_clients.py +289 -0
- pygeai/tests/auth/test_oauth.py +172 -0
- pygeai/tests/auth/test_session_logging.py +150 -0
- pygeai/tests/chat/__init__.py +0 -0
- pygeai/tests/chat/test_clients.py +393 -0
- pygeai/tests/chat/test_iris.py +38 -0
- pygeai/tests/chat/test_session.py +62 -0
- pygeai/tests/chat/test_ui.py +224 -0
- pygeai/tests/cli/__init__.py +0 -0
- pygeai/tests/cli/commands/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
- pygeai/tests/cli/commands/lab/test_common.py +208 -0
- pygeai/tests/cli/commands/lab/test_spec.py +246 -0
- pygeai/tests/cli/commands/test_assistant.py +202 -0
- pygeai/tests/cli/commands/test_chat.py +130 -0
- pygeai/tests/cli/commands/test_common.py +350 -0
- pygeai/tests/cli/commands/test_embeddings.py +132 -0
- pygeai/tests/cli/commands/test_evaluation.py +656 -0
- pygeai/tests/cli/commands/test_feedback.py +65 -0
- pygeai/tests/cli/commands/test_files.py +161 -0
- pygeai/tests/cli/commands/test_gam.py +201 -0
- pygeai/tests/cli/commands/test_llm.py +114 -0
- pygeai/tests/cli/commands/test_migrate.py +176 -0
- pygeai/tests/cli/commands/test_organization.py +276 -0
- pygeai/tests/cli/commands/test_rag.py +266 -0
- pygeai/tests/cli/commands/test_rerank.py +110 -0
- pygeai/tests/cli/commands/test_secrets.py +171 -0
- pygeai/tests/cli/commands/test_show_help.py +41 -0
- pygeai/tests/cli/commands/test_usage_limits.py +412 -0
- pygeai/tests/cli/commands/test_validators.py +160 -0
- pygeai/tests/cli/commands/test_version.py +81 -0
- pygeai/tests/cli/docker/__init__.py +0 -0
- pygeai/tests/cli/test_credentials_flag.py +316 -0
- pygeai/tests/cli/test_error_handler.py +225 -0
- pygeai/tests/cli/test_geai_driver.py +154 -0
- pygeai/tests/cli/test_parsers.py +154 -0
- pygeai/tests/core/base/__init__.py +0 -0
- pygeai/tests/core/base/data/__init__.py +0 -0
- pygeai/tests/core/base/data/mappers.py +117 -0
- pygeai/tests/core/base/data/models.py +312 -0
- pygeai/tests/core/base/test_mappers.py +569 -0
- pygeai/tests/core/base/test_models.py +261 -0
- pygeai/tests/core/base/test_responses.py +53 -0
- pygeai/tests/core/common/__init__.py +0 -0
- pygeai/tests/core/common/data/__init__.py +0 -0
- pygeai/tests/core/common/test_config.py +186 -0
- pygeai/tests/core/common/test_decorators.py +69 -0
- pygeai/tests/core/embeddings/__init__.py +0 -0
- pygeai/tests/core/embeddings/test_clients.py +225 -0
- pygeai/tests/core/embeddings/test_managers.py +171 -0
- pygeai/tests/core/embeddings/test_mappers.py +142 -0
- pygeai/tests/core/feedback/__init__.py +0 -0
- pygeai/tests/core/feedback/test_clients.py +64 -0
- pygeai/tests/core/files/__init__.py +0 -0
- pygeai/tests/core/files/test_clients.py +128 -0
- pygeai/tests/core/files/test_managers.py +219 -0
- pygeai/tests/core/files/test_mappers.py +137 -0
- pygeai/tests/core/files/test_models.py +103 -0
- pygeai/tests/core/files/test_responses.py +122 -0
- pygeai/tests/core/llm/__init__.py +0 -0
- pygeai/tests/core/llm/test_clients.py +142 -0
- pygeai/tests/core/plugins/__init__.py +0 -0
- pygeai/tests/core/plugins/test_clients.py +66 -0
- pygeai/tests/core/rerank/__init__.py +0 -0
- pygeai/tests/core/rerank/test_clients.py +76 -0
- pygeai/tests/core/rerank/test_managers.py +99 -0
- pygeai/tests/core/rerank/test_mappers.py +54 -0
- pygeai/tests/core/secrets/__init__.py +0 -0
- pygeai/tests/core/secrets/test_clients.py +264 -0
- pygeai/tests/core/services/__init__.py +0 -0
- pygeai/tests/core/services/test_rest.py +273 -0
- pygeai/tests/core/test_handlers.py +66 -0
- pygeai/tests/core/utils/__init__.py +0 -0
- pygeai/tests/core/utils/test_console.py +80 -0
- pygeai/tests/dbg/__init__.py +0 -0
- pygeai/tests/dbg/test_debugger.py +591 -0
- pygeai/tests/evaluation/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/test_clients.py +265 -0
- pygeai/tests/evaluation/plan/__init__.py +0 -0
- pygeai/tests/evaluation/plan/test_clients.py +195 -0
- pygeai/tests/evaluation/result/__init__.py +0 -0
- pygeai/tests/evaluation/result/test_clients.py +66 -0
- pygeai/tests/gam/__init__.py +0 -0
- pygeai/tests/gam/test_clients.py +195 -0
- pygeai/tests/health/__init__.py +0 -0
- pygeai/tests/health/test_clients.py +41 -0
- pygeai/tests/integration/__init__.py +0 -0
- pygeai/tests/integration/assistants/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
- pygeai/tests/integration/chat/__init__.py +0 -0
- pygeai/tests/integration/chat/test_generate_image.py +158 -0
- pygeai/tests/integration/lab/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
- pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
- pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
- pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
- pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
- pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
- pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
- pygeai/tests/integration/lab/processes/__init__.py +0 -0
- pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
- pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
- pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
- pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
- pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
- pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
- pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
- pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
- pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
- pygeai/tests/integration/lab/tools/__init__.py +0 -0
- pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
- pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
- pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
- pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
- pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
- pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
- pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
- pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
- pygeai/tests/lab/__init__.py +0 -0
- pygeai/tests/lab/agents/__init__.py +0 -0
- pygeai/tests/lab/agents/test_clients.py +481 -0
- pygeai/tests/lab/agents/test_mappers.py +440 -0
- pygeai/tests/lab/processes/__init__.py +0 -0
- pygeai/tests/lab/processes/test_clients.py +1416 -0
- pygeai/tests/lab/processes/test_mappers.py +1092 -0
- pygeai/tests/lab/spec/__init__.py +0 -0
- pygeai/tests/lab/spec/test_loader.py +59 -0
- pygeai/tests/lab/spec/test_parsers.py +182 -0
- pygeai/tests/lab/strategies/__init__.py +0 -0
- pygeai/tests/lab/strategies/test_clients.py +241 -0
- pygeai/tests/lab/strategies/test_mappers.py +132 -0
- pygeai/tests/lab/test_managers.py +553 -0
- pygeai/tests/lab/test_mappers.py +245 -0
- pygeai/tests/lab/test_models.py +1154 -0
- pygeai/tests/lab/tools/__init__.py +0 -0
- pygeai/tests/lab/tools/test_clients.py +521 -0
- pygeai/tests/lab/tools/test_mappers.py +198 -0
- pygeai/tests/migration/__init__.py +0 -0
- pygeai/tests/migration/test_strategies.py +405 -0
- pygeai/tests/migration/test_tools.py +159 -0
- pygeai/tests/organization/limits/__init__.py +0 -0
- pygeai/tests/organization/limits/test_clients.py +567 -0
- pygeai/tests/organization/limits/test_managers.py +402 -0
- pygeai/tests/organization/test_clients.py +615 -64
- pygeai/tests/organization/test_managers.py +424 -0
- pygeai/tests/organization/test_mappers.py +153 -0
- pygeai/tests/organization/test_responses.py +137 -0
- pygeai/tests/proxy/__init__.py +1 -0
- pygeai/tests/proxy/test_clients.py +397 -0
- pygeai/tests/proxy/test_config.py +171 -0
- pygeai/tests/proxy/test_integration.py +305 -0
- pygeai/tests/proxy/test_managers.py +312 -0
- pygeai/tests/proxy/test_servers.py +387 -0
- pygeai/tests/proxy/test_tool.py +176 -0
- pygeai/tests/snippets/__init__.py +0 -0
- pygeai/tests/snippets/analytics/__init__.py +0 -0
- pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
- pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
- pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
- pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
- pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
- pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
- pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
- pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
- pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
- pygeai/tests/snippets/assistants/__init__.py +0 -0
- pygeai/tests/snippets/assistants/create_chat_assistant.py +54 -0
- pygeai/tests/snippets/assistants/create_text_assistant.py +51 -0
- pygeai/tests/snippets/assistants/data_analyst/__init__.py +0 -0
- pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +100 -0
- pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +9 -0
- pygeai/tests/snippets/assistants/data_analyst/get_status.py +9 -0
- pygeai/tests/snippets/assistants/file_summarizer_assistant.py +149 -0
- pygeai/tests/snippets/assistants/get_assistant_data.py +8 -0
- pygeai/tests/snippets/assistants/get_assistant_list.py +7 -0
- pygeai/tests/snippets/assistants/rag/__init__.py +0 -0
- pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +65 -0
- pygeai/tests/snippets/assistants/rag/delete_al_documents.py +7 -0
- pygeai/tests/snippets/assistants/rag/delete_document.py +10 -0
- pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +8 -0
- pygeai/tests/snippets/assistants/rag/get_document.py +10 -0
- pygeai/tests/snippets/assistants/rag/get_documents.py +7 -0
- pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +8 -0
- pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +48 -0
- pygeai/tests/snippets/assistants/rag/upload_document.py +19 -0
- pygeai/tests/snippets/assistants/send_feedback.py +14 -0
- pygeai/tests/snippets/assistants/update_chat_assistant.py +63 -0
- pygeai/tests/snippets/auth/__init__.py +0 -0
- pygeai/tests/snippets/chat/__init__.py +0 -0
- pygeai/tests/snippets/chat/cancel_request.py +7 -0
- pygeai/tests/snippets/chat/chat_completion.py +28 -0
- pygeai/tests/snippets/chat/chat_completion_1.py +40 -0
- pygeai/tests/snippets/chat/chat_completion_2.py +60 -0
- pygeai/tests/snippets/chat/chat_completion_3.py +27 -0
- pygeai/tests/snippets/chat/chat_completion_4.py +67 -0
- pygeai/tests/snippets/chat/chat_completion_streaming.py +63 -0
- pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
- pygeai/tests/snippets/chat/get_request_status.py +7 -0
- pygeai/tests/snippets/chat/get_response.py +15 -0
- pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
- pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
- pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
- pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
- pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
- pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
- pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
- pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
- pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
- pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
- pygeai/tests/snippets/chat/send_chat_request.py +33 -0
- pygeai/tests/snippets/dbg/__init__.py +0 -0
- pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
- pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
- pygeai/tests/snippets/dbg/file_debugging.py +72 -0
- pygeai/tests/snippets/dbg/module_debugging.py +61 -0
- pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
- pygeai/tests/snippets/dbg/stepping_example.py +40 -0
- pygeai/tests/snippets/embeddings/__init__.py +0 -0
- pygeai/tests/snippets/embeddings/cache_example.py +31 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
- pygeai/tests/snippets/embeddings/generate_embeddings.py +26 -0
- pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
- pygeai/tests/snippets/embeddings/openai_example.py +30 -0
- pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
- pygeai/tests/snippets/evaluation/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
- pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
- pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
- pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
- pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
- pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
- pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
- pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
- pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
- pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
- pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
- pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
- pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
- pygeai/tests/snippets/files/__init__.py +0 -0
- pygeai/tests/snippets/files/delete_file.py +9 -0
- pygeai/tests/snippets/files/get_file_content.py +10 -0
- pygeai/tests/snippets/files/get_file_data.py +9 -0
- pygeai/tests/snippets/files/get_file_list.py +6 -0
- pygeai/tests/snippets/files/upload_file.py +13 -0
- pygeai/tests/snippets/gam/__init__.py +0 -0
- pygeai/tests/snippets/gam/gam_access_token.py +87 -0
- pygeai/tests/snippets/lab/__init__.py +0 -0
- pygeai/tests/snippets/lab/agentic_flow_example_1.py +326 -0
- pygeai/tests/snippets/lab/agentic_flow_example_2.py +206 -0
- pygeai/tests/snippets/lab/agentic_flow_example_3.py +486 -0
- pygeai/tests/snippets/lab/agentic_flow_example_4.py +446 -0
- pygeai/tests/snippets/lab/agents/__init__.py +0 -0
- pygeai/tests/snippets/lab/agents/create_agent.py +48 -0
- pygeai/tests/snippets/lab/agents/create_agent_2.py +48 -0
- pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
- pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
- pygeai/tests/snippets/lab/agents/delete_agent.py +12 -0
- pygeai/tests/snippets/lab/agents/get_agent.py +24 -0
- pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
- pygeai/tests/snippets/lab/agents/get_sharing_link.py +13 -0
- pygeai/tests/snippets/lab/agents/list_agents.py +18 -0
- pygeai/tests/snippets/lab/agents/publish_agent_revision.py +12 -0
- pygeai/tests/snippets/lab/agents/update_agent.py +50 -0
- pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
- pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
- pygeai/tests/snippets/lab/crud_ui.py +462 -0
- pygeai/tests/snippets/lab/processes/__init__.py +0 -0
- pygeai/tests/snippets/lab/processes/create_process.py +24 -0
- pygeai/tests/snippets/lab/processes/create_task.py +8 -0
- pygeai/tests/snippets/lab/processes/jobs/__init__.py +0 -0
- pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +21 -0
- pygeai/tests/snippets/lab/processes/kbs/__init__.py +0 -0
- pygeai/tests/snippets/lab/processes/kbs/create_kb.py +18 -0
- pygeai/tests/snippets/lab/processes/kbs/get_kb.py +26 -0
- pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +30 -0
- pygeai/tests/snippets/lab/processes/kbs/try_all.py +73 -0
- pygeai/tests/snippets/lab/processes/list_processes.py +10 -0
- pygeai/tests/snippets/lab/runner_1.py +212 -0
- pygeai/tests/snippets/lab/samples/__init__.py +0 -0
- pygeai/tests/snippets/lab/samples/summarize_files.py +162 -0
- pygeai/tests/snippets/lab/strategies/__init__.py +0 -0
- pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +22 -0
- pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +10 -0
- pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +16 -0
- pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +26 -0
- pygeai/tests/snippets/lab/tools/__init__.py +0 -0
- pygeai/tests/snippets/lab/tools/create_tool.py +48 -0
- pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
- pygeai/tests/snippets/lab/tools/delete_tool.py +21 -0
- pygeai/tests/snippets/lab/tools/get_parameter.py +21 -0
- pygeai/tests/snippets/lab/tools/get_tool.py +22 -0
- pygeai/tests/snippets/lab/tools/list_tools.py +23 -0
- pygeai/tests/snippets/lab/tools/publish_tool_revision.py +13 -0
- pygeai/tests/snippets/lab/tools/set_parameters.py +33 -0
- pygeai/tests/snippets/lab/tools/update_tool.py +52 -0
- pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
- pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +238 -0
- pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
- pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
- pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
- pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
- pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +157 -0
- pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +157 -0
- pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
- pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
- pygeai/tests/snippets/migrate/__init__.py +45 -0
- pygeai/tests/snippets/migrate/agent_migration.py +110 -0
- pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
- pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
- pygeai/tests/snippets/migrate/process_migration.py +64 -0
- pygeai/tests/snippets/migrate/project_migration.py +42 -0
- pygeai/tests/snippets/migrate/tool_migration.py +64 -0
- pygeai/tests/snippets/organization/__init__.py +0 -0
- pygeai/tests/snippets/organization/add_project_member.py +10 -0
- pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
- pygeai/tests/snippets/organization/create_project.py +23 -0
- pygeai/tests/snippets/organization/delete_project.py +7 -0
- pygeai/tests/snippets/organization/export_request_data.py +7 -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_data.py +7 -0
- pygeai/tests/snippets/organization/get_project_list.py +8 -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/tests/snippets/organization/get_project_tokens.py +7 -0
- pygeai/tests/snippets/organization/update_project.py +14 -0
- pygeai/tests/snippets/rerank/__init__.py +0 -0
- pygeai/tests/snippets/rerank/rerank_chunks.py +19 -0
- pygeai/tests/snippets/secrets/__init__.py +0 -0
- pygeai/tests/snippets/usage_limit/__init__.py +0 -0
- pygeai/tests/snippets/usage_limit/delete_usage_limit.py +16 -0
- pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +12 -0
- pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +11 -0
- pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +13 -0
- pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +22 -0
- pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +23 -0
- pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +23 -0
- pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +24 -0
- pygeai/vendor/a2a/__init__.py +1 -0
- pygeai/vendor/a2a/auth/__init__.py +0 -0
- pygeai/vendor/a2a/auth/user.py +31 -0
- pygeai/vendor/a2a/client/__init__.py +19 -0
- pygeai/vendor/a2a/client/client.py +425 -0
- pygeai/vendor/a2a/client/errors.py +33 -0
- pygeai/vendor/a2a/client/helpers.py +22 -0
- pygeai/vendor/a2a/py.typed +0 -0
- pygeai/vendor/a2a/server/__init__.py +1 -0
- pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
- pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
- pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
- pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
- pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
- pygeai/vendor/a2a/server/apps/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
- pygeai/vendor/a2a/server/context.py +23 -0
- pygeai/vendor/a2a/server/events/__init__.py +21 -0
- pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
- pygeai/vendor/a2a/server/events/event_queue.py +156 -0
- pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
- pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
- pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
- pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
- pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
- pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
- pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
- pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
- pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
- pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
- pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
- pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
- pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
- pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
- pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
- pygeai/vendor/a2a/types.py +1624 -0
- pygeai/vendor/a2a/utils/__init__.py +40 -0
- pygeai/vendor/a2a/utils/artifact.py +72 -0
- pygeai/vendor/a2a/utils/errors.py +69 -0
- pygeai/vendor/a2a/utils/helpers.py +176 -0
- pygeai/vendor/a2a/utils/message.py +83 -0
- pygeai/vendor/a2a/utils/task.py +57 -0
- pygeai/vendor/a2a/utils/telemetry.py +299 -0
- pygeai-0.6.0b15.dist-info/METADATA +205 -0
- pygeai-0.6.0b15.dist-info/RECORD +799 -0
- {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
- pygeai-0.6.0b15.dist-info/entry_points.txt +5 -0
- {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info/licenses}/LICENSE +13 -1
- {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info}/top_level.txt +0 -1
- docs/source/conf.py +0 -45
- pygeai/core/clients.py +0 -240
- pygeai/tests/core/test_clients.py +0 -49
- pygeai-0.1.6.dist-info/METADATA +0 -92
- pygeai-0.1.6.dist-info/RECORD +0 -65
- pygeai-0.1.6.dist-info/SOURCES.sync-conflict-20241223-145950-3QD4F42.txt +0 -41
- pygeai-0.1.6.dist-info/entry_points.txt +0 -2
- /pygeai/{agent → analytics}/__init__.py +0 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
Quickstart
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
This is a step-by-step guide to get you started with `PyGEA </pygeai>`_.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Installation
|
|
8
|
+
------------
|
|
9
|
+
Before you begin, ensure Python 3.8 or higher is installed. While a system-level installation is possible, using a virtual environment is recommended.
|
|
10
|
+
|
|
11
|
+
1. Create a virtual environment:
|
|
12
|
+
|
|
13
|
+
.. code-block:: shell
|
|
14
|
+
|
|
15
|
+
~$ python3 -m venv venv
|
|
16
|
+
|
|
17
|
+
2. Activate the virtual environment:
|
|
18
|
+
|
|
19
|
+
.. code-block:: shell
|
|
20
|
+
|
|
21
|
+
~$ source venv/bin/activate
|
|
22
|
+
(venv) ~$
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
3. Install the SDK:
|
|
26
|
+
|
|
27
|
+
.. code-block:: shell
|
|
28
|
+
|
|
29
|
+
(venv) ~$ pip install pygeai
|
|
30
|
+
|
|
31
|
+
This installs the **PyGEA** command-line tool and the necessary libraries.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
Command line utility
|
|
35
|
+
--------------------
|
|
36
|
+
|
|
37
|
+
The SDK installation includes the PyGEA command-line tool. You can use it to interact with the `Globant Enterprise AI <https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI>`_.
|
|
38
|
+
|
|
39
|
+
* Check the installed version:
|
|
40
|
+
|
|
41
|
+
.. code-block:: shell
|
|
42
|
+
|
|
43
|
+
(venv) ~$ geai version
|
|
44
|
+
- Globant Enterprise AI: GEAI cli utility. Version: 0.1.44
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
* Verify if you are running the latest version:
|
|
48
|
+
|
|
49
|
+
.. code-block:: shell
|
|
50
|
+
|
|
51
|
+
(venv) ~$ geai check-updates
|
|
52
|
+
There's a new version available: 0.1.44. You have 0.1.42 installed.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
* Access the help command for information on commands and subcommands:
|
|
56
|
+
|
|
57
|
+
.. code-block:: shell
|
|
58
|
+
|
|
59
|
+
(venv) ~$ geai help
|
|
60
|
+
GEAI CLI
|
|
61
|
+
--------
|
|
62
|
+
|
|
63
|
+
NAME
|
|
64
|
+
geai - Command Line Interface for Globant Enterprise AI
|
|
65
|
+
|
|
66
|
+
SYNOPSIS
|
|
67
|
+
geai <command> [<subcommand>] [--option] [option-arg]
|
|
68
|
+
|
|
69
|
+
DESCRIPTION
|
|
70
|
+
geai is a cli utility that interacts with the PyGEAI SDK to handle common tasks in Globant Enterprise AI,
|
|
71
|
+
such as creating organizations and projects, defining assistants, managing workflows, etc.
|
|
72
|
+
|
|
73
|
+
The available subcommands are as follows:
|
|
74
|
+
help or h Display help text
|
|
75
|
+
version or v Display version text
|
|
76
|
+
check-updates or cu Search for available updates
|
|
77
|
+
|
|
78
|
+
configure or config or c Setup the environment variables required to interact with GEAI
|
|
79
|
+
--key or -k Set GEAI API KEY
|
|
80
|
+
--url or -u Set GEAI API BASE URL
|
|
81
|
+
--alias or -a Set alias for settings section
|
|
82
|
+
organization or org Invoke organization endpoints to handle project parameters
|
|
83
|
+
assistant or ast Invoke assistant endpoints to handle assistant parameters
|
|
84
|
+
rag Invoke rag assistant endpoints to handle RAG assistant parameters
|
|
85
|
+
chat Invoke chat endpoints to handle chat with assistants parameters
|
|
86
|
+
admin or adm Invoke admin endpoints designed for internal use
|
|
87
|
+
llm Invoke llm endpoints for provider's and model retrieval
|
|
88
|
+
files Invoke files endpoints for file handling
|
|
89
|
+
...
|
|
90
|
+
|
|
91
|
+
* Get help for a specific subcommand:
|
|
92
|
+
|
|
93
|
+
.. code-block:: shell
|
|
94
|
+
|
|
95
|
+
(venv) ~$ geai org help
|
|
96
|
+
GEAI CLI - ORGANIZATION
|
|
97
|
+
-----------------------
|
|
98
|
+
...
|
|
99
|
+
|
|
100
|
+
.. code-block:: shell
|
|
101
|
+
|
|
102
|
+
(venv) ~$ geai ast help
|
|
103
|
+
GEAI CLI - ASSISTANT
|
|
104
|
+
--------------------
|
|
105
|
+
...
|
|
106
|
+
|
|
107
|
+
Initial configuration
|
|
108
|
+
---------------------
|
|
109
|
+
|
|
110
|
+
The configure command helps you set the BASE_URL and API_KEY for your Globant Enterprise AI instance. You can configure multiple settings using aliases. The default alias is 'default'.
|
|
111
|
+
|
|
112
|
+
1. Set up a new pair under the 'test' alias:
|
|
113
|
+
|
|
114
|
+
.. code-block:: shell
|
|
115
|
+
|
|
116
|
+
(venv) ~$ geai configure
|
|
117
|
+
# Configuring GEAI credentials...
|
|
118
|
+
|
|
119
|
+
2. When prompted to select an alias, enter:
|
|
120
|
+
|
|
121
|
+
.. code-block:: shell
|
|
122
|
+
-> Select an alias (Leave empty to use 'default'): test
|
|
123
|
+
|
|
124
|
+
3. Enter your GEAI_API_KEY (SAIA_PROJECT_APITOKEN):
|
|
125
|
+
|
|
126
|
+
.. code-block:: shell
|
|
127
|
+
-> Insert your GEAI_API_KEY (Leave empty to keep current value): yourapikeygoeshere_...
|
|
128
|
+
GEAI API KEY for alias 'test' saved successfully!
|
|
129
|
+
|
|
130
|
+
4. Enter your GEAI API BASE URL ($BASE_URL for example, https://api.saia.ai or the value provided to you):
|
|
131
|
+
|
|
132
|
+
.. code-block:: shell
|
|
133
|
+
|
|
134
|
+
-> Insert your GEAI API BASE URL (Leave empty to keep current value): https://api.saia.ai
|
|
135
|
+
GEAI API BASE URL for alias 'test' saved successfully!
|
|
136
|
+
|
|
137
|
+
That's it! You now have everything you need to start using the SDK. You can use it via the geai utility, the low level
|
|
138
|
+
service layer or the managers that provide high level abstractions.
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
Code samples
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
In this section, you can find several snippets of code that show how to use the Python SDK to interact with GEAI.
|
|
5
|
+
They're presented in the form of simple functions, but they can be used separately or combined into more complex programs.
|
|
6
|
+
|
|
7
|
+
Organization API
|
|
8
|
+
----------------
|
|
9
|
+
|
|
10
|
+
1. Getting Assistant List
|
|
11
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
12
|
+
|
|
13
|
+
This method retrieves a list of assistants based on the specified level of detail.
|
|
14
|
+
|
|
15
|
+
.. code-block:: python
|
|
16
|
+
|
|
17
|
+
def display_assistant_list():
|
|
18
|
+
"""
|
|
19
|
+
Retrieves and displays the assistant list with summary or full details.
|
|
20
|
+
"""
|
|
21
|
+
client = OrganizationClient()
|
|
22
|
+
assistant_list = client.get_assistant_list(detail="full") # Can change detail to "summary"
|
|
23
|
+
print(assistant_list)
|
|
24
|
+
|
|
25
|
+
2. Getting Project List
|
|
26
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
27
|
+
|
|
28
|
+
This method retrieves the list of projects, optionally filtered by project name and detail level.
|
|
29
|
+
|
|
30
|
+
.. code-block:: python
|
|
31
|
+
|
|
32
|
+
def display_project_list():
|
|
33
|
+
"""
|
|
34
|
+
Retrieves and displays the project list with optional filters.
|
|
35
|
+
"""
|
|
36
|
+
client = OrganizationClient()
|
|
37
|
+
project_list = client.get_project_list(detail="full", name="ProjectName") # Change filters as needed
|
|
38
|
+
print(project_list)
|
|
39
|
+
|
|
40
|
+
3. Getting Project Details
|
|
41
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
42
|
+
|
|
43
|
+
This method retrieves detailed information about a specific project using its ID.
|
|
44
|
+
|
|
45
|
+
.. code-block:: python
|
|
46
|
+
|
|
47
|
+
def display_project_data(project_id: str):
|
|
48
|
+
"""
|
|
49
|
+
Retrieves and displays project details by project ID.
|
|
50
|
+
"""
|
|
51
|
+
client = OrganizationClient()
|
|
52
|
+
project_data = client.get_project_data(project_id=project_id)
|
|
53
|
+
print(project_data)
|
|
54
|
+
|
|
55
|
+
4. Creating a New Project
|
|
56
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
57
|
+
|
|
58
|
+
This method creates a new project with the provided name, email, and optional description and usage limit.
|
|
59
|
+
|
|
60
|
+
.. code-block:: python
|
|
61
|
+
|
|
62
|
+
def create_new_project(name: str, email: str, description: str = None, usage_limit: dict = None):
|
|
63
|
+
"""
|
|
64
|
+
Creates a new project with the specified parameters.
|
|
65
|
+
"""
|
|
66
|
+
client = OrganizationClient()
|
|
67
|
+
new_project = client.create_project(name=name, email=email, description=description, usage_limit=usage_limit)
|
|
68
|
+
print(new_project)
|
|
69
|
+
|
|
70
|
+
5. Updating an Existing Project
|
|
71
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
72
|
+
|
|
73
|
+
This method updates an existing project's name and/or description.
|
|
74
|
+
|
|
75
|
+
.. code-block:: python
|
|
76
|
+
|
|
77
|
+
def update_project_data(project_id: str, name: str, description: str = None):
|
|
78
|
+
"""
|
|
79
|
+
Updates an existing project with the provided name and description.
|
|
80
|
+
"""
|
|
81
|
+
client = OrganizationClient()
|
|
82
|
+
updated_project = client.update_project(project_id=project_id, name=name, description=description)
|
|
83
|
+
print(updated_project)
|
|
84
|
+
|
|
85
|
+
6. Deleting a Project
|
|
86
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
87
|
+
|
|
88
|
+
This method deletes an existing project using its unique project ID.
|
|
89
|
+
|
|
90
|
+
.. code-block:: python
|
|
91
|
+
|
|
92
|
+
def delete_project_data(project_id: str):
|
|
93
|
+
"""
|
|
94
|
+
Deletes the specified project using its project ID.
|
|
95
|
+
"""
|
|
96
|
+
client = OrganizationClient()
|
|
97
|
+
delete_response = client.delete_project(project_id=project_id)
|
|
98
|
+
print(delete_response)
|
|
99
|
+
|
|
100
|
+
7. Getting Project Tokens
|
|
101
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
102
|
+
|
|
103
|
+
This method retrieves the tokens associated with a specific project.
|
|
104
|
+
|
|
105
|
+
.. code-block:: python
|
|
106
|
+
|
|
107
|
+
def display_project_tokens(project_id: str):
|
|
108
|
+
"""
|
|
109
|
+
Retrieves and displays tokens for a specific project.
|
|
110
|
+
"""
|
|
111
|
+
client = OrganizationClient()
|
|
112
|
+
tokens = client.get_project_tokens(project_id=project_id)
|
|
113
|
+
print(tokens)
|
|
114
|
+
|
|
115
|
+
8. Exporting Request Data
|
|
116
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
117
|
+
|
|
118
|
+
This method exports request data based on assistant name, status, and pagination parameters.
|
|
119
|
+
|
|
120
|
+
.. code-block:: python
|
|
121
|
+
|
|
122
|
+
def export_request_data(assistant_name: str = None, status: str = None, skip: int = 0, count: int = 0):
|
|
123
|
+
"""
|
|
124
|
+
Exports request data based on filters such as assistant name and status.
|
|
125
|
+
"""
|
|
126
|
+
client = OrganizationClient()
|
|
127
|
+
request_data = client.export_request_data(assistant_name=assistant_name, status=status, skip=skip, count=count)
|
|
128
|
+
print(request_data)
|
|
129
|
+
|
|
130
|
+
Assistant API
|
|
131
|
+
-------------
|
|
132
|
+
|
|
133
|
+
1. Getting Assistant Data
|
|
134
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
135
|
+
|
|
136
|
+
This method retrieves assistant information using its ID.
|
|
137
|
+
|
|
138
|
+
.. code-block:: python
|
|
139
|
+
|
|
140
|
+
def display_assistant_data(assistant_id: str, detail: str = "summary"):
|
|
141
|
+
"""
|
|
142
|
+
Retrieves and displays assistant data based on assistant ID.
|
|
143
|
+
"""
|
|
144
|
+
client = AssistantClient()
|
|
145
|
+
assistant_data = client.get_assistant_data(assistant_id=assistant_id, detail=detail)
|
|
146
|
+
print(assistant_data)
|
|
147
|
+
|
|
148
|
+
2. Creating a New Assistant
|
|
149
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
150
|
+
|
|
151
|
+
This method creates a new assistant with the given configuration.
|
|
152
|
+
|
|
153
|
+
.. code-block:: python
|
|
154
|
+
|
|
155
|
+
def create_new_assistant(assistant_type: str, name: str, prompt: str, description: str = None, llm_settings: dict = None, welcome_data: dict = None):
|
|
156
|
+
"""
|
|
157
|
+
Creates a new assistant with the provided details.
|
|
158
|
+
"""
|
|
159
|
+
client = AssistantClient()
|
|
160
|
+
new_assistant = client.create_assistant(
|
|
161
|
+
assistant_type=assistant_type,
|
|
162
|
+
name=name,
|
|
163
|
+
prompt=prompt,
|
|
164
|
+
description=description,
|
|
165
|
+
llm_settings=llm_settings,
|
|
166
|
+
welcome_data=welcome_data
|
|
167
|
+
)
|
|
168
|
+
print(new_assistant)
|
|
169
|
+
|
|
170
|
+
3. Updating an Existing Assistant
|
|
171
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
172
|
+
|
|
173
|
+
This method updates an existing assistant with new details.
|
|
174
|
+
|
|
175
|
+
.. code-block:: python
|
|
176
|
+
|
|
177
|
+
def update_assistant_data(assistant_id: str, status: int, action: str, revision_id: str = None, name: str = None, prompt: str = None, description: str = None, llm_settings: dict = None, welcome_data: dict = None):
|
|
178
|
+
"""
|
|
179
|
+
Updates an assistant with the provided parameters.
|
|
180
|
+
"""
|
|
181
|
+
client = AssistantClient()
|
|
182
|
+
updated_assistant = client.update_assistant(
|
|
183
|
+
assistant_id=assistant_id,
|
|
184
|
+
status=status,
|
|
185
|
+
action=action,
|
|
186
|
+
revision_id=revision_id,
|
|
187
|
+
name=name,
|
|
188
|
+
prompt=prompt,
|
|
189
|
+
description=description,
|
|
190
|
+
llm_settings=llm_settings,
|
|
191
|
+
welcome_data=welcome_data
|
|
192
|
+
)
|
|
193
|
+
print(updated_assistant)
|
|
194
|
+
|
|
195
|
+
4. Deleting an Assistant
|
|
196
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
197
|
+
|
|
198
|
+
This method deletes an assistant by its ID.
|
|
199
|
+
|
|
200
|
+
.. code-block:: python
|
|
201
|
+
|
|
202
|
+
def delete_assistant_data(assistant_id: str):
|
|
203
|
+
"""
|
|
204
|
+
Deletes the assistant with the given ID.
|
|
205
|
+
"""
|
|
206
|
+
client = AssistantClient()
|
|
207
|
+
delete_response = client.delete_assistant(assistant_id=assistant_id)
|
|
208
|
+
print(delete_response)
|
|
209
|
+
|
|
210
|
+
5. Sending a Chat Request
|
|
211
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
212
|
+
|
|
213
|
+
This method sends a chat request to the specified assistant.
|
|
214
|
+
|
|
215
|
+
.. code-block:: python
|
|
216
|
+
|
|
217
|
+
def send_assistant_chat_request(assistant_name: str, messages: list, revision: int, revision_name: str):
|
|
218
|
+
"""
|
|
219
|
+
Sends a chat request to the specified assistant.
|
|
220
|
+
"""
|
|
221
|
+
client = AssistantClient()
|
|
222
|
+
chat_response = client.send_chat_request(
|
|
223
|
+
assistant_name=assistant_name,
|
|
224
|
+
messages=messages,
|
|
225
|
+
revision=revision,
|
|
226
|
+
revision_name=revision_name
|
|
227
|
+
)
|
|
228
|
+
print(chat_response)
|
|
229
|
+
|
|
230
|
+
6. Getting Request Status
|
|
231
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
232
|
+
|
|
233
|
+
This method retrieves the status of a request using its unique ID.
|
|
234
|
+
|
|
235
|
+
.. code-block:: python
|
|
236
|
+
|
|
237
|
+
def display_request_status(request_id: str):
|
|
238
|
+
"""
|
|
239
|
+
Retrieves and displays the status of a specific request.
|
|
240
|
+
"""
|
|
241
|
+
client = AssistantClient()
|
|
242
|
+
request_status = client.get_request_status(request_id=request_id)
|
|
243
|
+
print(request_status)
|
|
244
|
+
|
|
245
|
+
7. Canceling a Request
|
|
246
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
247
|
+
|
|
248
|
+
This method cancels a request using its request ID.
|
|
249
|
+
|
|
250
|
+
.. code-block:: python
|
|
251
|
+
|
|
252
|
+
def cancel_assistant_request(request_id: str):
|
|
253
|
+
"""
|
|
254
|
+
Cancels the request with the specified ID.
|
|
255
|
+
"""
|
|
256
|
+
client = AssistantClient()
|
|
257
|
+
cancel_response = client.cancel_request(request_id=request_id)
|
|
258
|
+
print(cancel_response)
|
|
259
|
+
|
|
260
|
+
Chat API
|
|
261
|
+
--------
|
|
262
|
+
|
|
263
|
+
1. Basic Chat Request
|
|
264
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
265
|
+
This snippet demonstrates how to initiate a simple chat request using the chat_completion method.
|
|
266
|
+
|
|
267
|
+
.. code-block:: python
|
|
268
|
+
|
|
269
|
+
def initiate_chat(model: str, messages: list):
|
|
270
|
+
"""
|
|
271
|
+
Initiates a simple chat request.
|
|
272
|
+
"""
|
|
273
|
+
client = ChatClient()
|
|
274
|
+
chat_response = client.chat_completion(
|
|
275
|
+
model=model,
|
|
276
|
+
messages=messages,
|
|
277
|
+
)
|
|
278
|
+
print(chat_response)
|
|
279
|
+
|
|
280
|
+
2. Generating Chat Completion
|
|
281
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
282
|
+
|
|
283
|
+
This snippet shows how to generate a chat completion by passing a model, messages, and additional parameters like temperature, max tokens, etc.
|
|
284
|
+
|
|
285
|
+
.. code-block:: python
|
|
286
|
+
|
|
287
|
+
def generate_chat_completion(model: str, messages: list, temperature: int = None, max_tokens: int = None):
|
|
288
|
+
"""
|
|
289
|
+
Generates a chat completion with the specified parameters.
|
|
290
|
+
"""
|
|
291
|
+
client = ChatClient()
|
|
292
|
+
completion_response = client.chat_completion(
|
|
293
|
+
model=model,
|
|
294
|
+
messages=messages,
|
|
295
|
+
temperature=temperature,
|
|
296
|
+
max_tokens=max_tokens
|
|
297
|
+
)
|
|
298
|
+
print(completion_response)
|
|
299
|
+
|
|
300
|
+
3. Using Thread ID for Continuity
|
|
301
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
302
|
+
|
|
303
|
+
This example demonstrates how to include a thread_id to maintain continuity in the conversation.
|
|
304
|
+
|
|
305
|
+
.. code-block:: python
|
|
306
|
+
|
|
307
|
+
def generate_chat_with_thread_id(model: str, messages: list, thread_id: str):
|
|
308
|
+
"""
|
|
309
|
+
Generates a chat completion with thread ID for maintaining conversation continuity.
|
|
310
|
+
"""
|
|
311
|
+
client = ChatClient()
|
|
312
|
+
completion_response = client.chat_completion(
|
|
313
|
+
model=model,
|
|
314
|
+
messages=messages,
|
|
315
|
+
thread_id=thread_id
|
|
316
|
+
)
|
|
317
|
+
print(completion_response)
|
|
318
|
+
|
|
319
|
+
4. Streaming Chat Completion Response
|
|
320
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
321
|
+
|
|
322
|
+
This snippet shows how to enable streaming for the chat completion, meaning the response will be streamed instead of receiving all at once.
|
|
323
|
+
|
|
324
|
+
.. code-block:: python
|
|
325
|
+
|
|
326
|
+
def generate_streaming_chat(model: str, messages: list):
|
|
327
|
+
"""
|
|
328
|
+
Generates a streaming chat completion.
|
|
329
|
+
"""
|
|
330
|
+
client = ChatClient()
|
|
331
|
+
streaming_response = client.chat_completion(
|
|
332
|
+
model=model,
|
|
333
|
+
messages=messages,
|
|
334
|
+
stream=True
|
|
335
|
+
)
|
|
336
|
+
print(streaming_response)
|
|
337
|
+
|
|
338
|
+
5. Customizing Chat Completion with Penalties
|
|
339
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
340
|
+
|
|
341
|
+
This example demonstrates how to use both frequency_penalty and presence_penalty to fine-tune the chat completion response.
|
|
342
|
+
|
|
343
|
+
.. code-block:: python
|
|
344
|
+
|
|
345
|
+
def generate_chat_with_penalties(model: str, messages: list, frequency_penalty: float, presence_penalty: float):
|
|
346
|
+
"""
|
|
347
|
+
Generates a chat completion with custom penalties.
|
|
348
|
+
"""
|
|
349
|
+
client = ChatClient()
|
|
350
|
+
completion_response = client.chat_completion(
|
|
351
|
+
model=model,
|
|
352
|
+
messages=messages,
|
|
353
|
+
frequency_penalty=frequency_penalty,
|
|
354
|
+
presence_penalty=presence_penalty
|
|
355
|
+
)
|
|
356
|
+
print(completion_response)
|
|
357
|
+
|
|
358
|
+
6. Advanced Chat Completion with All Parameters
|
|
359
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
360
|
+
|
|
361
|
+
This snippet demonstrates how to provide a fully customized chat completion request, including model, messages, stream, temperature, max tokens, and penalties.
|
|
362
|
+
|
|
363
|
+
.. code-block:: python
|
|
364
|
+
|
|
365
|
+
def generate_advanced_chat_completion(model: str, messages: list, stream: bool, temperature: int, max_tokens: int, thread_id: str, frequency_penalty: float, presence_penalty: float):
|
|
366
|
+
"""
|
|
367
|
+
Generates a highly customized chat completion.
|
|
368
|
+
"""
|
|
369
|
+
client = ChatClient()
|
|
370
|
+
advanced_response = client.chat_completion(
|
|
371
|
+
model=model,
|
|
372
|
+
messages=messages,
|
|
373
|
+
stream=stream,
|
|
374
|
+
temperature=temperature,
|
|
375
|
+
max_tokens=max_tokens,
|
|
376
|
+
thread_id=thread_id,
|
|
377
|
+
frequency_penalty=frequency_penalty,
|
|
378
|
+
presence_penalty=presence_penalty
|
|
379
|
+
)
|
|
380
|
+
print(advanced_response)
|
|
381
|
+
|
|
382
|
+
Example Usage:
|
|
383
|
+
--------------
|
|
384
|
+
|
|
385
|
+
For all of the above snippets, you would use the ChatClient methods as shown. Here is an example of how you could call one of the above functions:
|
|
386
|
+
|
|
387
|
+
.. code-block:: python
|
|
388
|
+
|
|
389
|
+
messages = [{"role": "user", "content": "Hello, how are you?"}]
|
|
390
|
+
model = "saia:text:myAssistant|bot123"
|
|
391
|
+
temperature = 0.7
|
|
392
|
+
max_tokens = 100
|
|
393
|
+
generate_chat_completion(model, messages, temperature, max_tokens)
|
|
394
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
PyGEAI Documentation
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
PyGEAI is a Python SDK developed to interact with the different components that constitute GEAI (Globant Enterprise AI).
|
|
5
|
+
It's composed of several resources that allow developers to work with GEAI's modules in an easy and simple manner.
|
|
6
|
+
|
|
7
|
+
The SDK provides libraries, tools, documentation, and code samples to deliver an easier development experience
|
|
8
|
+
with GEAI, without overhead of setup and configuration.
|
|
9
|
+
|
|
10
|
+
Getting Started
|
|
11
|
+
---------------
|
|
12
|
+
|
|
13
|
+
.. toctree::
|
|
14
|
+
:maxdepth: 2
|
|
15
|
+
|
|
16
|
+
content/intro
|
|
17
|
+
content/quickstart
|
|
18
|
+
content/authentication
|
|
19
|
+
|
|
20
|
+
Core Features & API Reference
|
|
21
|
+
-------------------------------
|
|
22
|
+
|
|
23
|
+
Complete reference for all PyGEAI modules and APIs.
|
|
24
|
+
|
|
25
|
+
.. toctree::
|
|
26
|
+
:maxdepth: 2
|
|
27
|
+
|
|
28
|
+
content/api_reference
|
|
29
|
+
|
|
30
|
+
The API Reference includes:
|
|
31
|
+
|
|
32
|
+
* **Authentication** - OAuth2, API tokens, user profiles
|
|
33
|
+
* **Administration** - Token validation, organization access
|
|
34
|
+
* **Assistants** - Create and manage AI assistants
|
|
35
|
+
* **Chat** - Chat completions and streaming
|
|
36
|
+
* **Embeddings** - Text embeddings for similarity search
|
|
37
|
+
* **RAG** - Retrieval-Augmented Generation assistants
|
|
38
|
+
* **Reranking** - Document reranking for relevance
|
|
39
|
+
* **Projects** - Project and organization management
|
|
40
|
+
* **Health** - Service status and monitoring
|
|
41
|
+
|
|
42
|
+
Advanced Features
|
|
43
|
+
-----------------
|
|
44
|
+
|
|
45
|
+
.. toctree::
|
|
46
|
+
:maxdepth: 2
|
|
47
|
+
|
|
48
|
+
content/ai_lab
|
|
49
|
+
|
|
50
|
+
Tools & Utilities
|
|
51
|
+
-----------------
|
|
52
|
+
|
|
53
|
+
.. toctree::
|
|
54
|
+
:maxdepth: 2
|
|
55
|
+
|
|
56
|
+
content/migration
|
|
57
|
+
content/cli
|
|
58
|
+
content/chat_gui
|
|
59
|
+
content/debugger
|
|
60
|
+
|
|
61
|
+
Additional Resources
|
|
62
|
+
--------------------
|
|
63
|
+
|
|
64
|
+
.. toctree::
|
|
65
|
+
:maxdepth: 2
|
|
66
|
+
|
|
67
|
+
content/samples
|
|
68
|
+
modules
|
|
69
|
+
|
|
70
|
+
Indices and tables
|
|
71
|
+
==================
|
|
72
|
+
|
|
73
|
+
* :ref:`genindex`
|
|
74
|
+
* :ref:`modindex`
|
|
75
|
+
* :ref:`search`
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
pygeai.admin package
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Submodules
|
|
5
|
+
----------
|
|
6
|
+
|
|
7
|
+
pygeai.admin.clients module
|
|
8
|
+
---------------------------
|
|
9
|
+
|
|
10
|
+
.. automodule:: pygeai.admin.clients
|
|
11
|
+
:members:
|
|
12
|
+
:show-inheritance:
|
|
13
|
+
:undoc-members:
|
|
14
|
+
|
|
15
|
+
pygeai.admin.endpoints module
|
|
16
|
+
-----------------------------
|
|
17
|
+
|
|
18
|
+
.. automodule:: pygeai.admin.endpoints
|
|
19
|
+
:members:
|
|
20
|
+
:show-inheritance:
|
|
21
|
+
:undoc-members:
|
|
22
|
+
|
|
23
|
+
Module contents
|
|
24
|
+
---------------
|
|
25
|
+
|
|
26
|
+
.. automodule:: pygeai.admin
|
|
27
|
+
:members:
|
|
28
|
+
:show-inheritance:
|
|
29
|
+
:undoc-members:
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
pygeai.analytics package
|
|
2
|
+
========================
|
|
3
|
+
|
|
4
|
+
Submodules
|
|
5
|
+
----------
|
|
6
|
+
|
|
7
|
+
pygeai.analytics.clients module
|
|
8
|
+
-------------------------------
|
|
9
|
+
|
|
10
|
+
.. automodule:: pygeai.analytics.clients
|
|
11
|
+
:members:
|
|
12
|
+
:show-inheritance:
|
|
13
|
+
:undoc-members:
|
|
14
|
+
|
|
15
|
+
pygeai.analytics.endpoints module
|
|
16
|
+
---------------------------------
|
|
17
|
+
|
|
18
|
+
.. automodule:: pygeai.analytics.endpoints
|
|
19
|
+
:members:
|
|
20
|
+
:show-inheritance:
|
|
21
|
+
:undoc-members:
|
|
22
|
+
|
|
23
|
+
pygeai.analytics.managers module
|
|
24
|
+
--------------------------------
|
|
25
|
+
|
|
26
|
+
.. automodule:: pygeai.analytics.managers
|
|
27
|
+
:members:
|
|
28
|
+
:show-inheritance:
|
|
29
|
+
:undoc-members:
|
|
30
|
+
|
|
31
|
+
pygeai.analytics.mappers module
|
|
32
|
+
-------------------------------
|
|
33
|
+
|
|
34
|
+
.. automodule:: pygeai.analytics.mappers
|
|
35
|
+
:members:
|
|
36
|
+
:show-inheritance:
|
|
37
|
+
:undoc-members:
|
|
38
|
+
|
|
39
|
+
pygeai.analytics.responses module
|
|
40
|
+
---------------------------------
|
|
41
|
+
|
|
42
|
+
.. automodule:: pygeai.analytics.responses
|
|
43
|
+
:members:
|
|
44
|
+
:show-inheritance:
|
|
45
|
+
:undoc-members:
|
|
46
|
+
|
|
47
|
+
Module contents
|
|
48
|
+
---------------
|
|
49
|
+
|
|
50
|
+
.. automodule:: pygeai.analytics
|
|
51
|
+
:members:
|
|
52
|
+
:show-inheritance:
|
|
53
|
+
:undoc-members:
|