pygeai 0.1.51b3__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 +9 -1
- 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 +18 -45
- pygeai/assistant/data/clients.py +1 -0
- pygeai/assistant/data_analyst/clients.py +8 -12
- pygeai/assistant/managers.py +195 -157
- pygeai/assistant/mappers.py +4 -2
- pygeai/assistant/rag/clients.py +27 -67
- pygeai/assistant/rag/mappers.py +12 -6
- pygeai/assistant/rag/models.py +301 -159
- pygeai/auth/__init__.py +0 -0
- pygeai/auth/clients.py +129 -0
- pygeai/auth/endpoints.py +6 -0
- pygeai/chat/clients.py +308 -37
- pygeai/chat/endpoints.py +3 -0
- pygeai/chat/iris.py +2 -8
- pygeai/chat/managers.py +9 -6
- 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 +7 -10
- pygeai/cli/commands/analytics.py +533 -0
- pygeai/cli/commands/assistant.py +9 -9
- pygeai/cli/commands/auth.py +299 -0
- pygeai/cli/commands/base.py +71 -9
- pygeai/cli/commands/chat.py +676 -19
- pygeai/cli/commands/common.py +28 -24
- pygeai/cli/commands/configuration.py +66 -13
- pygeai/cli/commands/docs.py +105 -0
- pygeai/cli/commands/embeddings.py +58 -11
- pygeai/cli/commands/evaluation.py +38 -38
- pygeai/cli/commands/feedback.py +3 -4
- pygeai/cli/commands/files.py +7 -8
- pygeai/cli/commands/gam.py +85 -10
- pygeai/cli/commands/lab/ai_lab.py +340 -484
- 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 +6 -7
- pygeai/cli/commands/migrate.py +1064 -436
- pygeai/cli/commands/organization.py +516 -11
- pygeai/cli/commands/rag.py +13 -14
- pygeai/cli/commands/rerank.py +3 -5
- pygeai/cli/commands/secrets.py +8 -9
- pygeai/cli/commands/usage_limits.py +18 -20
- pygeai/cli/commands/validators.py +144 -1
- pygeai/cli/commands/version.py +4 -5
- pygeai/cli/error_handler.py +151 -0
- pygeai/cli/geai.py +170 -31
- pygeai/cli/geai_proxy.py +86 -25
- pygeai/cli/install_man.py +93 -22
- pygeai/cli/parsers.py +75 -25
- pygeai/cli/texts/help.py +265 -28
- pygeai/core/base/clients.py +53 -12
- pygeai/core/base/mappers.py +11 -2
- pygeai/core/base/session.py +95 -11
- pygeai/core/common/config.py +78 -14
- pygeai/core/common/exceptions.py +96 -6
- pygeai/core/embeddings/__init__.py +19 -0
- pygeai/core/embeddings/clients.py +23 -5
- pygeai/core/embeddings/managers.py +9 -4
- pygeai/core/embeddings/mappers.py +16 -2
- pygeai/core/embeddings/responses.py +9 -2
- pygeai/core/feedback/clients.py +8 -3
- pygeai/core/files/clients.py +23 -24
- pygeai/core/files/managers.py +121 -30
- pygeai/core/files/responses.py +4 -3
- pygeai/core/handlers.py +10 -1
- pygeai/core/llm/clients.py +22 -29
- pygeai/core/models.py +127 -11
- pygeai/core/plugins/clients.py +6 -6
- pygeai/core/rerank/clients.py +9 -3
- pygeai/core/rerank/managers.py +22 -5
- pygeai/core/secrets/clients.py +16 -37
- pygeai/core/services/response.py +18 -0
- pygeai/core/services/rest.py +159 -49
- 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 +854 -14
- pygeai/evaluation/clients.py +7 -4
- pygeai/evaluation/dataset/clients.py +46 -44
- pygeai/evaluation/plan/clients.py +28 -26
- pygeai/evaluation/result/clients.py +38 -5
- pygeai/gam/clients.py +50 -28
- pygeai/gam/endpoints.py +2 -1
- pygeai/health/__init__.py +0 -0
- pygeai/health/clients.py +24 -0
- pygeai/health/endpoints.py +1 -0
- pygeai/lab/__init__.py +0 -90
- pygeai/lab/agents/clients.py +203 -162
- pygeai/lab/agents/endpoints.py +4 -0
- pygeai/lab/agents/mappers.py +57 -7
- pygeai/lab/clients.py +24 -0
- pygeai/lab/constants.py +3 -0
- pygeai/lab/managers.py +571 -541
- pygeai/lab/models.py +108 -19
- pygeai/lab/processes/clients.py +332 -340
- pygeai/lab/processes/mappers.py +3 -3
- 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/clients.py +67 -63
- pygeai/lab/strategies/mappers.py +1 -1
- pygeai/lab/tools/clients.py +85 -118
- pygeai/lab/tools/endpoints.py +4 -0
- pygeai/lab/tools/mappers.py +5 -5
- pygeai/man/man1/geai-proxy.1 +116 -0
- pygeai/man/man1/geai.1 +2580 -66
- pygeai/migration/__init__.py +33 -0
- pygeai/migration/strategies.py +468 -146
- pygeai/migration/tools.py +170 -3
- pygeai/organization/clients.py +245 -50
- pygeai/organization/endpoints.py +17 -8
- pygeai/organization/limits/clients.py +34 -32
- pygeai/organization/limits/managers.py +108 -49
- pygeai/organization/managers.py +347 -53
- pygeai/organization/mappers.py +102 -2
- pygeai/organization/responses.py +58 -1
- pygeai/proxy/clients.py +6 -3
- pygeai/proxy/config.py +14 -1
- pygeai/proxy/managers.py +61 -33
- pygeai/proxy/servers.py +196 -51
- pygeai/proxy/tool.py +33 -16
- 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/test_clients.py +346 -0
- pygeai/tests/assistants/rag/test_models.py +292 -0
- pygeai/tests/assistants/test_clients.py +176 -82
- pygeai/tests/assistants/test_managers.py +191 -57
- 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/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 +5 -5
- pygeai/tests/core/base/data/models.py +7 -0
- pygeai/tests/core/base/test_mappers.py +43 -11
- pygeai/tests/core/base/test_models.py +3 -1
- 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/test_clients.py +128 -0
- pygeai/tests/core/files/test_managers.py +124 -78
- 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/test_clients.py +76 -0
- pygeai/tests/core/rerank/test_managers.py +61 -39
- 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/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_models.py +500 -3
- 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/test_clients.py +567 -0
- pygeai/tests/organization/limits/test_managers.py +298 -56
- pygeai/tests/organization/test_clients.py +600 -30
- 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/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/auth/__init__.py +0 -0
- pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -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/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/cache_example.py +31 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +41 -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/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/delete_file.py +1 -4
- pygeai/tests/snippets/files/get_file_content.py +2 -4
- pygeai/tests/snippets/files/get_file_data.py +1 -4
- pygeai/tests/snippets/files/get_file_list.py +1 -6
- pygeai/tests/snippets/files/upload_file.py +1 -5
- pygeai/tests/snippets/gam/gam_access_token.py +87 -0
- pygeai/tests/snippets/lab/agentic_flow_example_1.py +25 -23
- pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
- pygeai/tests/snippets/lab/agents/create_agent.py +5 -8
- pygeai/tests/snippets/lab/agents/create_agent_2.py +1 -5
- 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 +1 -5
- pygeai/tests/snippets/lab/agents/get_agent.py +2 -11
- pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
- pygeai/tests/snippets/lab/agents/get_sharing_link.py +2 -7
- pygeai/tests/snippets/lab/agents/list_agents.py +4 -7
- pygeai/tests/snippets/lab/agents/publish_agent_revision.py +2 -6
- pygeai/tests/snippets/lab/agents/update_agent.py +1 -5
- 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/create_process.py +3 -5
- pygeai/tests/snippets/lab/processes/create_task.py +3 -5
- pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +10 -19
- pygeai/tests/snippets/lab/processes/kbs/create_kb.py +2 -5
- pygeai/tests/snippets/lab/processes/kbs/get_kb.py +10 -16
- pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +13 -20
- pygeai/tests/snippets/lab/processes/kbs/try_all.py +5 -7
- pygeai/tests/snippets/lab/processes/list_processes.py +5 -7
- pygeai/tests/snippets/lab/runner_1.py +1 -1
- pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
- pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +3 -6
- pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/tools/create_tool.py +4 -10
- pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
- pygeai/tests/snippets/lab/tools/delete_tool.py +2 -6
- pygeai/tests/snippets/lab/tools/get_parameter.py +5 -7
- pygeai/tests/snippets/lab/tools/get_tool.py +5 -7
- pygeai/tests/snippets/lab/tools/list_tools.py +3 -7
- pygeai/tests/snippets/lab/tools/publish_tool_revision.py +3 -5
- pygeai/tests/snippets/lab/tools/set_parameters.py +4 -9
- pygeai/tests/snippets/lab/tools/update_tool.py +4 -8
- pygeai/tests/snippets/lab/use_cases/__init__.py +0 -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/{file_summarizer_example.py → use_cases/file_summarizer_example.py} +3 -3
- pygeai/tests/snippets/lab/{file_summarizer_example_2.py → use_cases/file_summarizer_example_2.py} +12 -12
- 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/add_project_member.py +10 -0
- pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
- pygeai/tests/snippets/organization/create_project.py +2 -2
- 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/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.51b3.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/entry_points.txt +2 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/licenses/LICENSE +13 -1
- pygeai-0.6.0b15.dist-info/top_level.txt +1 -0
- docs/geai-proxy/README.md +0 -145
- docs/source/conf.py +0 -45
- pygeai/tests/core/test_managers.py +0 -233
- pygeai-0.1.51b3.dist-info/METADATA +0 -130
- pygeai-0.1.51b3.dist-info/RECORD +0 -324
- pygeai-0.1.51b3.dist-info/top_level.txt +0 -3
- scripts/bump_beta_version.py +0 -56
- {scripts → pygeai/analytics}/__init__.py +0 -0
- /pygeai/tests/snippets/lab/{c_code_fixer_agent_flow.py → use_cases/c_code_fixer_agent_flow.py} +0 -0
|
@@ -0,0 +1,1011 @@
|
|
|
1
|
+
The Lab - Usage
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
The Globant Enterprise AI Lab enables developers to create and manage AI agents, tools, tasks, and processes.
|
|
5
|
+
The `AILabManager` class provides a high-level interface for these operations, while low-level clients
|
|
6
|
+
(`AgentClient`, `ToolClient`, `AgenticProcessClient`) offer direct API access, and the `geai ai-lab` CLI provides
|
|
7
|
+
command-line control. This section documents all Lab operations, grouped by resource type (Agents, Tools, Tasks,
|
|
8
|
+
Processes), with examples for command-line, low-level, and high-level usage.
|
|
9
|
+
|
|
10
|
+
Agents
|
|
11
|
+
------
|
|
12
|
+
|
|
13
|
+
Create Agent
|
|
14
|
+
~~~~~~~~~~~~
|
|
15
|
+
|
|
16
|
+
Creates a new AI agent in a specified project, defining its name, access scope, prompt instructions, LLM settings, and other configurations.
|
|
17
|
+
|
|
18
|
+
Command Line
|
|
19
|
+
^^^^^^^^^^^^
|
|
20
|
+
|
|
21
|
+
.. code-block:: shell
|
|
22
|
+
|
|
23
|
+
geai ai-lab create-agent \
|
|
24
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
25
|
+
--name "Public Translator V2" \
|
|
26
|
+
--access-scope "public" \
|
|
27
|
+
--public-name "com.genexus.geai.public_translator" \
|
|
28
|
+
--job-description "Translates" \
|
|
29
|
+
--avatar-image "https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png" \
|
|
30
|
+
--description "Agent that translates from any language to english." \
|
|
31
|
+
--agent-data-prompt-instructions "the user will provide a text, you must return the same text translated to english" \
|
|
32
|
+
--agent-data-prompt-input "text" \
|
|
33
|
+
--agent-data-prompt-input "avoid slang indicator" \
|
|
34
|
+
--agent-data-prompt-output '{"key": "translated_text", "description": "translated text, with slang or not depending on the indication. in plain text."}' \
|
|
35
|
+
--agent-data-prompt-output '{"key": "summary", "description": "a summary in the original language of the text to be translated, also in plain text."}' \
|
|
36
|
+
--agent-data-prompt-example '{"inputData": "opitiiiis mundo [no-slang]", "output": "{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}"}' \
|
|
37
|
+
--agent-data-llm-max-tokens 5000 \
|
|
38
|
+
--agent-data-llm-timeout 0 \
|
|
39
|
+
--agent-data-llm-temperature 0.5 \
|
|
40
|
+
--agent-data-model-name "gpt-4-turbo-preview" \
|
|
41
|
+
--automatic-publish 0
|
|
42
|
+
|
|
43
|
+
Low-Level Service Layer
|
|
44
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
45
|
+
|
|
46
|
+
.. code-block:: python
|
|
47
|
+
|
|
48
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
49
|
+
|
|
50
|
+
client = AgentClient()
|
|
51
|
+
response = client.create_agent(
|
|
52
|
+
project_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
|
|
53
|
+
name="Public Translator V2",
|
|
54
|
+
access_scope="public",
|
|
55
|
+
public_name="com.genexus.geai.public_translator",
|
|
56
|
+
job_description="Translates",
|
|
57
|
+
avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
|
|
58
|
+
description="Agent that translates from any language to english.",
|
|
59
|
+
agent_data_prompt={
|
|
60
|
+
"instructions": "the user will provide a text, you must return the same text translated to english",
|
|
61
|
+
"inputs": ["text", "avoid slang indicator"],
|
|
62
|
+
"outputs": [
|
|
63
|
+
{"key": "translated_text", "description": "translated text, with slang or not depending on the indication. in plain text."},
|
|
64
|
+
{"key": "summary", "description": "a summary in the original language of the text to be translated, also in plain text."}
|
|
65
|
+
],
|
|
66
|
+
"examples": [
|
|
67
|
+
{"inputData": "opitiiiis mundo [no-slang]", "output": "{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}"}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
agent_data_llm_config={
|
|
71
|
+
"maxTokens": 5000,
|
|
72
|
+
"timeout": 0,
|
|
73
|
+
"temperature": 0.5
|
|
74
|
+
},
|
|
75
|
+
agent_data_models=[{"name": "gpt-4-turbo-preview"}],
|
|
76
|
+
automatic_publish=False
|
|
77
|
+
)
|
|
78
|
+
print(response)
|
|
79
|
+
|
|
80
|
+
High-Level Service Layer
|
|
81
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
82
|
+
|
|
83
|
+
.. code-block:: python
|
|
84
|
+
|
|
85
|
+
from pygeai.lab.managers import AILabManager
|
|
86
|
+
from pygeai.lab.models import Agent, AgentData, Prompt, PromptOutput, PromptExample, LlmConfig, ModelList, Model
|
|
87
|
+
|
|
88
|
+
manager = AILabManager()
|
|
89
|
+
|
|
90
|
+
prompt = Prompt(
|
|
91
|
+
instructions="the user will provide a text, you must return the same text translated to english",
|
|
92
|
+
inputs=["text", "avoid slang indicator"],
|
|
93
|
+
outputs=[
|
|
94
|
+
PromptOutput(key="translated_text", description="translated text, with slang or not depending on the indication. in plain text."),
|
|
95
|
+
PromptOutput(key="summary", description="a summary in the original language of the text to be translated, also in plain text.")
|
|
96
|
+
],
|
|
97
|
+
examples=[
|
|
98
|
+
PromptExample(input_data="opitiiiis mundo [no-slang]", output="{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}")
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
llm_config = LlmConfig(max_tokens=5000, timeout=0, temperature=0.5)
|
|
102
|
+
models = ModelList(models=[Model(name="gpt-4-turbo-preview")])
|
|
103
|
+
agent_data = AgentData(prompt=prompt, llm_config=llm_config, models=models)
|
|
104
|
+
|
|
105
|
+
agent = Agent(
|
|
106
|
+
name="Public Translator V2",
|
|
107
|
+
access_scope="public",
|
|
108
|
+
public_name="com.genexus.geai.public_translator",
|
|
109
|
+
job_description="Translates",
|
|
110
|
+
avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
|
|
111
|
+
description="Agent that translates from any language to english.",
|
|
112
|
+
agent_data=agent_data
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
created_agent = manager.create_agent(
|
|
116
|
+
agent=agent,
|
|
117
|
+
automatic_publish=False
|
|
118
|
+
)
|
|
119
|
+
print(created_agent)
|
|
120
|
+
|
|
121
|
+
Update Agent
|
|
122
|
+
~~~~~~~~~~~~
|
|
123
|
+
|
|
124
|
+
Updates an existing agent’s configuration, such as its name, prompt instructions, or LLM settings.
|
|
125
|
+
|
|
126
|
+
Command Line
|
|
127
|
+
^^^^^^^^^^^^
|
|
128
|
+
|
|
129
|
+
.. code-block:: shell
|
|
130
|
+
|
|
131
|
+
geai ai-lab update-agent \
|
|
132
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
133
|
+
--agent-id "agent-123" \
|
|
134
|
+
--name "Public Translator V3" \
|
|
135
|
+
--description "Updated agent for translations." \
|
|
136
|
+
--agent-data-prompt-instructions "the user provides text, translate it to English accurately" \
|
|
137
|
+
--agent-data-llm-temperature 0.7 \
|
|
138
|
+
--automatic-publish 0
|
|
139
|
+
|
|
140
|
+
Low-Level Service Layer
|
|
141
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
142
|
+
|
|
143
|
+
.. code-block:: python
|
|
144
|
+
|
|
145
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
146
|
+
|
|
147
|
+
client = AgentClient()
|
|
148
|
+
response = client.update_agent(
|
|
149
|
+
agent_id="agent-123",
|
|
150
|
+
name="Public Translator V3",
|
|
151
|
+
description="Updated agent for translations.",
|
|
152
|
+
agent_data_prompt={
|
|
153
|
+
"instructions": "the user provides text, translate it to English accurately"
|
|
154
|
+
},
|
|
155
|
+
agent_data_llm_config={
|
|
156
|
+
"temperature": 0.7
|
|
157
|
+
},
|
|
158
|
+
automatic_publish=False
|
|
159
|
+
)
|
|
160
|
+
print(response)
|
|
161
|
+
|
|
162
|
+
High-Level Service Layer
|
|
163
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
164
|
+
|
|
165
|
+
.. code-block:: python
|
|
166
|
+
|
|
167
|
+
from pygeai.lab.managers import AILabManager
|
|
168
|
+
from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig
|
|
169
|
+
|
|
170
|
+
manager = AILabManager()
|
|
171
|
+
|
|
172
|
+
agent = Agent(
|
|
173
|
+
name="Public Translator V3",
|
|
174
|
+
description="Updated agent for translations.",
|
|
175
|
+
agent_data=AgentData(
|
|
176
|
+
prompt=Prompt(instructions="the user provides text, translate it to English accurately"),
|
|
177
|
+
llm_config=LlmConfig(temperature=0.7)
|
|
178
|
+
)
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
updated_agent = manager.update_agent(
|
|
182
|
+
agent_id="agent-123",
|
|
183
|
+
agent=agent,
|
|
184
|
+
automatic_publish=False
|
|
185
|
+
)
|
|
186
|
+
print(updated_agent)
|
|
187
|
+
|
|
188
|
+
List Agents
|
|
189
|
+
~~~~~~~~~~~
|
|
190
|
+
|
|
191
|
+
Retrieves a list of agents in a specified project, with optional filters for status, pagination, scope, and draft inclusion.
|
|
192
|
+
|
|
193
|
+
Command Line
|
|
194
|
+
^^^^^^^^^^^^
|
|
195
|
+
|
|
196
|
+
.. code-block:: shell
|
|
197
|
+
|
|
198
|
+
geai ai-lab list-agents \
|
|
199
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
200
|
+
--status "active" \
|
|
201
|
+
--allow-drafts 0 \
|
|
202
|
+
--allow-external 1
|
|
203
|
+
|
|
204
|
+
Low-Level Service Layer
|
|
205
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
206
|
+
|
|
207
|
+
.. code-block:: python
|
|
208
|
+
|
|
209
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
210
|
+
|
|
211
|
+
client = AgentClient()
|
|
212
|
+
response = client.list_agents(
|
|
213
|
+
status="active",
|
|
214
|
+
allow_drafts=False,
|
|
215
|
+
allow_external=True
|
|
216
|
+
)
|
|
217
|
+
print(response)
|
|
218
|
+
|
|
219
|
+
High-Level Service Layer
|
|
220
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
221
|
+
|
|
222
|
+
.. code-block:: python
|
|
223
|
+
|
|
224
|
+
from pygeai.lab.managers import AILabManager
|
|
225
|
+
from pygeai.lab.models import FilterSettings
|
|
226
|
+
|
|
227
|
+
manager = AILabManager()
|
|
228
|
+
|
|
229
|
+
filters = FilterSettings(
|
|
230
|
+
status="active",
|
|
231
|
+
allow_drafts=False,
|
|
232
|
+
allow_external=True
|
|
233
|
+
)
|
|
234
|
+
agent_list = manager.get_agent_list(
|
|
235
|
+
filter_settings=filters
|
|
236
|
+
)
|
|
237
|
+
print(agent_list)
|
|
238
|
+
|
|
239
|
+
Delete Agent
|
|
240
|
+
~~~~~~~~~~~~
|
|
241
|
+
|
|
242
|
+
Deletes an agent from a specified project by its ID.
|
|
243
|
+
|
|
244
|
+
Command Line
|
|
245
|
+
^^^^^^^^^^^^
|
|
246
|
+
|
|
247
|
+
.. code-block:: shell
|
|
248
|
+
|
|
249
|
+
geai ai-lab delete-agent \
|
|
250
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
251
|
+
--agent-id "agent-123"
|
|
252
|
+
|
|
253
|
+
Low-Level Service Layer
|
|
254
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
255
|
+
|
|
256
|
+
.. code-block:: python
|
|
257
|
+
|
|
258
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
259
|
+
|
|
260
|
+
client = AgentClient()
|
|
261
|
+
response = client.delete_agent(
|
|
262
|
+
agent_id="agent-123"
|
|
263
|
+
)
|
|
264
|
+
print(response)
|
|
265
|
+
|
|
266
|
+
High-Level Service Layer
|
|
267
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
268
|
+
|
|
269
|
+
.. code-block:: python
|
|
270
|
+
|
|
271
|
+
from pygeai.lab.managers import AILabManager
|
|
272
|
+
|
|
273
|
+
manager = AILabManager()
|
|
274
|
+
response = manager.delete_agent(
|
|
275
|
+
agent_id="agent-123"
|
|
276
|
+
)
|
|
277
|
+
print(response)
|
|
278
|
+
|
|
279
|
+
Publish Agent Revision
|
|
280
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
281
|
+
|
|
282
|
+
Publishes a revision of an agent, making it available for use.
|
|
283
|
+
|
|
284
|
+
Command Line
|
|
285
|
+
^^^^^^^^^^^^
|
|
286
|
+
|
|
287
|
+
.. code-block:: shell
|
|
288
|
+
|
|
289
|
+
geai ai-lab publish-agent-revision \
|
|
290
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
291
|
+
--agent-id "agent-123"
|
|
292
|
+
|
|
293
|
+
Low-Level Service Layer
|
|
294
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
295
|
+
|
|
296
|
+
.. code-block:: python
|
|
297
|
+
|
|
298
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
299
|
+
|
|
300
|
+
client = AgentClient()
|
|
301
|
+
response = client.publish_agent_revision(
|
|
302
|
+
agent_id="agent-123"
|
|
303
|
+
)
|
|
304
|
+
print(response)
|
|
305
|
+
|
|
306
|
+
High-Level Service Layer
|
|
307
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
308
|
+
|
|
309
|
+
.. code-block:: python
|
|
310
|
+
|
|
311
|
+
from pygeai.lab.managers import AILabManager
|
|
312
|
+
|
|
313
|
+
manager = AILabManager()
|
|
314
|
+
response = manager.publish_agent_revision(
|
|
315
|
+
agent_id="agent-123"
|
|
316
|
+
)
|
|
317
|
+
print(response)
|
|
318
|
+
|
|
319
|
+
Tools
|
|
320
|
+
-----
|
|
321
|
+
|
|
322
|
+
Create Tool
|
|
323
|
+
~~~~~~~~~~~
|
|
324
|
+
|
|
325
|
+
Creates a new tool in a specified project, defining its name, description, scope, and parameters for agent use.
|
|
326
|
+
|
|
327
|
+
Command Line
|
|
328
|
+
^^^^^^^^^^^^
|
|
329
|
+
|
|
330
|
+
.. code-block:: shell
|
|
331
|
+
|
|
332
|
+
geai ai-lab create-tool \
|
|
333
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
334
|
+
--name "sample tool V3" \
|
|
335
|
+
--description "a builtin tool that does something but really does nothing cos it does not exist." \
|
|
336
|
+
--scope "builtin" \
|
|
337
|
+
--parameter '{"key": "input", "dataType": "String", "description": "some input that the tool needs.", "isRequired": true}' \
|
|
338
|
+
--parameter '{"key": "some_nonsensitive_id", "dataType": "String", "description": "Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.", "isRequired": true, "type": "config", "fromSecret": false, "value": "example-fake-config-value-12345"}' \
|
|
339
|
+
--automatic-publish 0
|
|
340
|
+
|
|
341
|
+
Low-Level Service Layer
|
|
342
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
343
|
+
|
|
344
|
+
.. code-block:: python
|
|
345
|
+
|
|
346
|
+
from pygeai.lab.tools.clients import ToolClient
|
|
347
|
+
|
|
348
|
+
client = ToolClient()
|
|
349
|
+
response = client.create_tool(
|
|
350
|
+
name="sample tool V3",
|
|
351
|
+
description="a builtin tool that does something but really does nothing cos it does not exist.",
|
|
352
|
+
scope="builtin",
|
|
353
|
+
parameters=[
|
|
354
|
+
{"key": "input", "dataType": "String", "description": "some input that the tool needs.", "isRequired": True},
|
|
355
|
+
{"key": "some_nonsensitive_id", "dataType": "String", "description": "Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.", "isRequired": True, "type": "config", "fromSecret": False, "value": "example-fake-config-value-12345"}
|
|
356
|
+
],
|
|
357
|
+
automatic_publish=False
|
|
358
|
+
)
|
|
359
|
+
print(response)
|
|
360
|
+
|
|
361
|
+
High-Level Service Layer
|
|
362
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
363
|
+
|
|
364
|
+
.. code-block:: python
|
|
365
|
+
|
|
366
|
+
from pygeai.lab.managers import AILabManager
|
|
367
|
+
from pygeai.lab.models import Tool, ToolParameter
|
|
368
|
+
|
|
369
|
+
manager = AILabManager()
|
|
370
|
+
|
|
371
|
+
tool = Tool(
|
|
372
|
+
name="sample tool V3",
|
|
373
|
+
description="a builtin tool that does something but really does nothing cos it does not exist.",
|
|
374
|
+
scope="builtin",
|
|
375
|
+
parameters=[
|
|
376
|
+
ToolParameter(
|
|
377
|
+
key="input",
|
|
378
|
+
data_type="String",
|
|
379
|
+
description="some input that the tool needs.",
|
|
380
|
+
is_required=True
|
|
381
|
+
),
|
|
382
|
+
ToolParameter(
|
|
383
|
+
key="some_nonsensitive_id",
|
|
384
|
+
data_type="String",
|
|
385
|
+
description="Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.",
|
|
386
|
+
is_required=True,
|
|
387
|
+
type="config",
|
|
388
|
+
from_secret=False,
|
|
389
|
+
value="example-fake-config-value-12345"
|
|
390
|
+
)
|
|
391
|
+
]
|
|
392
|
+
)
|
|
393
|
+
|
|
394
|
+
created_tool = manager.create_tool(
|
|
395
|
+
tool=tool,
|
|
396
|
+
automatic_publish=False
|
|
397
|
+
)
|
|
398
|
+
print(created_tool)
|
|
399
|
+
|
|
400
|
+
Update Tool
|
|
401
|
+
~~~~~~~~~~~
|
|
402
|
+
|
|
403
|
+
Updates an existing tool’s configuration, such as its name, description, or parameters.
|
|
404
|
+
|
|
405
|
+
Command Line
|
|
406
|
+
^^^^^^^^^^^^
|
|
407
|
+
|
|
408
|
+
.. code-block:: shell
|
|
409
|
+
|
|
410
|
+
geai ai-lab update-tool \
|
|
411
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
412
|
+
--tool-id "tool-456" \
|
|
413
|
+
--name "sample tool V4" \
|
|
414
|
+
--description "Updated builtin tool." \
|
|
415
|
+
--scope "builtin" \
|
|
416
|
+
--parameter '{"key": "input", "dataType": "String", "description": "updated input.", "isRequired": true}' \
|
|
417
|
+
--automatic-publish 0
|
|
418
|
+
|
|
419
|
+
Low-Level Service Layer
|
|
420
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
421
|
+
|
|
422
|
+
.. code-block:: python
|
|
423
|
+
|
|
424
|
+
from pygeai.lab.tools.clients import ToolClient
|
|
425
|
+
|
|
426
|
+
client = ToolClient()
|
|
427
|
+
response = client.update_tool(
|
|
428
|
+
tool_id="tool-456",
|
|
429
|
+
name="sample tool V4",
|
|
430
|
+
description="Updated builtin tool.",
|
|
431
|
+
scope="builtin",
|
|
432
|
+
parameters=[
|
|
433
|
+
{"key": "input", "dataType": "String", "description": "updated input.", "isRequired": True}
|
|
434
|
+
],
|
|
435
|
+
automatic_publish=False
|
|
436
|
+
)
|
|
437
|
+
print(response)
|
|
438
|
+
|
|
439
|
+
High-Level Service Layer
|
|
440
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
441
|
+
|
|
442
|
+
.. code-block:: python
|
|
443
|
+
|
|
444
|
+
from pygeai.lab.managers import AILabManager
|
|
445
|
+
from pygeai.lab.models import Tool, ToolParameter
|
|
446
|
+
|
|
447
|
+
manager = AILabManager()
|
|
448
|
+
|
|
449
|
+
tool = Tool(
|
|
450
|
+
name="sample tool V4",
|
|
451
|
+
description="Updated builtin tool.",
|
|
452
|
+
scope="builtin",
|
|
453
|
+
parameters=[
|
|
454
|
+
ToolParameter(
|
|
455
|
+
key="input",
|
|
456
|
+
data_type="String",
|
|
457
|
+
description="updated input.",
|
|
458
|
+
is_required=True
|
|
459
|
+
)
|
|
460
|
+
]
|
|
461
|
+
)
|
|
462
|
+
|
|
463
|
+
updated_tool = manager.update_tool(
|
|
464
|
+
tool_id="tool-456",
|
|
465
|
+
tool=tool,
|
|
466
|
+
automatic_publish=False
|
|
467
|
+
)
|
|
468
|
+
print(updated_tool)
|
|
469
|
+
|
|
470
|
+
Delete Tool
|
|
471
|
+
~~~~~~~~~~~
|
|
472
|
+
|
|
473
|
+
Deletes a tool from a specified project by its ID.
|
|
474
|
+
|
|
475
|
+
Command Line
|
|
476
|
+
^^^^^^^^^^^^
|
|
477
|
+
|
|
478
|
+
.. code-block:: shell
|
|
479
|
+
|
|
480
|
+
geai ai-lab delete-tool \
|
|
481
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
482
|
+
--tool-id "tool-456"
|
|
483
|
+
|
|
484
|
+
Low-Level Service Layer
|
|
485
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
486
|
+
|
|
487
|
+
.. code-block:: python
|
|
488
|
+
|
|
489
|
+
from pygeai.lab.tools.clients import ToolClient
|
|
490
|
+
|
|
491
|
+
client = ToolClient()
|
|
492
|
+
response = client.delete_tool(
|
|
493
|
+
tool_id="tool-456"
|
|
494
|
+
)
|
|
495
|
+
print(response)
|
|
496
|
+
|
|
497
|
+
High-Level Service Layer
|
|
498
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
499
|
+
|
|
500
|
+
.. code-block:: python
|
|
501
|
+
|
|
502
|
+
from pygeai.lab.managers import AILabManager
|
|
503
|
+
|
|
504
|
+
manager = AILabManager()
|
|
505
|
+
response = manager.delete_tool(
|
|
506
|
+
tool_id="tool-456"
|
|
507
|
+
)
|
|
508
|
+
print(response)
|
|
509
|
+
|
|
510
|
+
Publish Tool Revision
|
|
511
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
512
|
+
|
|
513
|
+
Publishes a revision of a tool, making it available for use.
|
|
514
|
+
|
|
515
|
+
Command Line
|
|
516
|
+
^^^^^^^^^^^^
|
|
517
|
+
|
|
518
|
+
.. code-block:: shell
|
|
519
|
+
|
|
520
|
+
geai ai-lab publish-tool-revision \
|
|
521
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
522
|
+
--tool-id "tool-456"
|
|
523
|
+
|
|
524
|
+
Low-Level Service Layer
|
|
525
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
526
|
+
|
|
527
|
+
.. code-block:: python
|
|
528
|
+
|
|
529
|
+
from pygeai.lab.tools.clients import ToolClient
|
|
530
|
+
|
|
531
|
+
client = ToolClient()
|
|
532
|
+
response = client.publish_tool_revision(
|
|
533
|
+
tool_id="tool-456"
|
|
534
|
+
)
|
|
535
|
+
print(response)
|
|
536
|
+
|
|
537
|
+
High-Level Service Layer
|
|
538
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
539
|
+
|
|
540
|
+
.. code-block:: python
|
|
541
|
+
|
|
542
|
+
from pygeai.lab.managers import AILabManager
|
|
543
|
+
|
|
544
|
+
manager = AILabManager()
|
|
545
|
+
response = manager.publish_tool_revision(
|
|
546
|
+
tool_id="tool-456"
|
|
547
|
+
)
|
|
548
|
+
print(response)
|
|
549
|
+
|
|
550
|
+
Tasks
|
|
551
|
+
-----
|
|
552
|
+
|
|
553
|
+
Create Task
|
|
554
|
+
~~~~~~~~~~~
|
|
555
|
+
|
|
556
|
+
Creates a new task in a specified project, defining its name, description, prompt configuration, and artifact types.
|
|
557
|
+
|
|
558
|
+
Command Line
|
|
559
|
+
^^^^^^^^^^^^
|
|
560
|
+
|
|
561
|
+
.. code-block:: shell
|
|
562
|
+
|
|
563
|
+
geai ai-lab create-task \
|
|
564
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
565
|
+
--name "Sample v2" \
|
|
566
|
+
--description "A simple task that requires no tools and define no prompt" \
|
|
567
|
+
--title-template "Sample Task" \
|
|
568
|
+
--automatic-publish 0
|
|
569
|
+
|
|
570
|
+
Low-Level Service Layer
|
|
571
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
572
|
+
|
|
573
|
+
.. code-block:: python
|
|
574
|
+
|
|
575
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
576
|
+
|
|
577
|
+
client = AgenticProcessClient()
|
|
578
|
+
response = client.create_task(
|
|
579
|
+
name="Sample v2",
|
|
580
|
+
description="A simple task that requires no tools and define no prompt",
|
|
581
|
+
title_template="Sample Task",
|
|
582
|
+
prompt_data={},
|
|
583
|
+
artifact_types=[],
|
|
584
|
+
automatic_publish=False
|
|
585
|
+
)
|
|
586
|
+
print(response)
|
|
587
|
+
|
|
588
|
+
High-Level Service Layer
|
|
589
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
590
|
+
|
|
591
|
+
.. code-block:: python
|
|
592
|
+
|
|
593
|
+
from pygeai.lab.managers import AILabManager
|
|
594
|
+
from pygeai.lab.models import Task, Prompt, ArtifactTypeList
|
|
595
|
+
|
|
596
|
+
manager = AILabManager()
|
|
597
|
+
|
|
598
|
+
task = Task(
|
|
599
|
+
name="Sample v2",
|
|
600
|
+
description="A simple task that requires no tools and define no prompt",
|
|
601
|
+
title_template="Sample Task",
|
|
602
|
+
prompt_data=Prompt(),
|
|
603
|
+
artifact_types=ArtifactTypeList(artifact_types=[])
|
|
604
|
+
)
|
|
605
|
+
|
|
606
|
+
created_task = manager.create_task(
|
|
607
|
+
task=task,
|
|
608
|
+
automatic_publish=False
|
|
609
|
+
)
|
|
610
|
+
print(created_task)
|
|
611
|
+
|
|
612
|
+
Update Task
|
|
613
|
+
~~~~~~~~~~~
|
|
614
|
+
|
|
615
|
+
Updates an existing task’s configuration, such as its name, description, or prompt settings.
|
|
616
|
+
|
|
617
|
+
Command Line
|
|
618
|
+
^^^^^^^^^^^^
|
|
619
|
+
|
|
620
|
+
.. code-block:: shell
|
|
621
|
+
|
|
622
|
+
geai ai-lab update-task \
|
|
623
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
624
|
+
--task-id "task-789" \
|
|
625
|
+
--name "Sample v3" \
|
|
626
|
+
--description "Updated simple task." \
|
|
627
|
+
--title-template "Updated Sample Task" \
|
|
628
|
+
--automatic-publish 0
|
|
629
|
+
|
|
630
|
+
Low-Level Service Layer
|
|
631
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
632
|
+
|
|
633
|
+
.. code-block:: python
|
|
634
|
+
|
|
635
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
636
|
+
|
|
637
|
+
client = AgenticProcessClient()
|
|
638
|
+
response = client.update_task(
|
|
639
|
+
task_id="task-789",
|
|
640
|
+
name="Sample v3",
|
|
641
|
+
description="Updated simple task.",
|
|
642
|
+
title_template="Updated Sample Task",
|
|
643
|
+
prompt_data={},
|
|
644
|
+
artifact_types=[],
|
|
645
|
+
automatic_publish=False
|
|
646
|
+
)
|
|
647
|
+
print(response)
|
|
648
|
+
|
|
649
|
+
High-Level Service Layer
|
|
650
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
651
|
+
|
|
652
|
+
.. code-block:: python
|
|
653
|
+
|
|
654
|
+
from pygeai.lab.managers import AILabManager
|
|
655
|
+
from pygeai.lab.models import Task, Prompt, ArtifactTypeList
|
|
656
|
+
|
|
657
|
+
manager = AILabManager()
|
|
658
|
+
|
|
659
|
+
task = Task(
|
|
660
|
+
name="Sample v3",
|
|
661
|
+
description="Updated simple task.",
|
|
662
|
+
title_template="Updated Sample Task",
|
|
663
|
+
prompt_data=Prompt(),
|
|
664
|
+
artifact_types=ArtifactTypeList(artifact_types=[])
|
|
665
|
+
)
|
|
666
|
+
|
|
667
|
+
updated_task = manager.update_task(
|
|
668
|
+
task_id="task-789",
|
|
669
|
+
task=task,
|
|
670
|
+
automatic_publish=False
|
|
671
|
+
)
|
|
672
|
+
print(updated_task)
|
|
673
|
+
|
|
674
|
+
Delete Task
|
|
675
|
+
~~~~~~~~~~~
|
|
676
|
+
|
|
677
|
+
Deletes a task from a specified project by its ID.
|
|
678
|
+
|
|
679
|
+
Command Line
|
|
680
|
+
^^^^^^^^^^^^
|
|
681
|
+
|
|
682
|
+
.. code-block:: shell
|
|
683
|
+
|
|
684
|
+
geai ai-lab delete-task \
|
|
685
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
686
|
+
--task-id "task-789"
|
|
687
|
+
|
|
688
|
+
Low-Level Service Layer
|
|
689
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
690
|
+
|
|
691
|
+
.. code-block:: python
|
|
692
|
+
|
|
693
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
694
|
+
|
|
695
|
+
client = AgenticProcessClient()
|
|
696
|
+
response = client.delete_task(
|
|
697
|
+
task_id="task-789"
|
|
698
|
+
)
|
|
699
|
+
print(response)
|
|
700
|
+
|
|
701
|
+
High-Level Service Layer
|
|
702
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
703
|
+
|
|
704
|
+
.. code-block:: python
|
|
705
|
+
|
|
706
|
+
from pygeai.lab.managers import AILabManager
|
|
707
|
+
|
|
708
|
+
manager = AILabManager()
|
|
709
|
+
response = manager.delete_task(
|
|
710
|
+
task_id="task-789"
|
|
711
|
+
)
|
|
712
|
+
print(response)
|
|
713
|
+
|
|
714
|
+
Publish Task Revision
|
|
715
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
716
|
+
|
|
717
|
+
Publishes a revision of a task, making it available for use.
|
|
718
|
+
|
|
719
|
+
Command Line
|
|
720
|
+
^^^^^^^^^^^^
|
|
721
|
+
|
|
722
|
+
.. code-block:: shell
|
|
723
|
+
|
|
724
|
+
geai ai-lab publish-task-revision \
|
|
725
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
726
|
+
--task-id "task-789"
|
|
727
|
+
|
|
728
|
+
Low-Level Service Layer
|
|
729
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
730
|
+
|
|
731
|
+
.. code-block:: python
|
|
732
|
+
|
|
733
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
734
|
+
|
|
735
|
+
client = AgenticProcessClient()
|
|
736
|
+
response = client.publish_task_revision(
|
|
737
|
+
task_id="task-789"
|
|
738
|
+
)
|
|
739
|
+
print(response)
|
|
740
|
+
|
|
741
|
+
High-Level Service Layer
|
|
742
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
743
|
+
|
|
744
|
+
.. code-block:: python
|
|
745
|
+
|
|
746
|
+
from pygeai.lab.managers import AILabManager
|
|
747
|
+
|
|
748
|
+
manager = AILabManager()
|
|
749
|
+
response = manager.publish_task_revision(
|
|
750
|
+
task_id="task-789"
|
|
751
|
+
)
|
|
752
|
+
print(response)
|
|
753
|
+
|
|
754
|
+
Processes
|
|
755
|
+
---------
|
|
756
|
+
|
|
757
|
+
Create Process
|
|
758
|
+
~~~~~~~~~~~~~~
|
|
759
|
+
|
|
760
|
+
Creates a new agentic process in a specified project, defining its workflow with activities, signals, events, and sequence flows.
|
|
761
|
+
|
|
762
|
+
Command Line
|
|
763
|
+
^^^^^^^^^^^^
|
|
764
|
+
|
|
765
|
+
.. code-block:: shell
|
|
766
|
+
|
|
767
|
+
geai ai-lab create-process \
|
|
768
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
769
|
+
--key "product_def" \
|
|
770
|
+
--name "Basic Process V4" \
|
|
771
|
+
--description "This is a sample process" \
|
|
772
|
+
--kb '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' \
|
|
773
|
+
--agentic-activity '{"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}' \
|
|
774
|
+
--artifact-signal '{"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}' \
|
|
775
|
+
--user-signal '{"key": "signal_done", "name": "process-completed"}' \
|
|
776
|
+
--start-event '{"key": "artifact.upload.1", "name": "artifact.upload"}' \
|
|
777
|
+
--end-event '{"key": "end", "name": "Done"}' \
|
|
778
|
+
--sequence-flow '{"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"}' \
|
|
779
|
+
--sequence-flow '{"key": "step2", "sourceKey": "activityOne", "targetKey": "signal_done"}' \
|
|
780
|
+
--sequence-flow '{"key": "stepEnd", "sourceKey": "signal_done", "targetKey": "end"}' \
|
|
781
|
+
--automatic-publish 0
|
|
782
|
+
|
|
783
|
+
Low-Level Service Layer
|
|
784
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
785
|
+
|
|
786
|
+
.. code-block:: python
|
|
787
|
+
|
|
788
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
789
|
+
|
|
790
|
+
client = AgenticProcessClient()
|
|
791
|
+
response = client.create_process(
|
|
792
|
+
key="product_def",
|
|
793
|
+
name="Basic Process V4",
|
|
794
|
+
description="This is a sample process",
|
|
795
|
+
kb={"name": "basic-sample", "artifactTypeName": ["sample-artifact"]},
|
|
796
|
+
agentic_activities=[
|
|
797
|
+
{"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}
|
|
798
|
+
],
|
|
799
|
+
artifact_signals=[
|
|
800
|
+
{"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}
|
|
801
|
+
],
|
|
802
|
+
user_signals=[
|
|
803
|
+
{"key": "signal_done", "name": "process-completed"}
|
|
804
|
+
],
|
|
805
|
+
start_event={"key": "artifact.upload.1", "name": "artifact.upload"},
|
|
806
|
+
end_event={"key": "end", "name": "Done"},
|
|
807
|
+
sequence_flows=[
|
|
808
|
+
{"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"},
|
|
809
|
+
{"key": "step2", "sourceKey": "activityOne", "targetKey": "signal_done"},
|
|
810
|
+
{"key": "stepEnd", "sourceKey": "signal_done", "targetKey": "end"}
|
|
811
|
+
],
|
|
812
|
+
automatic_publish=False
|
|
813
|
+
)
|
|
814
|
+
print(response)
|
|
815
|
+
|
|
816
|
+
High-Level Service Layer
|
|
817
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
818
|
+
|
|
819
|
+
.. code-block:: python
|
|
820
|
+
|
|
821
|
+
from pygeai.lab.managers import AILabManager
|
|
822
|
+
from pygeai.lab.models import AgenticProcess, KnowledgeBase, AgenticActivity, ArtifactSignal, UserSignal, Event, SequenceFlow
|
|
823
|
+
|
|
824
|
+
manager = AILabManager()
|
|
825
|
+
|
|
826
|
+
process = AgenticProcess(
|
|
827
|
+
key="product_def",
|
|
828
|
+
name="Basic Process V4",
|
|
829
|
+
description="This is a sample process",
|
|
830
|
+
kb=KnowledgeBase(name="basic-sample", artifact_type_name=["sample-artifact"]),
|
|
831
|
+
agentic_activities=[
|
|
832
|
+
AgenticActivity(
|
|
833
|
+
key="activityOne",
|
|
834
|
+
name="First Step",
|
|
835
|
+
task_name="basic-task",
|
|
836
|
+
agent_name="sample-translator",
|
|
837
|
+
agent_revision_id=0
|
|
838
|
+
)
|
|
839
|
+
],
|
|
840
|
+
artifact_signals=[
|
|
841
|
+
ArtifactSignal(
|
|
842
|
+
key="artifact.upload.1",
|
|
843
|
+
name="artifact.upload",
|
|
844
|
+
handling_type="C",
|
|
845
|
+
artifact_type_name=["sample-artifact"]
|
|
846
|
+
)
|
|
847
|
+
],
|
|
848
|
+
user_signals=[
|
|
849
|
+
UserSignal(key="signal_done", name="process-completed")
|
|
850
|
+
],
|
|
851
|
+
start_event=Event(key="artifact.upload.1", name="artifact.upload"),
|
|
852
|
+
end_event=Event(key="end", name="Done"),
|
|
853
|
+
sequence_flows=[
|
|
854
|
+
SequenceFlow(key="step1", source_key="artifact.upload.1", target_key="activityOne"),
|
|
855
|
+
SequenceFlow(key="step2", source_key="activityOne", target_key="signal_done"),
|
|
856
|
+
SequenceFlow(key="stepEnd", source_key="signal_done", target_key="end")
|
|
857
|
+
]
|
|
858
|
+
)
|
|
859
|
+
|
|
860
|
+
created_process = manager.create_process(
|
|
861
|
+
process=process,
|
|
862
|
+
automatic_publish=False
|
|
863
|
+
)
|
|
864
|
+
print(created_process)
|
|
865
|
+
|
|
866
|
+
Update Process
|
|
867
|
+
~~~~~~~~~~~~~~
|
|
868
|
+
|
|
869
|
+
Updates an existing process’s configuration, such as its name, description, or workflow components.
|
|
870
|
+
|
|
871
|
+
Command Line
|
|
872
|
+
^^^^^^^^^^^^
|
|
873
|
+
|
|
874
|
+
.. code-block:: shell
|
|
875
|
+
|
|
876
|
+
geai ai-lab update-process \
|
|
877
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
878
|
+
--process-id "process-101" \
|
|
879
|
+
--key "product_def" \
|
|
880
|
+
--name "Basic Process V5" \
|
|
881
|
+
--description "Updated sample process" \
|
|
882
|
+
--kb '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' \
|
|
883
|
+
--automatic-publish 0
|
|
884
|
+
|
|
885
|
+
Low-Level Service Layer
|
|
886
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
887
|
+
|
|
888
|
+
.. code-block:: python
|
|
889
|
+
|
|
890
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
891
|
+
|
|
892
|
+
client = AgenticProcessClient()
|
|
893
|
+
response = client.update_process(
|
|
894
|
+
process_id="process-101",
|
|
895
|
+
key="product_def",
|
|
896
|
+
name="Basic Process V5",
|
|
897
|
+
description="Updated sample process",
|
|
898
|
+
kb={"name": "basic-sample", "artifactTypeName": ["sample-artifact"]},
|
|
899
|
+
agentic_activities=[],
|
|
900
|
+
artifact_signals=[],
|
|
901
|
+
user_signals=[],
|
|
902
|
+
start_event={},
|
|
903
|
+
end_event={},
|
|
904
|
+
sequence_flows=[],
|
|
905
|
+
automatic_publish=False
|
|
906
|
+
)
|
|
907
|
+
print(response)
|
|
908
|
+
|
|
909
|
+
High-Level Service Layer
|
|
910
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
911
|
+
|
|
912
|
+
.. code-block:: python
|
|
913
|
+
|
|
914
|
+
from pygeai.lab.managers import AILabManager
|
|
915
|
+
from pygeai.lab.models import AgenticProcess, KnowledgeBase
|
|
916
|
+
|
|
917
|
+
manager = AILabManager()
|
|
918
|
+
|
|
919
|
+
process = AgenticProcess(
|
|
920
|
+
key="product_def",
|
|
921
|
+
name="Basic Process V5",
|
|
922
|
+
description="Updated sample process",
|
|
923
|
+
kb=KnowledgeBase(name="basic-sample", artifact_type_name=["sample-artifact"])
|
|
924
|
+
)
|
|
925
|
+
|
|
926
|
+
updated_process = manager.update_process(
|
|
927
|
+
process_id="process-101",
|
|
928
|
+
process=process,
|
|
929
|
+
automatic_publish=False
|
|
930
|
+
)
|
|
931
|
+
print(updated_process)
|
|
932
|
+
|
|
933
|
+
Delete Process
|
|
934
|
+
~~~~~~~~~~~~~~
|
|
935
|
+
|
|
936
|
+
Deletes a process from a specified project by its ID.
|
|
937
|
+
|
|
938
|
+
Command Line
|
|
939
|
+
^^^^^^^^^^^^
|
|
940
|
+
|
|
941
|
+
.. code-block:: shell
|
|
942
|
+
|
|
943
|
+
geai ai-lab delete-process \
|
|
944
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
945
|
+
--process-id "process-101"
|
|
946
|
+
|
|
947
|
+
Low-Level Service Layer
|
|
948
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
949
|
+
|
|
950
|
+
.. code-block:: python
|
|
951
|
+
|
|
952
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
953
|
+
|
|
954
|
+
client = AgenticProcessClient()
|
|
955
|
+
response = client.delete_process(
|
|
956
|
+
process_id="process-101"
|
|
957
|
+
)
|
|
958
|
+
print(response)
|
|
959
|
+
|
|
960
|
+
High-Level Service Layer
|
|
961
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
962
|
+
|
|
963
|
+
.. code-block:: python
|
|
964
|
+
|
|
965
|
+
from pygeai.lab.managers import AILabManager
|
|
966
|
+
|
|
967
|
+
manager = AILabManager()
|
|
968
|
+
response = manager.delete_process(
|
|
969
|
+
process_id="process-101"
|
|
970
|
+
)
|
|
971
|
+
print(response)
|
|
972
|
+
|
|
973
|
+
Publish Process Revision
|
|
974
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
975
|
+
|
|
976
|
+
Publishes a revision of a process, making it available for use.
|
|
977
|
+
|
|
978
|
+
Command Line
|
|
979
|
+
^^^^^^^^^^^^
|
|
980
|
+
|
|
981
|
+
.. code-block:: shell
|
|
982
|
+
|
|
983
|
+
geai ai-lab publish-process-revision \
|
|
984
|
+
--project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
|
|
985
|
+
--process-id "process-101"
|
|
986
|
+
|
|
987
|
+
Low-Level Service Layer
|
|
988
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
989
|
+
|
|
990
|
+
.. code-block:: python
|
|
991
|
+
|
|
992
|
+
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
993
|
+
|
|
994
|
+
client = AgenticProcessClient()
|
|
995
|
+
response = client.publish_process_revision(
|
|
996
|
+
process_id="process-101"
|
|
997
|
+
)
|
|
998
|
+
print(response)
|
|
999
|
+
|
|
1000
|
+
High-Level Service Layer
|
|
1001
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
1002
|
+
|
|
1003
|
+
.. code-block:: python
|
|
1004
|
+
|
|
1005
|
+
from pygeai.lab.managers import AILabManager
|
|
1006
|
+
|
|
1007
|
+
manager = AILabManager()
|
|
1008
|
+
response = manager.publish_process_revision(
|
|
1009
|
+
process_id="process-101"
|
|
1010
|
+
)
|
|
1011
|
+
print(response)
|