pygeai 0.6.0b7__py3-none-any.whl → 0.6.0b10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. pygeai/_docs/source/conf.py +78 -6
  2. pygeai/_docs/source/content/api_reference/embeddings.rst +31 -1
  3. pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
  4. pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
  5. pygeai/_docs/source/content/api_reference/files.rst +592 -0
  6. pygeai/_docs/source/content/api_reference/gam.rst +401 -0
  7. pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
  8. pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
  9. pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
  10. pygeai/_docs/source/content/api_reference.rst +7 -0
  11. pygeai/_docs/source/content/debugger.rst +376 -83
  12. pygeai/_docs/source/content/migration.rst +528 -0
  13. pygeai/_docs/source/content/modules.rst +1 -1
  14. pygeai/_docs/source/pygeai.cli.rst +8 -0
  15. pygeai/_docs/source/pygeai.tests.cli.rst +16 -0
  16. pygeai/_docs/source/pygeai.tests.core.embeddings.rst +16 -0
  17. pygeai/_docs/source/pygeai.tests.snippets.chat.rst +40 -0
  18. pygeai/_docs/source/pygeai.tests.snippets.dbg.rst +45 -0
  19. pygeai/_docs/source/pygeai.tests.snippets.embeddings.rst +40 -0
  20. pygeai/_docs/source/pygeai.tests.snippets.evaluation.dataset.rst +197 -0
  21. pygeai/_docs/source/pygeai.tests.snippets.evaluation.plan.rst +133 -0
  22. pygeai/_docs/source/pygeai.tests.snippets.evaluation.result.rst +37 -0
  23. pygeai/_docs/source/pygeai.tests.snippets.evaluation.rst +10 -0
  24. pygeai/_docs/source/pygeai.tests.snippets.rst +1 -0
  25. pygeai/admin/clients.py +5 -0
  26. pygeai/assistant/clients.py +7 -0
  27. pygeai/assistant/data_analyst/clients.py +2 -0
  28. pygeai/assistant/rag/clients.py +11 -0
  29. pygeai/chat/clients.py +191 -25
  30. pygeai/chat/endpoints.py +2 -1
  31. pygeai/cli/commands/chat.py +227 -1
  32. pygeai/cli/commands/embeddings.py +56 -8
  33. pygeai/cli/commands/migrate.py +994 -434
  34. pygeai/cli/error_handler.py +116 -0
  35. pygeai/cli/geai.py +28 -10
  36. pygeai/cli/parsers.py +8 -2
  37. pygeai/core/base/clients.py +3 -1
  38. pygeai/core/common/exceptions.py +11 -10
  39. pygeai/core/embeddings/__init__.py +19 -0
  40. pygeai/core/embeddings/clients.py +17 -2
  41. pygeai/core/embeddings/mappers.py +16 -2
  42. pygeai/core/embeddings/responses.py +9 -2
  43. pygeai/core/feedback/clients.py +1 -0
  44. pygeai/core/files/clients.py +5 -7
  45. pygeai/core/files/managers.py +42 -0
  46. pygeai/core/llm/clients.py +4 -0
  47. pygeai/core/plugins/clients.py +1 -0
  48. pygeai/core/rerank/clients.py +1 -0
  49. pygeai/core/secrets/clients.py +6 -0
  50. pygeai/core/services/rest.py +1 -1
  51. pygeai/dbg/__init__.py +3 -0
  52. pygeai/dbg/debugger.py +565 -70
  53. pygeai/evaluation/clients.py +1 -1
  54. pygeai/evaluation/dataset/clients.py +45 -44
  55. pygeai/evaluation/plan/clients.py +27 -26
  56. pygeai/evaluation/result/clients.py +37 -5
  57. pygeai/gam/clients.py +4 -0
  58. pygeai/health/clients.py +1 -0
  59. pygeai/lab/agents/clients.py +8 -1
  60. pygeai/lab/models.py +3 -3
  61. pygeai/lab/processes/clients.py +21 -0
  62. pygeai/lab/strategies/clients.py +4 -0
  63. pygeai/lab/tools/clients.py +1 -0
  64. pygeai/migration/__init__.py +31 -0
  65. pygeai/migration/strategies.py +404 -155
  66. pygeai/migration/tools.py +170 -3
  67. pygeai/organization/clients.py +13 -0
  68. pygeai/organization/limits/clients.py +15 -0
  69. pygeai/proxy/clients.py +3 -1
  70. pygeai/tests/admin/test_clients.py +16 -11
  71. pygeai/tests/assistants/rag/test_clients.py +35 -23
  72. pygeai/tests/assistants/test_clients.py +22 -15
  73. pygeai/tests/auth/test_clients.py +14 -6
  74. pygeai/tests/chat/test_clients.py +211 -1
  75. pygeai/tests/cli/commands/test_embeddings.py +32 -9
  76. pygeai/tests/cli/commands/test_evaluation.py +7 -0
  77. pygeai/tests/cli/commands/test_migrate.py +112 -243
  78. pygeai/tests/cli/test_error_handler.py +225 -0
  79. pygeai/tests/cli/test_geai_driver.py +154 -0
  80. pygeai/tests/cli/test_parsers.py +5 -5
  81. pygeai/tests/core/embeddings/test_clients.py +144 -0
  82. pygeai/tests/core/embeddings/test_managers.py +171 -0
  83. pygeai/tests/core/embeddings/test_mappers.py +142 -0
  84. pygeai/tests/core/feedback/test_clients.py +2 -0
  85. pygeai/tests/core/files/test_clients.py +1 -0
  86. pygeai/tests/core/llm/test_clients.py +14 -9
  87. pygeai/tests/core/plugins/test_clients.py +5 -3
  88. pygeai/tests/core/rerank/test_clients.py +1 -0
  89. pygeai/tests/core/secrets/test_clients.py +19 -13
  90. pygeai/tests/dbg/test_debugger.py +453 -75
  91. pygeai/tests/evaluation/dataset/test_clients.py +3 -1
  92. pygeai/tests/evaluation/plan/test_clients.py +4 -2
  93. pygeai/tests/evaluation/result/test_clients.py +7 -5
  94. pygeai/tests/gam/test_clients.py +1 -1
  95. pygeai/tests/health/test_clients.py +1 -0
  96. pygeai/tests/lab/agents/test_clients.py +9 -0
  97. pygeai/tests/lab/processes/test_clients.py +36 -0
  98. pygeai/tests/lab/processes/test_mappers.py +3 -0
  99. pygeai/tests/lab/strategies/test_clients.py +14 -9
  100. pygeai/tests/migration/test_strategies.py +45 -218
  101. pygeai/tests/migration/test_tools.py +133 -9
  102. pygeai/tests/organization/limits/test_clients.py +17 -0
  103. pygeai/tests/organization/test_clients.py +22 -0
  104. pygeai/tests/proxy/test_clients.py +2 -0
  105. pygeai/tests/proxy/test_integration.py +1 -0
  106. pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
  107. pygeai/tests/snippets/chat/get_response.py +15 -0
  108. pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
  109. pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
  110. pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
  111. pygeai/tests/snippets/dbg/__init__.py +0 -0
  112. pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
  113. pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
  114. pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
  115. pygeai/tests/snippets/dbg/stepping_example.py +40 -0
  116. pygeai/tests/snippets/embeddings/cache_example.py +31 -0
  117. pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
  118. pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
  119. pygeai/tests/snippets/embeddings/openai_example.py +30 -0
  120. pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
  121. pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
  122. pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
  123. pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
  124. pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
  125. pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
  126. pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
  127. pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
  128. pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
  129. pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
  130. pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
  131. pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
  132. pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
  133. pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
  134. pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
  135. pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
  136. pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
  137. pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
  138. pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
  139. pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
  140. pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
  141. pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
  142. pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
  143. pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
  144. pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
  145. pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
  146. pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
  147. pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
  148. pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
  149. pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
  150. pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
  151. pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
  152. pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
  153. pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
  154. pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
  155. pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
  156. pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
  157. pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
  158. pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
  159. pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
  160. pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
  161. pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
  162. pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
  163. pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
  164. pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
  165. pygeai/tests/snippets/migrate/__init__.py +45 -0
  166. pygeai/tests/snippets/migrate/agent_migration.py +110 -0
  167. pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
  168. pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
  169. pygeai/tests/snippets/migrate/process_migration.py +64 -0
  170. pygeai/tests/snippets/migrate/project_migration.py +42 -0
  171. pygeai/tests/snippets/migrate/tool_migration.py +64 -0
  172. pygeai/tests/snippets/organization/create_project.py +2 -2
  173. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/METADATA +1 -1
  174. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/RECORD +178 -96
  175. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/WHEEL +0 -0
  176. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/entry_points.txt +0 -0
  177. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/licenses/LICENSE +0 -0
  178. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/top_level.txt +0 -0
@@ -8,23 +8,45 @@
8
8
 
9
9
  import os
10
10
  import sys
11
+ from datetime import datetime
12
+
11
13
  sys.path.insert(0, os.path.abspath('../..'))
12
14
 
15
+ # Import version from package
16
+ import pygeai
13
17
 
14
18
  project = 'PyGEAI'
15
- copyright = '2024, Globant'
16
19
  author = 'Globant'
17
- release = 'v0.1.1'
20
+ copyright = f'{datetime.now().year}, {author}'
21
+ release = pygeai.__version__
22
+ version = '.'.join(release.split('.')[:2]) # e.g., '0.6' from '0.6.0'
18
23
 
19
24
  # -- General configuration ---------------------------------------------------
20
25
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
21
26
 
22
- extensions = ['sphinx.ext.autodoc', 'sphinx_markdown_builder']
27
+ extensions = [
28
+ 'sphinx.ext.autodoc', # Auto-generate docs from docstrings
29
+ 'sphinx.ext.napoleon', # Support for Google/NumPy style docstrings
30
+ 'sphinx.ext.viewcode', # Add links to source code
31
+ 'sphinx.ext.intersphinx', # Link to other project documentation
32
+ 'sphinx.ext.autosummary', # Generate summary tables
33
+ 'sphinx_markdown_builder', # Build markdown output
34
+ ]
23
35
 
24
36
  templates_path = ['_templates']
25
- exclude_patterns = []
37
+ exclude_patterns = [
38
+ '_build',
39
+ 'Thumbs.db',
40
+ '.DS_Store',
41
+ ]
26
42
 
43
+ # Language
44
+ language = 'en'
27
45
 
46
+ # Suppress specific warnings
47
+ suppress_warnings = [
48
+ 'ref.duplicate', # Suppress duplicate implicit target warnings
49
+ ]
28
50
 
29
51
  # -- Options for HTML output -------------------------------------------------
30
52
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
@@ -32,14 +54,64 @@ exclude_patterns = []
32
54
  html_theme = 'sphinx_rtd_theme'
33
55
  html_static_path = ['_static']
34
56
 
35
- # Custom
57
+ # Theme options
58
+ html_theme_options = {
59
+ 'logo_only': False,
60
+ 'display_version': True,
61
+ 'prev_next_buttons_location': 'bottom',
62
+ 'style_external_links': True,
63
+ 'collapse_navigation': False,
64
+ 'sticky_navigation': True,
65
+ 'navigation_depth': 4,
66
+ 'includehidden': True,
67
+ 'titles_only': False,
68
+ }
69
+
70
+ # HTML metadata
71
+ html_title = f'{project} v{release} Documentation'
72
+ html_short_title = f'{project} v{version}'
36
73
  html_show_sourcelink = False
37
74
  html_show_sphinx = False
38
75
 
76
+ # -- Autodoc configuration ---------------------------------------------------
77
+
39
78
  autodoc_default_options = {
40
79
  'members': True,
41
- 'undoc-members': True,
80
+ 'member-order': 'bysource',
81
+ 'special-members': '__init__',
82
+ 'undoc-members': False, # Hide undocumented members
83
+ 'exclude-members': '__weakref__',
42
84
  'show-inheritance': True,
85
+ 'inherited-members': False,
43
86
  }
44
87
 
88
+ # Type hints configuration
89
+ autodoc_typehints = 'description'
90
+ autodoc_typehints_description_target = 'documented'
91
+
92
+ # Mock imports for packages not available during build
45
93
  autodoc_mock_imports = []
94
+
95
+ # -- Intersphinx configuration -----------------------------------------------
96
+
97
+ intersphinx_mapping = {
98
+ 'python': ('https://docs.python.org/3', None),
99
+ 'requests': ('https://requests.readthedocs.io/en/latest/', None),
100
+ }
101
+
102
+ # -- Napoleon configuration --------------------------------------------------
103
+
104
+ napoleon_google_docstring = True
105
+ napoleon_numpy_docstring = True
106
+ napoleon_include_init_with_doc = True
107
+ napoleon_include_private_with_doc = False
108
+ napoleon_include_special_with_doc = True
109
+ napoleon_use_admonition_for_examples = False
110
+ napoleon_use_admonition_for_notes = False
111
+ napoleon_use_admonition_for_references = False
112
+ napoleon_use_ivar = False
113
+ napoleon_use_param = True
114
+ napoleon_use_rtype = True
115
+ napoleon_preprocess_types = False
116
+ napoleon_type_aliases = None
117
+ napoleon_attr_annotations = True
@@ -28,13 +28,43 @@ Use the following command to generate embeddings:
28
28
  geai emb generate \
29
29
  -i "<your_text_input>" \
30
30
  -i "<your_image_input>" \
31
- -m "<provider>/<model_name>"
31
+ -m "<provider>/<model_name>" \
32
+ --preview "1" \
33
+ --cache "0"
32
34
 
33
35
  Replace the placeholders with your desired values:
34
36
 
35
37
  * `<your_text_input>`: The text you want to generate an embedding for. For example: `"Help me with Globant Enterprise AI."`
36
38
  * `<your_image_input>`: The image data, encoded appropriately (e.g., base64). For example: `"image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGK6HcwNCAAA//8DTgE8HuxwEQAAAABJRU5ErkJggg=="`
37
39
  * `<provider>/<model_name>`: The provider and model to use for embedding generation. For example: `"awsbedrock/amazon.titan-embed-text-v1"`
40
+ * `--preview`: Display mode for embeddings output. Use `"1"` to show embedding previews (first 5 values), or `"0"` to show full embedding vectors. Default: `"1"`
41
+ * `--cache`: Enable or disable caching of embeddings. Use `"1"` to enable caching, or `"0"` to disable. Default: `"0"`
42
+
43
+ **Additional Options:**
44
+
45
+ * `--encoding-format`: Encoding format for embeddings (e.g., `"float"` or `"base64"`). Optional.
46
+ * `--dimensions`: Number of dimensions for the embedding vector. Optional.
47
+ * `--user`: User identifier for tracking purposes. Optional.
48
+ * `--input-type`: Type of input being processed. Optional.
49
+ * `--timeout`: Request timeout in seconds. Default: `600`
50
+
51
+ **Example with preview output:**
52
+
53
+ .. code-block:: shell
54
+
55
+ geai emb generate \
56
+ -i "Help me with Globant Enterprise AI" \
57
+ -m "awsbedrock/amazon.titan-embed-text-v1" \
58
+ --preview "1"
59
+
60
+ **Example with full embeddings:**
61
+
62
+ .. code-block:: shell
63
+
64
+ geai emb generate \
65
+ -i "Help me with Globant Enterprise AI" \
66
+ -m "awsbedrock/amazon.titan-embed-text-v1" \
67
+ --preview "0"
38
68
 
39
69
 
40
70
  Low level service layer