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,710 @@
|
|
|
1
|
+
RAG Assistant
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
This section describes how to interact with the Retrieval-Augmented Generation (RAG) Assistant in Globant Enterprise AI (GEAI) using the Command Line Interface (CLI), Low-Level Service Layer, and High-Level Service Layer. The RAG Assistant enables document retrieval and query execution with configurable search and indexing options.
|
|
5
|
+
|
|
6
|
+
Create RAG Assistant
|
|
7
|
+
--------------------
|
|
8
|
+
|
|
9
|
+
Creates a new RAG Assistant with configurable options for search, indexing, and welcome data. A name is required, while description, template, search options, index options, and welcome data are optional.
|
|
10
|
+
|
|
11
|
+
Command Line
|
|
12
|
+
^^^^^^^^^^^^
|
|
13
|
+
|
|
14
|
+
.. code-block:: shell
|
|
15
|
+
|
|
16
|
+
geai rag create-assistant \
|
|
17
|
+
-n "MyRAGAssistant" \
|
|
18
|
+
-d "RAG Assistant for document retrieval" \
|
|
19
|
+
--template "default_rag_template" \
|
|
20
|
+
--history-count 5 \
|
|
21
|
+
--model-name "gpt-4" \
|
|
22
|
+
--temperature 0.7 \
|
|
23
|
+
--chunk-size 512 \
|
|
24
|
+
--chunk-overlap 50 \
|
|
25
|
+
--wd-title "Welcome to My Assistant" \
|
|
26
|
+
--wd-description "This assistant helps retrieve and summarize documents."
|
|
27
|
+
|
|
28
|
+
**Flags**:
|
|
29
|
+
|
|
30
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
31
|
+
* ``-d, --description``: Description of the assistant's purpose.
|
|
32
|
+
* ``--template, --tpl``: Name of an existing RAG template (optional).
|
|
33
|
+
* ``--history-count, --hc``: Number of historical interactions to include.
|
|
34
|
+
* ``--model-name, -m``: LLM model name (e.g., "gpt-4").
|
|
35
|
+
* ``--temperature, --temp, -t``: Sampling temperature for LLM responses.
|
|
36
|
+
* ``--chunk-size``: Size of each document chunk.
|
|
37
|
+
* ``--chunk-overlap``: Overlap size between chunks.
|
|
38
|
+
* ``--wd-title``: Title for welcome data.
|
|
39
|
+
* ``--wd-description``: Description for welcome data.
|
|
40
|
+
|
|
41
|
+
Additional flags for search, index, and welcome data are available; refer to ``geai rag create-assistant -h``.
|
|
42
|
+
|
|
43
|
+
Low-Level Service Layer
|
|
44
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
45
|
+
|
|
46
|
+
.. code-block:: python
|
|
47
|
+
|
|
48
|
+
from pygeai.assistant.rag.clients import RAGAssistantClient
|
|
49
|
+
|
|
50
|
+
name = "MyRAGAssistant"
|
|
51
|
+
description = "RAG Assistant for document retrieval"
|
|
52
|
+
template = "default_rag_template"
|
|
53
|
+
search_options = {
|
|
54
|
+
"history_count": 5,
|
|
55
|
+
"llm": {
|
|
56
|
+
"modelName": "gpt-4",
|
|
57
|
+
"temperature": 0.7,
|
|
58
|
+
"maxTokens": 1000
|
|
59
|
+
},
|
|
60
|
+
"search": {
|
|
61
|
+
"k": 10,
|
|
62
|
+
"type": "similarity"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
index_options = {
|
|
66
|
+
"chunks": {
|
|
67
|
+
"chunk_size": 512,
|
|
68
|
+
"chunkOverlap": 50
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
welcome_data = {
|
|
72
|
+
"title": "Welcome to My Assistant",
|
|
73
|
+
"description": "This assistant helps retrieve and summarize documents."
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
client = RAGAssistantClient()
|
|
77
|
+
new_assistant = client.create_assistant(
|
|
78
|
+
name=name,
|
|
79
|
+
description=description,
|
|
80
|
+
template=template,
|
|
81
|
+
search_options=search_options,
|
|
82
|
+
index_options=index_options,
|
|
83
|
+
welcome_data=welcome_data
|
|
84
|
+
)
|
|
85
|
+
print(new_assistant)
|
|
86
|
+
|
|
87
|
+
**Parameters**:
|
|
88
|
+
|
|
89
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
90
|
+
* ``description``: Optional description of the assistant's purpose.
|
|
91
|
+
* ``template``: Optional name of an existing RAG template.
|
|
92
|
+
* ``search_options``: Dictionary configuring search behavior (e.g., LLM settings, search type).
|
|
93
|
+
* ``index_options``: Dictionary configuring document indexing (e.g., chunk size, overlap).
|
|
94
|
+
* ``welcome_data``: Dictionary configuring the welcome message.
|
|
95
|
+
|
|
96
|
+
**Returns**:
|
|
97
|
+
A dictionary containing the API response with details of the created assistant.
|
|
98
|
+
|
|
99
|
+
High-Level Service Layer
|
|
100
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
101
|
+
|
|
102
|
+
.. code-block:: python
|
|
103
|
+
|
|
104
|
+
from pygeai.assistant.managers import AssistantManager
|
|
105
|
+
from pygeai.assistant.rag.models import RAGAssistant, SearchOptions, IndexOptions, WelcomeData
|
|
106
|
+
|
|
107
|
+
manager = AssistantManager()
|
|
108
|
+
|
|
109
|
+
search_options = SearchOptions(
|
|
110
|
+
history_count=5,
|
|
111
|
+
llm={
|
|
112
|
+
"modelName": "gpt-4",
|
|
113
|
+
"temperature": 0.7,
|
|
114
|
+
"maxTokens": 1000
|
|
115
|
+
},
|
|
116
|
+
search={
|
|
117
|
+
"k": 10,
|
|
118
|
+
"type": "similarity"
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
index_options = IndexOptions(
|
|
122
|
+
chunks={
|
|
123
|
+
"chunk_size": 512,
|
|
124
|
+
"chunkOverlap": 50
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
welcome_data = WelcomeData(
|
|
128
|
+
title="Welcome to My Assistant",
|
|
129
|
+
description="This assistant helps retrieve and summarize documents."
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
assistant = RAGAssistant(
|
|
133
|
+
name="MyRAGAssistant",
|
|
134
|
+
description="RAG Assistant for document retrieval",
|
|
135
|
+
template="default_rag_template",
|
|
136
|
+
search_options=search_options,
|
|
137
|
+
index_options=index_options,
|
|
138
|
+
welcome_data=welcome_data
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
created_assistant = manager.create_assistant(assistant)
|
|
142
|
+
print(created_assistant)
|
|
143
|
+
|
|
144
|
+
**Components**:
|
|
145
|
+
|
|
146
|
+
* ``RAGAssistant``: Model defining the assistant's properties.
|
|
147
|
+
* ``SearchOptions``: Configures search behavior (e.g., LLM settings, retrieval parameters).
|
|
148
|
+
* ``IndexOptions``: Configures document indexing (e.g., chunking).
|
|
149
|
+
* ``WelcomeData``: Configures the assistant's welcome message.
|
|
150
|
+
* ``AssistantManager``: Manages creation and response mapping.
|
|
151
|
+
|
|
152
|
+
**Returns**:
|
|
153
|
+
A ``RAGAssistant`` instance representing the created assistant, or an error response if creation fails.
|
|
154
|
+
|
|
155
|
+
Update RAG Assistant
|
|
156
|
+
--------------------
|
|
157
|
+
|
|
158
|
+
Updates an existing RAG Assistant’s status, description, template, search options, or welcome data. The assistant name and status are required.
|
|
159
|
+
|
|
160
|
+
Command Line
|
|
161
|
+
^^^^^^^^^^^^
|
|
162
|
+
|
|
163
|
+
.. code-block:: shell
|
|
164
|
+
|
|
165
|
+
geai rag update-assistant \
|
|
166
|
+
-n "MyRAGAssistant" \
|
|
167
|
+
--status 1 \
|
|
168
|
+
-d "Updated RAG Assistant description"
|
|
169
|
+
|
|
170
|
+
**Flags**:
|
|
171
|
+
|
|
172
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
173
|
+
* ``--status``: (Required) Status (1 for enabled, 0 for disabled).
|
|
174
|
+
* ``-d, --description``: Updated description.
|
|
175
|
+
* ``--template, --tpl``: Updated template name.
|
|
176
|
+
* Additional flags for search options and welcome data (see ``geai rag update-assistant -h``).
|
|
177
|
+
|
|
178
|
+
Low-Level Service Layer
|
|
179
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
180
|
+
|
|
181
|
+
.. code-block:: python
|
|
182
|
+
|
|
183
|
+
client = RAGAssistantClient()
|
|
184
|
+
updated_assistant = client.update_assistant(
|
|
185
|
+
name="MyRAGAssistant",
|
|
186
|
+
status=1,
|
|
187
|
+
description="Updated RAG Assistant description",
|
|
188
|
+
search_options={
|
|
189
|
+
"history_count": 10,
|
|
190
|
+
"llm": {"modelName": "gpt-4", "temperature": 0.8}
|
|
191
|
+
}
|
|
192
|
+
)
|
|
193
|
+
print(updated_assistant)
|
|
194
|
+
|
|
195
|
+
**Parameters**:
|
|
196
|
+
|
|
197
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
198
|
+
* ``status``: (Required) Status (1 for enabled, 0 for disabled).
|
|
199
|
+
* ``description``: Optional updated description.
|
|
200
|
+
* ``template``: Optional updated template name.
|
|
201
|
+
* ``search_options``: Optional updated search configuration.
|
|
202
|
+
* ``welcome_data``: Optional updated welcome message configuration.
|
|
203
|
+
|
|
204
|
+
**Returns**:
|
|
205
|
+
A dictionary containing the API response with details of the updated assistant.
|
|
206
|
+
|
|
207
|
+
High-Level Service Layer
|
|
208
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
209
|
+
|
|
210
|
+
.. code-block:: python
|
|
211
|
+
|
|
212
|
+
manager = AssistantManager()
|
|
213
|
+
assistant = RAGAssistant(
|
|
214
|
+
name="MyRAGAssistant",
|
|
215
|
+
status=1,
|
|
216
|
+
description="Updated RAG Assistant description",
|
|
217
|
+
search_options=SearchOptions(
|
|
218
|
+
history_count=10,
|
|
219
|
+
llm={"modelName": "gpt-4", "temperature": 0.8}
|
|
220
|
+
)
|
|
221
|
+
)
|
|
222
|
+
updated_assistant = manager.update_assistant(assistant)
|
|
223
|
+
print(updated_assistant)
|
|
224
|
+
|
|
225
|
+
**Components**:
|
|
226
|
+
|
|
227
|
+
* ``RAGAssistant``: Model with updated properties.
|
|
228
|
+
* ``AssistantManager``: Manages update and response mapping.
|
|
229
|
+
|
|
230
|
+
**Returns**:
|
|
231
|
+
A ``RAGAssistant`` instance with updated details, or an error response.
|
|
232
|
+
|
|
233
|
+
Delete RAG Assistant
|
|
234
|
+
--------------------
|
|
235
|
+
|
|
236
|
+
Deletes an existing RAG Assistant by name.
|
|
237
|
+
|
|
238
|
+
Command Line
|
|
239
|
+
^^^^^^^^^^^^
|
|
240
|
+
|
|
241
|
+
.. code-block:: shell
|
|
242
|
+
|
|
243
|
+
geai rag delete-assistant -n "MyRAGAssistant"
|
|
244
|
+
|
|
245
|
+
**Flags**:
|
|
246
|
+
|
|
247
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
248
|
+
|
|
249
|
+
Low-Level Service Layer
|
|
250
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
251
|
+
|
|
252
|
+
.. code-block:: python
|
|
253
|
+
|
|
254
|
+
client = RAGAssistantClient()
|
|
255
|
+
result = client.delete_assistant(name="MyRAGAssistant")
|
|
256
|
+
print(result)
|
|
257
|
+
|
|
258
|
+
**Parameters**:
|
|
259
|
+
|
|
260
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
261
|
+
|
|
262
|
+
**Returns**:
|
|
263
|
+
A dictionary containing the API response indicating deletion success or failure.
|
|
264
|
+
|
|
265
|
+
High-Level Service Layer
|
|
266
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
267
|
+
|
|
268
|
+
.. code-block:: python
|
|
269
|
+
|
|
270
|
+
manager = AssistantManager()
|
|
271
|
+
result = manager.delete_assistant(assistant_name="MyRAGAssistant")
|
|
272
|
+
print(result)
|
|
273
|
+
|
|
274
|
+
**Parameters**:
|
|
275
|
+
|
|
276
|
+
* ``assistant_name``: (Required) Name of the RAG Assistant.
|
|
277
|
+
|
|
278
|
+
**Returns**:
|
|
279
|
+
An ``EmptyResponse`` indicating success, or an error response.
|
|
280
|
+
|
|
281
|
+
List RAG Assistants
|
|
282
|
+
-------------------
|
|
283
|
+
|
|
284
|
+
Retrieves all RAG Assistants in a project.
|
|
285
|
+
|
|
286
|
+
Command Line
|
|
287
|
+
^^^^^^^^^^^^
|
|
288
|
+
|
|
289
|
+
.. code-block:: shell
|
|
290
|
+
|
|
291
|
+
geai rag list-assistants
|
|
292
|
+
|
|
293
|
+
**Flags**:
|
|
294
|
+
None.
|
|
295
|
+
|
|
296
|
+
Low-Level Service Layer
|
|
297
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
298
|
+
|
|
299
|
+
.. code-block:: python
|
|
300
|
+
|
|
301
|
+
client = RAGAssistantClient()
|
|
302
|
+
assistants = client.get_assistants_from_project()
|
|
303
|
+
print(assistants)
|
|
304
|
+
|
|
305
|
+
**Parameters**:
|
|
306
|
+
None.
|
|
307
|
+
|
|
308
|
+
**Returns**:
|
|
309
|
+
A dictionary containing a list of RAG Assistants in the project.
|
|
310
|
+
|
|
311
|
+
High-Level Service Layer
|
|
312
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
313
|
+
|
|
314
|
+
.. code-block:: python
|
|
315
|
+
|
|
316
|
+
manager = AssistantManager()
|
|
317
|
+
assistant = manager.get_assistant_data(assistant_name="MyRAGAssistant")
|
|
318
|
+
print(assistant)
|
|
319
|
+
|
|
320
|
+
**Note**: The high-level manager retrieves a specific assistant by name. To list all assistants, use the low-level client or CLI.
|
|
321
|
+
|
|
322
|
+
**Returns**:
|
|
323
|
+
A ``RAGAssistant`` instance for the specified assistant, or an error response.
|
|
324
|
+
|
|
325
|
+
Get RAG Assistant
|
|
326
|
+
-----------------
|
|
327
|
+
|
|
328
|
+
Retrieves details of a specific RAG Assistant by name.
|
|
329
|
+
|
|
330
|
+
Command Line
|
|
331
|
+
^^^^^^^^^^^^
|
|
332
|
+
|
|
333
|
+
.. code-block:: shell
|
|
334
|
+
|
|
335
|
+
geai rag get-assistant -n "MyRAGAssistant"
|
|
336
|
+
|
|
337
|
+
**Flags**:
|
|
338
|
+
|
|
339
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
340
|
+
|
|
341
|
+
Low-Level Service Layer
|
|
342
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
343
|
+
|
|
344
|
+
.. code-block:: python
|
|
345
|
+
|
|
346
|
+
client = RAGAssistantClient()
|
|
347
|
+
assistant_data = client.get_assistant_data(name="MyRAGAssistant")
|
|
348
|
+
print(assistant_data)
|
|
349
|
+
|
|
350
|
+
**Parameters**:
|
|
351
|
+
|
|
352
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
353
|
+
|
|
354
|
+
**Returns**:
|
|
355
|
+
A dictionary containing the assistant’s details.
|
|
356
|
+
|
|
357
|
+
High-Level Service Layer
|
|
358
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
359
|
+
|
|
360
|
+
.. code-block:: python
|
|
361
|
+
|
|
362
|
+
manager = AssistantManager()
|
|
363
|
+
assistant = manager.get_assistant_data(assistant_name="MyRAGAssistant")
|
|
364
|
+
print(assistant)
|
|
365
|
+
|
|
366
|
+
**Parameters**:
|
|
367
|
+
|
|
368
|
+
* ``assistant_name``: (Required) Name of the RAG Assistant.
|
|
369
|
+
|
|
370
|
+
**Returns**:
|
|
371
|
+
A ``RAGAssistant`` instance with the assistant’s details, or an error response.
|
|
372
|
+
|
|
373
|
+
Upload Document
|
|
374
|
+
---------------
|
|
375
|
+
|
|
376
|
+
Uploads a document to a RAG Assistant for indexing and retrieval.
|
|
377
|
+
|
|
378
|
+
Command Line
|
|
379
|
+
^^^^^^^^^^^^
|
|
380
|
+
|
|
381
|
+
.. code-block:: shell
|
|
382
|
+
|
|
383
|
+
geai rag upload-document \
|
|
384
|
+
-n "MyRAGAssistant" \
|
|
385
|
+
-f "/path/to/document.pdf" \
|
|
386
|
+
--content-type "application/pdf" \
|
|
387
|
+
--upload-type "multipart"
|
|
388
|
+
|
|
389
|
+
**Flags**:
|
|
390
|
+
|
|
391
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
392
|
+
* ``-f, --file-path``: (Required) Path to the document file.
|
|
393
|
+
* ``--content-type, --ct``: MIME type of the document (e.g., "application/pdf").
|
|
394
|
+
* ``--upload-type, -t``: Upload method ("multipart" or "binary", defaults to "multipart").
|
|
395
|
+
* ``--metadata, -m``: Optional metadata (JSON or file path, for multipart uploads).
|
|
396
|
+
|
|
397
|
+
Low-Level Service Layer
|
|
398
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
399
|
+
|
|
400
|
+
.. code-block:: python
|
|
401
|
+
|
|
402
|
+
client = RAGAssistantClient()
|
|
403
|
+
result = client.upload_document(
|
|
404
|
+
name="MyRAGAssistant",
|
|
405
|
+
file_path="/path/to/document.pdf",
|
|
406
|
+
content_type="application/pdf",
|
|
407
|
+
upload_type="multipart",
|
|
408
|
+
metadata={"author": "John Doe"}
|
|
409
|
+
)
|
|
410
|
+
print(result)
|
|
411
|
+
|
|
412
|
+
**Parameters**:
|
|
413
|
+
|
|
414
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
415
|
+
* ``file_path``: (Required) Path to the document file.
|
|
416
|
+
* ``content_type``: MIME type (e.g., "application/pdf").
|
|
417
|
+
* ``upload_type``: "multipart" or "binary" (defaults to "multipart").
|
|
418
|
+
* ``metadata``: Optional metadata dictionary or file path (for multipart).
|
|
419
|
+
|
|
420
|
+
**Returns**:
|
|
421
|
+
A dictionary containing the API response with details of the uploaded document.
|
|
422
|
+
|
|
423
|
+
High-Level Service Layer
|
|
424
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
425
|
+
|
|
426
|
+
.. code-block:: python
|
|
427
|
+
|
|
428
|
+
from pygeai.assistant.rag.models import RAGAssistant, UploadDocument
|
|
429
|
+
|
|
430
|
+
manager = AssistantManager()
|
|
431
|
+
assistant = RAGAssistant(name="MyRAGAssistant")
|
|
432
|
+
document = UploadDocument(
|
|
433
|
+
path="/path/to/document.pdf",
|
|
434
|
+
content_type="application/pdf",
|
|
435
|
+
upload_type="multipart",
|
|
436
|
+
metadata={"author": "John Doe"}
|
|
437
|
+
)
|
|
438
|
+
result = manager.upload_document(assistant, document)
|
|
439
|
+
print(result)
|
|
440
|
+
|
|
441
|
+
**Components**:
|
|
442
|
+
|
|
443
|
+
* ``RAGAssistant``: Specifies the target assistant.
|
|
444
|
+
* ``UploadDocument``: Defines the document properties.
|
|
445
|
+
* ``AssistantManager``: Manages upload and response mapping.
|
|
446
|
+
|
|
447
|
+
**Returns**:
|
|
448
|
+
A ``Document`` instance representing the uploaded document, or an error response.
|
|
449
|
+
|
|
450
|
+
Retrieve Document
|
|
451
|
+
-----------------
|
|
452
|
+
|
|
453
|
+
Retrieves a specific document from a RAG Assistant by its ID.
|
|
454
|
+
|
|
455
|
+
Command Line
|
|
456
|
+
^^^^^^^^^^^^
|
|
457
|
+
|
|
458
|
+
.. code-block:: shell
|
|
459
|
+
|
|
460
|
+
geai rag get-document -n "MyRAGAssistant" --document-id "doc123"
|
|
461
|
+
|
|
462
|
+
**Flags**:
|
|
463
|
+
|
|
464
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
465
|
+
* ``--document-id, --id``: (Required) Document ID.
|
|
466
|
+
|
|
467
|
+
Low-Level Service Layer
|
|
468
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
469
|
+
|
|
470
|
+
.. code-block:: python
|
|
471
|
+
|
|
472
|
+
client = RAGAssistantClient()
|
|
473
|
+
document = client.retrieve_document(name="MyRAGAssistant", document_id="doc123")
|
|
474
|
+
print(document)
|
|
475
|
+
|
|
476
|
+
**Parameters**:
|
|
477
|
+
|
|
478
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
479
|
+
* ``document_id``: (Required) Document ID.
|
|
480
|
+
|
|
481
|
+
**Returns**:
|
|
482
|
+
A dictionary containing the document’s details.
|
|
483
|
+
|
|
484
|
+
High-Level Service Layer
|
|
485
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
486
|
+
|
|
487
|
+
.. code-block:: python
|
|
488
|
+
|
|
489
|
+
manager = AssistantManager()
|
|
490
|
+
document = manager.get_document(name="MyRAGAssistant", document_id="doc123")
|
|
491
|
+
print(document)
|
|
492
|
+
|
|
493
|
+
**Parameters**:
|
|
494
|
+
|
|
495
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
496
|
+
* ``document_id``: (Required) Document ID.
|
|
497
|
+
|
|
498
|
+
**Returns**:
|
|
499
|
+
A ``Document`` instance with the document’s details, or an error response.
|
|
500
|
+
|
|
501
|
+
List Documents
|
|
502
|
+
--------------
|
|
503
|
+
|
|
504
|
+
Lists documents associated with a RAG Assistant, with optional pagination.
|
|
505
|
+
|
|
506
|
+
Command Line
|
|
507
|
+
^^^^^^^^^^^^
|
|
508
|
+
|
|
509
|
+
.. code-block:: shell
|
|
510
|
+
|
|
511
|
+
geai rag list-documents -n "MyRAGAssistant" --skip 0 --count 10
|
|
512
|
+
|
|
513
|
+
**Flags**:
|
|
514
|
+
|
|
515
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
516
|
+
* ``--skip, -s``: Number of documents to skip (default: 0).
|
|
517
|
+
* ``--count, -c``: Number of documents to return (default: 10).
|
|
518
|
+
|
|
519
|
+
Low-Level Service Layer
|
|
520
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
521
|
+
|
|
522
|
+
.. code-block:: python
|
|
523
|
+
|
|
524
|
+
client = RAGAssistantClient()
|
|
525
|
+
documents = client.get_documents(name="MyRAGAssistant", skip=0, count=10)
|
|
526
|
+
print(documents)
|
|
527
|
+
|
|
528
|
+
**Parameters**:
|
|
529
|
+
|
|
530
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
531
|
+
* ``skip``: Number of documents to skip (default: 0).
|
|
532
|
+
* ``count``: Number of documents to return (default: 10).
|
|
533
|
+
|
|
534
|
+
**Returns**:
|
|
535
|
+
A dictionary containing a list of documents.
|
|
536
|
+
|
|
537
|
+
High-Level Service Layer
|
|
538
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
539
|
+
|
|
540
|
+
.. code-block:: python
|
|
541
|
+
|
|
542
|
+
manager = AssistantManager()
|
|
543
|
+
documents = manager.get_document_list(name="MyRAGAssistant", skip=0, count=10)
|
|
544
|
+
print(documents)
|
|
545
|
+
|
|
546
|
+
**Parameters**:
|
|
547
|
+
|
|
548
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
549
|
+
* ``skip``: Number of documents to skip (default: 0).
|
|
550
|
+
* ``count``: Number of documents to return (default: 10).
|
|
551
|
+
|
|
552
|
+
**Returns**:
|
|
553
|
+
A ``DocumentListResponse`` containing the list of documents, or an error response.
|
|
554
|
+
|
|
555
|
+
Delete Document
|
|
556
|
+
---------------
|
|
557
|
+
|
|
558
|
+
Deletes a specific document from a RAG Assistant by its ID.
|
|
559
|
+
|
|
560
|
+
Command Line
|
|
561
|
+
^^^^^^^^^^^^
|
|
562
|
+
|
|
563
|
+
.. code-block:: shell
|
|
564
|
+
|
|
565
|
+
geai rag delete-document -n "MyRAGAssistant" --document-id "doc123"
|
|
566
|
+
|
|
567
|
+
**Flags**:
|
|
568
|
+
|
|
569
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
570
|
+
* ``--document-id, --id``: (Required) Document ID.
|
|
571
|
+
|
|
572
|
+
Low-Level Service Layer
|
|
573
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
574
|
+
|
|
575
|
+
.. code-block:: python
|
|
576
|
+
|
|
577
|
+
client = RAGAssistantClient()
|
|
578
|
+
result = client.delete_document(name="MyRAGAssistant", document_id="doc123")
|
|
579
|
+
print(result)
|
|
580
|
+
|
|
581
|
+
**Parameters**:
|
|
582
|
+
|
|
583
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
584
|
+
* ``document_id``: (Required) Document ID.
|
|
585
|
+
|
|
586
|
+
**Returns**:
|
|
587
|
+
A dictionary indicating deletion success or failure.
|
|
588
|
+
|
|
589
|
+
High-Level Service Layer
|
|
590
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
591
|
+
|
|
592
|
+
.. code-block:: python
|
|
593
|
+
|
|
594
|
+
manager = AssistantManager()
|
|
595
|
+
result = manager.delete_document(name="MyRAGAssistant", document_id="doc123")
|
|
596
|
+
print(result)
|
|
597
|
+
|
|
598
|
+
**Parameters**:
|
|
599
|
+
|
|
600
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
601
|
+
* ``document_id``: (Required) Document ID.
|
|
602
|
+
|
|
603
|
+
**Returns**:
|
|
604
|
+
An ``EmptyResponse`` indicating success, or an error response.
|
|
605
|
+
|
|
606
|
+
Delete All Documents
|
|
607
|
+
--------------------
|
|
608
|
+
|
|
609
|
+
Deletes all documents associated with a RAG Assistant.
|
|
610
|
+
|
|
611
|
+
Command Line
|
|
612
|
+
^^^^^^^^^^^^
|
|
613
|
+
|
|
614
|
+
.. code-block:: shell
|
|
615
|
+
|
|
616
|
+
geai rag delete-all-documents -n "MyRAGAssistant"
|
|
617
|
+
|
|
618
|
+
**Flags**:
|
|
619
|
+
|
|
620
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
621
|
+
|
|
622
|
+
Low-Level Service Layer
|
|
623
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
624
|
+
|
|
625
|
+
.. code-block:: python
|
|
626
|
+
|
|
627
|
+
client = RAGAssistantClient()
|
|
628
|
+
result = client.delete_all_documents(name="MyRAGAssistant")
|
|
629
|
+
print(result)
|
|
630
|
+
|
|
631
|
+
**Parameters**:
|
|
632
|
+
|
|
633
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
634
|
+
|
|
635
|
+
**Returns**:
|
|
636
|
+
A dictionary indicating deletion success or failure.
|
|
637
|
+
|
|
638
|
+
High-Level Service Layer
|
|
639
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
640
|
+
|
|
641
|
+
.. code-block:: python
|
|
642
|
+
|
|
643
|
+
manager = AssistantManager()
|
|
644
|
+
result = manager.delete_all_documents(name="MyRAGAssistant")
|
|
645
|
+
print(result)
|
|
646
|
+
|
|
647
|
+
**Parameters**:
|
|
648
|
+
|
|
649
|
+
* ``name``: (Required) Name of the RAG Assistant.
|
|
650
|
+
|
|
651
|
+
**Returns**:
|
|
652
|
+
An ``EmptyResponse`` indicating success, or an error response.
|
|
653
|
+
|
|
654
|
+
Execute Query
|
|
655
|
+
-------------
|
|
656
|
+
|
|
657
|
+
Executes a query against the RAG Assistant’s indexed documents.
|
|
658
|
+
|
|
659
|
+
Command Line
|
|
660
|
+
^^^^^^^^^^^^
|
|
661
|
+
|
|
662
|
+
.. code-block:: shell
|
|
663
|
+
|
|
664
|
+
geai rag execute-query -n "MyRAGAssistant" --query '{"query": "What is AI?"}'
|
|
665
|
+
|
|
666
|
+
**Flags**:
|
|
667
|
+
|
|
668
|
+
* ``-n, --name``: (Required) Name of the RAG Assistant.
|
|
669
|
+
* ``--query``: (Required) JSON query string.
|
|
670
|
+
|
|
671
|
+
Low-Level Service Layer
|
|
672
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
673
|
+
|
|
674
|
+
.. code-block:: python
|
|
675
|
+
|
|
676
|
+
client = RAGAssistantClient()
|
|
677
|
+
query = {"query": "What is AI?"}
|
|
678
|
+
result = client.execute_query(query=query)
|
|
679
|
+
print(result)
|
|
680
|
+
|
|
681
|
+
**Parameters**:
|
|
682
|
+
|
|
683
|
+
* ``query``: (Required) Dictionary containing the query details.
|
|
684
|
+
|
|
685
|
+
**Returns**:
|
|
686
|
+
A dictionary containing the query results.
|
|
687
|
+
|
|
688
|
+
High-Level Service Layer
|
|
689
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
690
|
+
|
|
691
|
+
.. code-block:: python
|
|
692
|
+
|
|
693
|
+
manager = AssistantManager()
|
|
694
|
+
query = {"query": "What is AI?"}
|
|
695
|
+
result = manager.execute_query(query=query) # Note: Manager may not directly support execute_query; use client
|
|
696
|
+
print(result)
|
|
697
|
+
|
|
698
|
+
**Note**: The high-level ``AssistantManager`` does not explicitly expose ``execute_query``. Use ``RAGAssistantClient`` for this functionality.
|
|
699
|
+
|
|
700
|
+
**Returns**:
|
|
701
|
+
A dictionary containing the query results, or an error response.
|
|
702
|
+
|
|
703
|
+
Notes
|
|
704
|
+
-----
|
|
705
|
+
|
|
706
|
+
* The CLI provides a user-friendly interface with flags for all configuration options.
|
|
707
|
+
* The Low-Level Client (``RAGAssistantClient``) offers fine-grained control over API calls, ideal for custom integrations.
|
|
708
|
+
* The High-Level Manager (``AssistantManager``) simplifies operations by handling response mapping and error processing, suitable for robust applications.
|
|
709
|
+
* Error handling in both low-level and high-level layers manages JSON decoding errors and API errors, returning structured responses.
|
|
710
|
+
* Search, index, and welcome data options are highly customizable for tailored assistant behavior.
|