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.

Files changed (648) hide show
  1. pygeai/__init__.py +9 -1
  2. pygeai/_docs/Makefile +20 -0
  3. pygeai/_docs/make.bat +35 -0
  4. pygeai/_docs/source/conf.py +117 -0
  5. pygeai/_docs/source/content/ai_lab/cli.rst +747 -0
  6. pygeai/_docs/source/content/ai_lab/models.rst +1734 -0
  7. pygeai/_docs/source/content/ai_lab/runner.rst +253 -0
  8. pygeai/_docs/source/content/ai_lab/spec.rst +431 -0
  9. pygeai/_docs/source/content/ai_lab/usage.rst +1011 -0
  10. pygeai/_docs/source/content/ai_lab.rst +102 -0
  11. pygeai/_docs/source/content/analytics.rst +598 -0
  12. pygeai/_docs/source/content/api_reference/admin.rst +161 -0
  13. pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
  14. pygeai/_docs/source/content/api_reference/auth.rst +379 -0
  15. pygeai/_docs/source/content/api_reference/chat.rst +754 -0
  16. pygeai/_docs/source/content/api_reference/embeddings.rst +154 -0
  17. pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
  18. pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
  19. pygeai/_docs/source/content/api_reference/files.rst +592 -0
  20. pygeai/_docs/source/content/api_reference/gam.rst +401 -0
  21. pygeai/_docs/source/content/api_reference/health.rst +58 -0
  22. pygeai/_docs/source/content/api_reference/project.rst +738 -0
  23. pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
  24. pygeai/_docs/source/content/api_reference/rag.rst +710 -0
  25. pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
  26. pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
  27. pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
  28. pygeai/_docs/source/content/api_reference.rst +58 -0
  29. pygeai/_docs/source/content/authentication.rst +295 -0
  30. pygeai/_docs/source/content/chat_gui.rst +121 -0
  31. pygeai/_docs/source/content/cli.rst +203 -0
  32. pygeai/_docs/source/content/debugger.rst +651 -0
  33. pygeai/_docs/source/content/intro.rst +67 -0
  34. pygeai/_docs/source/content/migration.rst +929 -0
  35. pygeai/_docs/source/content/modules.rst +7 -0
  36. pygeai/_docs/source/content/quickstart.rst +143 -0
  37. pygeai/_docs/source/content/samples.rst +394 -0
  38. pygeai/_docs/source/index.rst +75 -0
  39. pygeai/_docs/source/modules.rst +7 -0
  40. pygeai/_docs/source/pygeai.admin.rst +29 -0
  41. pygeai/_docs/source/pygeai.analytics.rst +53 -0
  42. pygeai/_docs/source/pygeai.assistant.data.rst +21 -0
  43. pygeai/_docs/source/pygeai.assistant.data_analyst.rst +29 -0
  44. pygeai/_docs/source/pygeai.assistant.rag.rst +53 -0
  45. pygeai/_docs/source/pygeai.assistant.rst +55 -0
  46. pygeai/_docs/source/pygeai.auth.rst +29 -0
  47. pygeai/_docs/source/pygeai.chat.rst +69 -0
  48. pygeai/_docs/source/pygeai.cli.commands.flows.rst +10 -0
  49. pygeai/_docs/source/pygeai.cli.commands.lab.rst +53 -0
  50. pygeai/_docs/source/pygeai.cli.commands.rst +222 -0
  51. pygeai/_docs/source/pygeai.cli.rst +62 -0
  52. pygeai/_docs/source/pygeai.cli.texts.rst +21 -0
  53. pygeai/_docs/source/pygeai.core.base.rst +53 -0
  54. pygeai/_docs/source/pygeai.core.common.rst +37 -0
  55. pygeai/_docs/source/pygeai.core.embeddings.rst +61 -0
  56. pygeai/_docs/source/pygeai.core.feedback.rst +37 -0
  57. pygeai/_docs/source/pygeai.core.files.rst +61 -0
  58. pygeai/_docs/source/pygeai.core.llm.rst +29 -0
  59. pygeai/_docs/source/pygeai.core.plugins.rst +37 -0
  60. pygeai/_docs/source/pygeai.core.rerank.rst +53 -0
  61. pygeai/_docs/source/pygeai.core.rst +63 -0
  62. pygeai/_docs/source/pygeai.core.secrets.rst +29 -0
  63. pygeai/_docs/source/pygeai.core.services.llm.rst +29 -0
  64. pygeai/_docs/source/pygeai.core.services.rst +37 -0
  65. pygeai/_docs/source/pygeai.core.utils.rst +37 -0
  66. pygeai/_docs/source/pygeai.dbg.rst +21 -0
  67. pygeai/_docs/source/pygeai.evaluation.dataset.rst +29 -0
  68. pygeai/_docs/source/pygeai.evaluation.plan.rst +29 -0
  69. pygeai/_docs/source/pygeai.evaluation.result.rst +29 -0
  70. pygeai/_docs/source/pygeai.evaluation.rst +31 -0
  71. pygeai/_docs/source/pygeai.flows.rst +29 -0
  72. pygeai/_docs/source/pygeai.gam.rst +29 -0
  73. pygeai/_docs/source/pygeai.health.rst +29 -0
  74. pygeai/_docs/source/pygeai.lab.agents.rst +37 -0
  75. pygeai/_docs/source/pygeai.lab.processes.rst +37 -0
  76. pygeai/_docs/source/pygeai.lab.rst +65 -0
  77. pygeai/_docs/source/pygeai.lab.spec.rst +29 -0
  78. pygeai/_docs/source/pygeai.lab.strategies.rst +37 -0
  79. pygeai/_docs/source/pygeai.lab.tools.rst +37 -0
  80. pygeai/_docs/source/pygeai.man.man1.rst +10 -0
  81. pygeai/_docs/source/pygeai.man.rst +18 -0
  82. pygeai/_docs/source/pygeai.migration.rst +29 -0
  83. pygeai/_docs/source/pygeai.organization.limits.rst +45 -0
  84. pygeai/_docs/source/pygeai.organization.rst +61 -0
  85. pygeai/_docs/source/pygeai.proxy.rst +53 -0
  86. pygeai/_docs/source/pygeai.rst +35 -0
  87. pygeai/_docs/source/pygeai.tests.admin.rst +21 -0
  88. pygeai/_docs/source/pygeai.tests.analytics.rst +45 -0
  89. pygeai/_docs/source/pygeai.tests.assistants.rag.rst +37 -0
  90. pygeai/_docs/source/pygeai.tests.assistants.rst +45 -0
  91. pygeai/_docs/source/pygeai.tests.auth.rst +29 -0
  92. pygeai/_docs/source/pygeai.tests.chat.rst +45 -0
  93. pygeai/_docs/source/pygeai.tests.cli.commands.lab.rst +37 -0
  94. pygeai/_docs/source/pygeai.tests.cli.commands.rst +165 -0
  95. pygeai/_docs/source/pygeai.tests.cli.docker.rst +10 -0
  96. pygeai/_docs/source/pygeai.tests.cli.rst +46 -0
  97. pygeai/_docs/source/pygeai.tests.core.base.data.rst +29 -0
  98. pygeai/_docs/source/pygeai.tests.core.base.rst +45 -0
  99. pygeai/_docs/source/pygeai.tests.core.common.data.rst +10 -0
  100. pygeai/_docs/source/pygeai.tests.core.common.rst +37 -0
  101. pygeai/_docs/source/pygeai.tests.core.embeddings.rst +37 -0
  102. pygeai/_docs/source/pygeai.tests.core.feedback.rst +21 -0
  103. pygeai/_docs/source/pygeai.tests.core.files.rst +53 -0
  104. pygeai/_docs/source/pygeai.tests.core.llm.rst +21 -0
  105. pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
  106. pygeai/_docs/source/pygeai.tests.core.rerank.rst +37 -0
  107. pygeai/_docs/source/pygeai.tests.core.rst +39 -0
  108. pygeai/_docs/source/pygeai.tests.core.secrets.rst +21 -0
  109. pygeai/_docs/source/pygeai.tests.core.services.rst +21 -0
  110. pygeai/_docs/source/pygeai.tests.core.utils.rst +21 -0
  111. pygeai/_docs/source/pygeai.tests.dbg.rst +21 -0
  112. pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
  113. pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
  114. pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
  115. pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
  116. pygeai/_docs/source/pygeai.tests.gam.rst +21 -0
  117. pygeai/_docs/source/pygeai.tests.health.rst +21 -0
  118. pygeai/_docs/source/pygeai.tests.integration.assistants.rag.rst +21 -0
  119. pygeai/_docs/source/pygeai.tests.integration.assistants.rst +18 -0
  120. pygeai/_docs/source/pygeai.tests.integration.chat.rst +21 -0
  121. pygeai/_docs/source/pygeai.tests.integration.lab.agents.rst +69 -0
  122. pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +77 -0
  123. pygeai/_docs/source/pygeai.tests.integration.lab.reasoning_strategies.rst +37 -0
  124. pygeai/_docs/source/pygeai.tests.integration.lab.rst +21 -0
  125. pygeai/_docs/source/pygeai.tests.integration.lab.tools.rst +77 -0
  126. pygeai/_docs/source/pygeai.tests.integration.rst +20 -0
  127. pygeai/_docs/source/pygeai.tests.lab.agents.rst +29 -0
  128. pygeai/_docs/source/pygeai.tests.lab.processes.rst +29 -0
  129. pygeai/_docs/source/pygeai.tests.lab.rst +49 -0
  130. pygeai/_docs/source/pygeai.tests.lab.spec.rst +29 -0
  131. pygeai/_docs/source/pygeai.tests.lab.strategies.rst +29 -0
  132. pygeai/_docs/source/pygeai.tests.lab.tools.rst +29 -0
  133. pygeai/_docs/source/pygeai.tests.migration.rst +29 -0
  134. pygeai/_docs/source/pygeai.tests.organization.limits.rst +29 -0
  135. pygeai/_docs/source/pygeai.tests.organization.rst +53 -0
  136. pygeai/_docs/source/pygeai.tests.proxy.rst +61 -0
  137. pygeai/_docs/source/pygeai.tests.rst +33 -0
  138. pygeai/admin/clients.py +14 -11
  139. pygeai/admin/endpoints.py +2 -2
  140. pygeai/analytics/clients.py +505 -0
  141. pygeai/analytics/endpoints.py +35 -0
  142. pygeai/analytics/managers.py +606 -0
  143. pygeai/analytics/mappers.py +207 -0
  144. pygeai/analytics/responses.py +240 -0
  145. pygeai/assistant/clients.py +18 -45
  146. pygeai/assistant/data/clients.py +1 -0
  147. pygeai/assistant/data_analyst/clients.py +8 -12
  148. pygeai/assistant/managers.py +195 -157
  149. pygeai/assistant/mappers.py +4 -2
  150. pygeai/assistant/rag/clients.py +27 -67
  151. pygeai/assistant/rag/mappers.py +12 -6
  152. pygeai/assistant/rag/models.py +301 -159
  153. pygeai/auth/__init__.py +0 -0
  154. pygeai/auth/clients.py +129 -0
  155. pygeai/auth/endpoints.py +6 -0
  156. pygeai/chat/clients.py +308 -37
  157. pygeai/chat/endpoints.py +3 -0
  158. pygeai/chat/iris.py +2 -8
  159. pygeai/chat/managers.py +9 -6
  160. pygeai/chat/session.py +38 -0
  161. pygeai/chat/settings.py +6 -0
  162. pygeai/chat/ui.py +678 -0
  163. pygeai/cli/__init__.py +0 -1
  164. pygeai/cli/commands/admin.py +7 -10
  165. pygeai/cli/commands/analytics.py +533 -0
  166. pygeai/cli/commands/assistant.py +9 -9
  167. pygeai/cli/commands/auth.py +299 -0
  168. pygeai/cli/commands/base.py +71 -9
  169. pygeai/cli/commands/chat.py +676 -19
  170. pygeai/cli/commands/common.py +28 -24
  171. pygeai/cli/commands/configuration.py +66 -13
  172. pygeai/cli/commands/docs.py +105 -0
  173. pygeai/cli/commands/embeddings.py +58 -11
  174. pygeai/cli/commands/evaluation.py +38 -38
  175. pygeai/cli/commands/feedback.py +3 -4
  176. pygeai/cli/commands/files.py +7 -8
  177. pygeai/cli/commands/gam.py +85 -10
  178. pygeai/cli/commands/lab/ai_lab.py +340 -484
  179. pygeai/cli/commands/lab/options.py +8 -0
  180. pygeai/cli/commands/lab/spec.py +273 -0
  181. pygeai/cli/commands/lab/utils.py +13 -0
  182. pygeai/cli/commands/llm.py +6 -7
  183. pygeai/cli/commands/migrate.py +1064 -436
  184. pygeai/cli/commands/organization.py +516 -11
  185. pygeai/cli/commands/rag.py +13 -14
  186. pygeai/cli/commands/rerank.py +3 -5
  187. pygeai/cli/commands/secrets.py +8 -9
  188. pygeai/cli/commands/usage_limits.py +18 -20
  189. pygeai/cli/commands/validators.py +144 -1
  190. pygeai/cli/commands/version.py +4 -5
  191. pygeai/cli/error_handler.py +151 -0
  192. pygeai/cli/geai.py +170 -31
  193. pygeai/cli/geai_proxy.py +86 -25
  194. pygeai/cli/install_man.py +93 -22
  195. pygeai/cli/parsers.py +75 -25
  196. pygeai/cli/texts/help.py +265 -28
  197. pygeai/core/base/clients.py +53 -12
  198. pygeai/core/base/mappers.py +11 -2
  199. pygeai/core/base/session.py +95 -11
  200. pygeai/core/common/config.py +78 -14
  201. pygeai/core/common/exceptions.py +96 -6
  202. pygeai/core/embeddings/__init__.py +19 -0
  203. pygeai/core/embeddings/clients.py +23 -5
  204. pygeai/core/embeddings/managers.py +9 -4
  205. pygeai/core/embeddings/mappers.py +16 -2
  206. pygeai/core/embeddings/responses.py +9 -2
  207. pygeai/core/feedback/clients.py +8 -3
  208. pygeai/core/files/clients.py +23 -24
  209. pygeai/core/files/managers.py +121 -30
  210. pygeai/core/files/responses.py +4 -3
  211. pygeai/core/handlers.py +10 -1
  212. pygeai/core/llm/clients.py +22 -29
  213. pygeai/core/models.py +127 -11
  214. pygeai/core/plugins/clients.py +6 -6
  215. pygeai/core/rerank/clients.py +9 -3
  216. pygeai/core/rerank/managers.py +22 -5
  217. pygeai/core/secrets/clients.py +16 -37
  218. pygeai/core/services/response.py +18 -0
  219. pygeai/core/services/rest.py +159 -49
  220. pygeai/core/utils/__init__.py +0 -0
  221. pygeai/core/utils/console.py +83 -0
  222. pygeai/core/utils/parsers.py +32 -0
  223. pygeai/core/utils/validators.py +10 -0
  224. pygeai/dbg/__init__.py +3 -0
  225. pygeai/dbg/debugger.py +854 -14
  226. pygeai/evaluation/clients.py +7 -4
  227. pygeai/evaluation/dataset/clients.py +46 -44
  228. pygeai/evaluation/plan/clients.py +28 -26
  229. pygeai/evaluation/result/clients.py +38 -5
  230. pygeai/gam/clients.py +50 -28
  231. pygeai/gam/endpoints.py +2 -1
  232. pygeai/health/__init__.py +0 -0
  233. pygeai/health/clients.py +24 -0
  234. pygeai/health/endpoints.py +1 -0
  235. pygeai/lab/__init__.py +0 -90
  236. pygeai/lab/agents/clients.py +203 -162
  237. pygeai/lab/agents/endpoints.py +4 -0
  238. pygeai/lab/agents/mappers.py +57 -7
  239. pygeai/lab/clients.py +24 -0
  240. pygeai/lab/constants.py +3 -0
  241. pygeai/lab/managers.py +571 -541
  242. pygeai/lab/models.py +108 -19
  243. pygeai/lab/processes/clients.py +332 -340
  244. pygeai/lab/processes/mappers.py +3 -3
  245. pygeai/lab/runners.py +90 -0
  246. pygeai/lab/spec/__init__.py +0 -0
  247. pygeai/lab/spec/loader.py +24 -0
  248. pygeai/lab/spec/parsers.py +39 -0
  249. pygeai/lab/strategies/clients.py +67 -63
  250. pygeai/lab/strategies/mappers.py +1 -1
  251. pygeai/lab/tools/clients.py +85 -118
  252. pygeai/lab/tools/endpoints.py +4 -0
  253. pygeai/lab/tools/mappers.py +5 -5
  254. pygeai/man/man1/geai-proxy.1 +116 -0
  255. pygeai/man/man1/geai.1 +2580 -66
  256. pygeai/migration/__init__.py +33 -0
  257. pygeai/migration/strategies.py +468 -146
  258. pygeai/migration/tools.py +170 -3
  259. pygeai/organization/clients.py +245 -50
  260. pygeai/organization/endpoints.py +17 -8
  261. pygeai/organization/limits/clients.py +34 -32
  262. pygeai/organization/limits/managers.py +108 -49
  263. pygeai/organization/managers.py +347 -53
  264. pygeai/organization/mappers.py +102 -2
  265. pygeai/organization/responses.py +58 -1
  266. pygeai/proxy/clients.py +6 -3
  267. pygeai/proxy/config.py +14 -1
  268. pygeai/proxy/managers.py +61 -33
  269. pygeai/proxy/servers.py +196 -51
  270. pygeai/proxy/tool.py +33 -16
  271. pygeai/tests/admin/__init__.py +0 -0
  272. pygeai/tests/admin/test_clients.py +148 -0
  273. pygeai/tests/analytics/__init__.py +0 -0
  274. pygeai/tests/analytics/test_clients.py +86 -0
  275. pygeai/tests/analytics/test_managers.py +94 -0
  276. pygeai/tests/analytics/test_mappers.py +84 -0
  277. pygeai/tests/analytics/test_responses.py +73 -0
  278. pygeai/tests/assistants/rag/test_clients.py +346 -0
  279. pygeai/tests/assistants/rag/test_models.py +292 -0
  280. pygeai/tests/assistants/test_clients.py +176 -82
  281. pygeai/tests/assistants/test_managers.py +191 -57
  282. pygeai/tests/auth/__init__.py +0 -0
  283. pygeai/tests/auth/test_clients.py +289 -0
  284. pygeai/tests/auth/test_oauth.py +172 -0
  285. pygeai/tests/auth/test_session_logging.py +150 -0
  286. pygeai/tests/chat/__init__.py +0 -0
  287. pygeai/tests/chat/test_clients.py +393 -0
  288. pygeai/tests/chat/test_iris.py +38 -0
  289. pygeai/tests/chat/test_session.py +62 -0
  290. pygeai/tests/chat/test_ui.py +224 -0
  291. pygeai/tests/cli/commands/__init__.py +0 -0
  292. pygeai/tests/cli/commands/lab/__init__.py +0 -0
  293. pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
  294. pygeai/tests/cli/commands/lab/test_common.py +208 -0
  295. pygeai/tests/cli/commands/lab/test_spec.py +246 -0
  296. pygeai/tests/cli/commands/test_assistant.py +202 -0
  297. pygeai/tests/cli/commands/test_chat.py +130 -0
  298. pygeai/tests/cli/commands/test_common.py +350 -0
  299. pygeai/tests/cli/commands/test_embeddings.py +132 -0
  300. pygeai/tests/cli/commands/test_evaluation.py +656 -0
  301. pygeai/tests/cli/commands/test_feedback.py +65 -0
  302. pygeai/tests/cli/commands/test_files.py +161 -0
  303. pygeai/tests/cli/commands/test_gam.py +201 -0
  304. pygeai/tests/cli/commands/test_llm.py +114 -0
  305. pygeai/tests/cli/commands/test_migrate.py +176 -0
  306. pygeai/tests/cli/commands/test_organization.py +276 -0
  307. pygeai/tests/cli/commands/test_rag.py +266 -0
  308. pygeai/tests/cli/commands/test_rerank.py +110 -0
  309. pygeai/tests/cli/commands/test_secrets.py +171 -0
  310. pygeai/tests/cli/commands/test_show_help.py +41 -0
  311. pygeai/tests/cli/commands/test_usage_limits.py +412 -0
  312. pygeai/tests/cli/commands/test_validators.py +160 -0
  313. pygeai/tests/cli/commands/test_version.py +81 -0
  314. pygeai/tests/cli/docker/__init__.py +0 -0
  315. pygeai/tests/cli/test_credentials_flag.py +316 -0
  316. pygeai/tests/cli/test_error_handler.py +225 -0
  317. pygeai/tests/cli/test_geai_driver.py +154 -0
  318. pygeai/tests/cli/test_parsers.py +5 -5
  319. pygeai/tests/core/base/data/models.py +7 -0
  320. pygeai/tests/core/base/test_mappers.py +43 -11
  321. pygeai/tests/core/base/test_models.py +3 -1
  322. pygeai/tests/core/base/test_responses.py +53 -0
  323. pygeai/tests/core/common/__init__.py +0 -0
  324. pygeai/tests/core/common/data/__init__.py +0 -0
  325. pygeai/tests/core/common/test_config.py +186 -0
  326. pygeai/tests/core/common/test_decorators.py +69 -0
  327. pygeai/tests/core/embeddings/__init__.py +0 -0
  328. pygeai/tests/core/embeddings/test_clients.py +225 -0
  329. pygeai/tests/core/embeddings/test_managers.py +171 -0
  330. pygeai/tests/core/embeddings/test_mappers.py +142 -0
  331. pygeai/tests/core/feedback/__init__.py +0 -0
  332. pygeai/tests/core/feedback/test_clients.py +64 -0
  333. pygeai/tests/core/files/test_clients.py +128 -0
  334. pygeai/tests/core/files/test_managers.py +124 -78
  335. pygeai/tests/core/files/test_mappers.py +137 -0
  336. pygeai/tests/core/files/test_models.py +103 -0
  337. pygeai/tests/core/files/test_responses.py +122 -0
  338. pygeai/tests/core/llm/__init__.py +0 -0
  339. pygeai/tests/core/llm/test_clients.py +142 -0
  340. pygeai/tests/core/plugins/__init__.py +0 -0
  341. pygeai/tests/core/plugins/test_clients.py +66 -0
  342. pygeai/tests/core/rerank/test_clients.py +76 -0
  343. pygeai/tests/core/rerank/test_managers.py +61 -39
  344. pygeai/tests/core/secrets/__init__.py +0 -0
  345. pygeai/tests/core/secrets/test_clients.py +264 -0
  346. pygeai/tests/core/services/__init__.py +0 -0
  347. pygeai/tests/core/services/test_rest.py +273 -0
  348. pygeai/tests/core/test_handlers.py +66 -0
  349. pygeai/tests/core/utils/__init__.py +0 -0
  350. pygeai/tests/core/utils/test_console.py +80 -0
  351. pygeai/tests/dbg/__init__.py +0 -0
  352. pygeai/tests/dbg/test_debugger.py +591 -0
  353. pygeai/tests/evaluation/__init__.py +0 -0
  354. pygeai/tests/evaluation/dataset/__init__.py +0 -0
  355. pygeai/tests/evaluation/dataset/test_clients.py +265 -0
  356. pygeai/tests/evaluation/plan/__init__.py +0 -0
  357. pygeai/tests/evaluation/plan/test_clients.py +195 -0
  358. pygeai/tests/evaluation/result/__init__.py +0 -0
  359. pygeai/tests/evaluation/result/test_clients.py +66 -0
  360. pygeai/tests/gam/__init__.py +0 -0
  361. pygeai/tests/gam/test_clients.py +195 -0
  362. pygeai/tests/health/__init__.py +0 -0
  363. pygeai/tests/health/test_clients.py +41 -0
  364. pygeai/tests/integration/__init__.py +0 -0
  365. pygeai/tests/integration/assistants/__init__.py +0 -0
  366. pygeai/tests/integration/assistants/rag/__init__.py +0 -0
  367. pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
  368. pygeai/tests/integration/chat/__init__.py +0 -0
  369. pygeai/tests/integration/chat/test_generate_image.py +158 -0
  370. pygeai/tests/integration/lab/__init__.py +0 -0
  371. pygeai/tests/integration/lab/agents/__init__.py +0 -0
  372. pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
  373. pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
  374. pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
  375. pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
  376. pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
  377. pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
  378. pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
  379. pygeai/tests/integration/lab/processes/__init__.py +0 -0
  380. pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
  381. pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
  382. pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
  383. pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
  384. pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
  385. pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
  386. pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
  387. pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
  388. pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
  389. pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
  390. pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
  391. pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
  392. pygeai/tests/integration/lab/tools/__init__.py +0 -0
  393. pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
  394. pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
  395. pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
  396. pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
  397. pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
  398. pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
  399. pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
  400. pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
  401. pygeai/tests/lab/agents/__init__.py +0 -0
  402. pygeai/tests/lab/agents/test_clients.py +481 -0
  403. pygeai/tests/lab/agents/test_mappers.py +440 -0
  404. pygeai/tests/lab/processes/__init__.py +0 -0
  405. pygeai/tests/lab/processes/test_clients.py +1416 -0
  406. pygeai/tests/lab/processes/test_mappers.py +1092 -0
  407. pygeai/tests/lab/spec/__init__.py +0 -0
  408. pygeai/tests/lab/spec/test_loader.py +59 -0
  409. pygeai/tests/lab/spec/test_parsers.py +182 -0
  410. pygeai/tests/lab/strategies/__init__.py +0 -0
  411. pygeai/tests/lab/strategies/test_clients.py +241 -0
  412. pygeai/tests/lab/strategies/test_mappers.py +132 -0
  413. pygeai/tests/lab/test_managers.py +553 -0
  414. pygeai/tests/lab/test_models.py +500 -3
  415. pygeai/tests/lab/tools/__init__.py +0 -0
  416. pygeai/tests/lab/tools/test_clients.py +521 -0
  417. pygeai/tests/lab/tools/test_mappers.py +198 -0
  418. pygeai/tests/migration/__init__.py +0 -0
  419. pygeai/tests/migration/test_strategies.py +405 -0
  420. pygeai/tests/migration/test_tools.py +159 -0
  421. pygeai/tests/organization/limits/test_clients.py +567 -0
  422. pygeai/tests/organization/limits/test_managers.py +298 -56
  423. pygeai/tests/organization/test_clients.py +600 -30
  424. pygeai/tests/organization/test_managers.py +424 -0
  425. pygeai/tests/organization/test_mappers.py +153 -0
  426. pygeai/tests/organization/test_responses.py +137 -0
  427. pygeai/tests/proxy/__init__.py +1 -0
  428. pygeai/tests/proxy/test_clients.py +397 -0
  429. pygeai/tests/proxy/test_config.py +171 -0
  430. pygeai/tests/proxy/test_integration.py +305 -0
  431. pygeai/tests/proxy/test_managers.py +312 -0
  432. pygeai/tests/proxy/test_servers.py +387 -0
  433. pygeai/tests/proxy/test_tool.py +176 -0
  434. pygeai/tests/snippets/analytics/__init__.py +0 -0
  435. pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
  436. pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
  437. pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
  438. pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
  439. pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
  440. pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
  441. pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
  442. pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
  443. pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
  444. pygeai/tests/snippets/auth/__init__.py +0 -0
  445. pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
  446. pygeai/tests/snippets/chat/get_response.py +15 -0
  447. pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
  448. pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
  449. pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
  450. pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
  451. pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
  452. pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
  453. pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
  454. pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
  455. pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
  456. pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
  457. pygeai/tests/snippets/dbg/__init__.py +0 -0
  458. pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
  459. pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
  460. pygeai/tests/snippets/dbg/file_debugging.py +72 -0
  461. pygeai/tests/snippets/dbg/module_debugging.py +61 -0
  462. pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
  463. pygeai/tests/snippets/dbg/stepping_example.py +40 -0
  464. pygeai/tests/snippets/embeddings/cache_example.py +31 -0
  465. pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
  466. pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
  467. pygeai/tests/snippets/embeddings/openai_example.py +30 -0
  468. pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
  469. pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
  470. pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
  471. pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
  472. pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
  473. pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
  474. pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
  475. pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
  476. pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
  477. pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
  478. pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
  479. pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
  480. pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
  481. pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
  482. pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
  483. pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
  484. pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
  485. pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
  486. pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
  487. pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
  488. pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
  489. pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
  490. pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
  491. pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
  492. pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
  493. pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
  494. pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
  495. pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
  496. pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
  497. pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
  498. pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
  499. pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
  500. pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
  501. pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
  502. pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
  503. pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
  504. pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
  505. pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
  506. pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
  507. pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
  508. pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
  509. pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
  510. pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
  511. pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
  512. pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
  513. pygeai/tests/snippets/files/delete_file.py +1 -4
  514. pygeai/tests/snippets/files/get_file_content.py +2 -4
  515. pygeai/tests/snippets/files/get_file_data.py +1 -4
  516. pygeai/tests/snippets/files/get_file_list.py +1 -6
  517. pygeai/tests/snippets/files/upload_file.py +1 -5
  518. pygeai/tests/snippets/gam/gam_access_token.py +87 -0
  519. pygeai/tests/snippets/lab/agentic_flow_example_1.py +25 -23
  520. pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
  521. pygeai/tests/snippets/lab/agents/create_agent.py +5 -8
  522. pygeai/tests/snippets/lab/agents/create_agent_2.py +1 -5
  523. pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
  524. pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
  525. pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
  526. pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
  527. pygeai/tests/snippets/lab/agents/delete_agent.py +1 -5
  528. pygeai/tests/snippets/lab/agents/get_agent.py +2 -11
  529. pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
  530. pygeai/tests/snippets/lab/agents/get_sharing_link.py +2 -7
  531. pygeai/tests/snippets/lab/agents/list_agents.py +4 -7
  532. pygeai/tests/snippets/lab/agents/publish_agent_revision.py +2 -6
  533. pygeai/tests/snippets/lab/agents/update_agent.py +1 -5
  534. pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
  535. pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
  536. pygeai/tests/snippets/lab/crud_ui.py +462 -0
  537. pygeai/tests/snippets/lab/processes/create_process.py +3 -5
  538. pygeai/tests/snippets/lab/processes/create_task.py +3 -5
  539. pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +10 -19
  540. pygeai/tests/snippets/lab/processes/kbs/create_kb.py +2 -5
  541. pygeai/tests/snippets/lab/processes/kbs/get_kb.py +10 -16
  542. pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +13 -20
  543. pygeai/tests/snippets/lab/processes/kbs/try_all.py +5 -7
  544. pygeai/tests/snippets/lab/processes/list_processes.py +5 -7
  545. pygeai/tests/snippets/lab/runner_1.py +1 -1
  546. pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
  547. pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +2 -5
  548. pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +2 -5
  549. pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +3 -6
  550. pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +2 -5
  551. pygeai/tests/snippets/lab/tools/create_tool.py +4 -10
  552. pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
  553. pygeai/tests/snippets/lab/tools/delete_tool.py +2 -6
  554. pygeai/tests/snippets/lab/tools/get_parameter.py +5 -7
  555. pygeai/tests/snippets/lab/tools/get_tool.py +5 -7
  556. pygeai/tests/snippets/lab/tools/list_tools.py +3 -7
  557. pygeai/tests/snippets/lab/tools/publish_tool_revision.py +3 -5
  558. pygeai/tests/snippets/lab/tools/set_parameters.py +4 -9
  559. pygeai/tests/snippets/lab/tools/update_tool.py +4 -8
  560. pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
  561. pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
  562. pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
  563. pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
  564. pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
  565. pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
  566. pygeai/tests/snippets/lab/{file_summarizer_example.py → use_cases/file_summarizer_example.py} +3 -3
  567. pygeai/tests/snippets/lab/{file_summarizer_example_2.py → use_cases/file_summarizer_example_2.py} +12 -12
  568. pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
  569. pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
  570. pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
  571. pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
  572. pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
  573. pygeai/tests/snippets/migrate/__init__.py +45 -0
  574. pygeai/tests/snippets/migrate/agent_migration.py +110 -0
  575. pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
  576. pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
  577. pygeai/tests/snippets/migrate/process_migration.py +64 -0
  578. pygeai/tests/snippets/migrate/project_migration.py +42 -0
  579. pygeai/tests/snippets/migrate/tool_migration.py +64 -0
  580. pygeai/tests/snippets/organization/add_project_member.py +10 -0
  581. pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
  582. pygeai/tests/snippets/organization/create_project.py +2 -2
  583. pygeai/tests/snippets/organization/get_memberships.py +12 -0
  584. pygeai/tests/snippets/organization/get_organization_members.py +6 -0
  585. pygeai/tests/snippets/organization/get_project_members.py +6 -0
  586. pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
  587. pygeai/tests/snippets/organization/get_project_roles.py +6 -0
  588. pygeai/vendor/a2a/__init__.py +1 -0
  589. pygeai/vendor/a2a/auth/__init__.py +0 -0
  590. pygeai/vendor/a2a/auth/user.py +31 -0
  591. pygeai/vendor/a2a/client/__init__.py +19 -0
  592. pygeai/vendor/a2a/client/client.py +425 -0
  593. pygeai/vendor/a2a/client/errors.py +33 -0
  594. pygeai/vendor/a2a/client/helpers.py +22 -0
  595. pygeai/vendor/a2a/py.typed +0 -0
  596. pygeai/vendor/a2a/server/__init__.py +1 -0
  597. pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
  598. pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
  599. pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
  600. pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
  601. pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
  602. pygeai/vendor/a2a/server/apps/__init__.py +16 -0
  603. pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
  604. pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
  605. pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
  606. pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
  607. pygeai/vendor/a2a/server/context.py +23 -0
  608. pygeai/vendor/a2a/server/events/__init__.py +21 -0
  609. pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
  610. pygeai/vendor/a2a/server/events/event_queue.py +156 -0
  611. pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
  612. pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
  613. pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
  614. pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
  615. pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
  616. pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
  617. pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
  618. pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
  619. pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
  620. pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
  621. pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
  622. pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
  623. pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
  624. pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
  625. pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
  626. pygeai/vendor/a2a/types.py +1624 -0
  627. pygeai/vendor/a2a/utils/__init__.py +40 -0
  628. pygeai/vendor/a2a/utils/artifact.py +72 -0
  629. pygeai/vendor/a2a/utils/errors.py +69 -0
  630. pygeai/vendor/a2a/utils/helpers.py +176 -0
  631. pygeai/vendor/a2a/utils/message.py +83 -0
  632. pygeai/vendor/a2a/utils/task.py +57 -0
  633. pygeai/vendor/a2a/utils/telemetry.py +299 -0
  634. pygeai-0.6.0b15.dist-info/METADATA +205 -0
  635. pygeai-0.6.0b15.dist-info/RECORD +799 -0
  636. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
  637. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/entry_points.txt +2 -1
  638. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/licenses/LICENSE +13 -1
  639. pygeai-0.6.0b15.dist-info/top_level.txt +1 -0
  640. docs/geai-proxy/README.md +0 -145
  641. docs/source/conf.py +0 -45
  642. pygeai/tests/core/test_managers.py +0 -233
  643. pygeai-0.1.51b3.dist-info/METADATA +0 -130
  644. pygeai-0.1.51b3.dist-info/RECORD +0 -324
  645. pygeai-0.1.51b3.dist-info/top_level.txt +0 -3
  646. scripts/bump_beta_version.py +0 -56
  647. {scripts → pygeai/analytics}/__init__.py +0 -0
  648. /pygeai/tests/snippets/lab/{c_code_fixer_agent_flow.py → use_cases/c_code_fixer_agent_flow.py} +0 -0
@@ -0,0 +1,1640 @@
1
+ from pygeai.lab.managers import AILabManager
2
+ from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig, Model, Sampling, PromptExample, PromptOutput
3
+ import uuid
4
+
5
+ GEAI_CLI_HELP = """
6
+
7
+ GEAI CLI
8
+ --------
9
+
10
+
11
+ SYNOPSIS
12
+ geai <command> [<subcommand>] [--option] [option-arg]
13
+
14
+ DESCRIPTION
15
+ geai is a cli utility that interacts with the PyGEAI SDK to handle common tasks in Globant Enterprise AI,
16
+ such as creating organizations and projects, defining assistants, managing workflows, etc.
17
+
18
+ The available subcommands are as follows:
19
+ help or h Display help text
20
+ version or v Display version text
21
+ check-updates or cu Search for available updates
22
+
23
+ configure or config or c Setup the environment variables required to interact with GEAI
24
+ --key or -k Set GEAI API KEY
25
+ --url or -u Set GEAI API BASE URL
26
+ --eval-url or --eu Set GEAI API EVAL URL for the evaluation module
27
+ --alias or -a Set alias for settings section
28
+ --list or -l List available alias
29
+ organization or org Invoke organization endpoints to handle project parameters
30
+ assistant or ast Invoke assistant endpoints to handle assistant parameters
31
+ rag Invoke rag assistant endpoints to handle RAG assistant parameters
32
+ chat Invoke chat endpoints to handle chat with assistants parameters
33
+ admin or adm Invoke admin endpoints designed for internal use
34
+ llm Invoke llm endpoints for provider's and model retrieval
35
+ files Invoke files endpoints for file handling
36
+ usage-limit or ulim Invoke usage limit endpoints for organization and project
37
+ embeddings or emb Invoke embeddings endpoints
38
+ feedback or fbk Invoke feedback endpoints
39
+ rerank or rr Invoke rerank endpoints
40
+ evaluation or eval Invoke evaluation endpoints
41
+ gam Invoke GAM authentication endpoints
42
+ secrets or sec Handle Globant Enterprise AI secrets
43
+ ai-lab or ail Invoke AI Lab endpoints
44
+ ai-lab-spec or spec Invoke AI Lab endpoints
45
+ migrate or mig Invoke migrate procedures
46
+
47
+
48
+ You can consult specific options for each command using with:
49
+ geai <command> h
50
+ or
51
+ geai <command> help
52
+
53
+ ERROR CODES
54
+ Certain error descriptions can contain up to %n references specific to that error.
55
+ These references are described with %1, %2,... ,%n.
56
+
57
+ ErrorCode Description
58
+ 1 Assistant Not Found
59
+ 2 Provider Type Not Found
60
+ 3 Request Not Found
61
+ 5 Api Key Not Found
62
+ 6 Api Token Not Found
63
+ 7 Api Token Out Of Scope
64
+ 10 Query Text Empty
65
+ 20 Bad Input Text
66
+ 100 Provider Request Timeout
67
+ 150 Provider Unknown Error
68
+ 151 Provider Rate Limit
69
+ 152 Provider Quota Exceeded
70
+ 153 Provider Over Capacity
71
+ 154 Quota Exceeded
72
+ 401 Unauthorized
73
+ 404 Bad Endpoint
74
+ 405 Method Not Allowed
75
+ 500 Internal Server Error
76
+ 1001 Provider Configuration Error
77
+ 1010 RAG Not Found
78
+ 1101 Search Index Profile Name Not Found
79
+ 1102 Request Failed
80
+ 2000 Invalid ProjectName
81
+ 2001 Invalid OrganizationId
82
+ 2002 ProjectName %1 Already Exists In The Organization
83
+ 2003 OrganizationName Already Exists
84
+ 2004 Organization Not Found
85
+ 2005 Project Not Found
86
+ 2006 Project Not In Organization
87
+ 2007 Name is Empty
88
+ 2008 Prompt is Empty
89
+ 2009 Invalid Type
90
+ 2010 Not Implemented
91
+ 2011 Assistant General Error
92
+ 2012 Assistant Not Implemented
93
+ 2013 Revision Is Empty
94
+ 2014 Assistant Revision Not Found
95
+ 2015 Assistant Revision Update Error
96
+ 2016 AIModel Id For %1 %2
97
+ 2017 RAG General Error
98
+ 2018 Vector Store Not Found
99
+ 2019 Index Profile General Error
100
+ 2020 RAG Already Exists
101
+ 2021 Document Not Found
102
+ 2022 Invalid DocumentId
103
+ 2023 Document General Error
104
+ 2024 RAG Invalid
105
+ 2025 Document Name Not Provided
106
+ 2026 Verb Not Supported
107
+ 2027 Document Extension Invalid
108
+ 2028 Invalid File Size
109
+ 2029 Project name already exists
110
+ 2030 Assistant name already exists
111
+ 2031 Assistant not in Project
112
+ 2032 The status value is unexpected
113
+ 2041 The assistant specified is of a different type than expected
114
+ 3000 Data Analyst APIError: The connection with DataAnalyst Server could not be established
115
+ 3003 The assistant is currently being updated and is not yet available
116
+ 3004 Error validating metadata: each uploaded file requires related JSON metadata and vice versa
117
+ 3005 Error validating metadata: no metadata was found for file 'nameOfFile'
118
+
119
+ EXAMPLES
120
+ The command:
121
+ geai --configure
122
+ will help you setup the required environment variables to work with GEAI.
123
+
124
+ The command:
125
+ ...
126
+
127
+ INSTALL MAN PAGES
128
+ To install the manual pages, run:
129
+ sudo geai-install-man
130
+ (requires superuser privileges)
131
+
132
+ GEAI CLI - ORGANIZATION
133
+ -----------------------
134
+
135
+
136
+ SYNOPSIS
137
+ geai organization <subcommand> --[flag] [flag_arg]
138
+
139
+ DESCRIPTION
140
+ geai organization is a command from geai cli utility, developed to interact with key components of GEAI
141
+ such as creating organizations and projects, defining assistants, managing workflows, etc.
142
+
143
+ The options are as follows:
144
+ help or h Display help text
145
+
146
+ list-assistants List assistant information
147
+ --organization-id or --oid UUID of the organization
148
+ --project-id or --pid UUID of the project
149
+
150
+ list-projects List project information
151
+ --detail or -d Defines the level of detail required. The available options are summary (default) or full (optional).
152
+ --name or -n Name of the project
153
+
154
+ get-project Get project information
155
+ --project-id or --pid GUID of the project (required)
156
+
157
+ create-project Create new project
158
+ --name or -n Name of the new project
159
+ --description or -d Description of the new project
160
+ --email or -e Project administrator's email
161
+ --subscription-type string: Options: Freemium, Daily, Weekly, Monthly)
162
+ --usage-unit string: Options: Requests, Cost)
163
+ --soft-limit number: Soft limit for usage (lower threshold))
164
+ --hard-limit number: Hard limit for usage (upper threshold)). Must be greater or equal to --soft-limit.
165
+ --renewal-status string: Options: Renewable, NonRenewable). If --subscription-type is Freemium, this must be NonRenewable
166
+
167
+ update-project Update existing project
168
+ --project-id or --pid GUID of the project (required)
169
+ --name or -n Name of the project
170
+ --description or -d Description of the new project
171
+
172
+ delete-project Delete existing project
173
+ --project-id or --pid GUID of the project (required)
174
+
175
+ get-tokens Get project tokens
176
+ --project-id or --pid GUID of the project (required)
177
+
178
+ export-request Export request data
179
+ --assistant-name string: Assistant name (optional)
180
+ --status string: Status (optional)
181
+ --skip integer: Number of entries to skip
182
+ --count integer: Number of entries to retrieve
183
+
184
+
185
+ EXAMPLES
186
+ The command:
187
+ geai c
188
+ starts an interactive tool to configure API KEY and BASE URL to work with GEAI.
189
+
190
+ The command:
191
+ geai organization list-projects
192
+ list available projects. For this, an organization API KEY is required.
193
+
194
+ The command:
195
+ ...
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ GEAI CLI - ASSISTANT
204
+ -----------------------
205
+
206
+
207
+ SYNOPSIS
208
+ geai assistant <subcommand> --[flag] [flag_arg]
209
+
210
+ DESCRIPTION
211
+ geai assistant is a command from geai cli utility, developed to interact with assistant in GEAI.
212
+
213
+ The options are as follows:
214
+ help or h Display help text
215
+
216
+ get-assistant Get assistant detail
217
+ --detail or -d Defines the level of detail required. The available options are summary (default) or full.
218
+ --assistant-id or --id Assistant ID.
219
+
220
+ create-assistant Create new assistant
221
+ --type or -t string: Type of assistant. Possible values: text, chat. (Required)
222
+ --name or -n string: Name of the assistant (Required)
223
+ --description or -d string: Description of the assistant.
224
+ --prompt string: Prompt for the assistant (Required)
225
+ --provider-name or --provider or -p string: provider to be used
226
+ --model-name or -m string: name of model according to selected provider
227
+ --temperature decimal: Volatility of the assistant
228
+ --max-tokens integer: Max number of tokens
229
+ --wd-title Title for welcome data
230
+ --wd-description Description for welcome data
231
+ --wd-feature Feature to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title" and "description". Example: '{"title": "title of feature", "description": "Description of feature"}'
232
+ --wd-example-prompt Example prompt to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title", "description" and "prompt_text". Example: '{"title": "Title of prompt", "description": "Description of prompt", "prompt_text": "Prompt text"}'
233
+
234
+ update-assistant Update existing assistant
235
+ --assistant-id or --id Assistant ID.
236
+ --status integer: Possible values: 1:Enabled, 2:Disabled (Optional)
237
+ --action string: Possible values: save, saveNewRevision (default), savePublishNewRevision
238
+ --revision-id integer: Required if user needs to update an existent revision when action = save
239
+ --name or -n string: Name of the assistant (Required)
240
+ --description or -d string: Description of the assistant.
241
+ --prompt string: Prompt for the assistant (Required)
242
+ --provider-name or --provider or -p string: provider to be used
243
+ --model-name or -m string: name of model according to selected provider
244
+ --temperature decimal: Volatility of the assistant
245
+ --max-tokens integer: Max number of tokens
246
+ --wd-title Title for welcome data
247
+ --wd-description Description for welcome data
248
+ --wd-feature Feature to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title" and "description". Example: '{"title": "title of feature", "description": "Description of feature"}'
249
+ --wd-example-prompt Example prompt to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title", "description" and "prompt_text". Example: '{"title": "Title of prompt", "description": "Description of prompt", "prompt_text": "Prompt text"}'
250
+
251
+ delete-assistant Delete existing assistant
252
+ --assistant-id or --id Assistant ID.
253
+
254
+ chat Sends a chat request to the Globant Enterprise AI Assistant.
255
+ --name or -n string: Name of the assistant.
256
+ --messages or --msg array: Chat request data. It can be passed multiple times with single dictionary each time, or a single time as a list of dictionaries. Each dictionary instance must contain 'role' and 'content'
257
+ --revision integer: Revision number.
258
+ --revision-name string: Name of the revision.
259
+ --variables or --var collection: A list of key/value properties (optional)
260
+
261
+ request-status Retrieves the status of a request.
262
+ --request-id or --id Request ID.
263
+
264
+ cancel-request Cancels a request.
265
+ --request-id or --id Request ID.
266
+
267
+
268
+ GEAI CLI - RAG ASSISTANT
269
+ -----------------------
270
+
271
+
272
+ SYNOPSIS
273
+ geai rag <subcommand> --[flag] [flag_arg]
274
+
275
+ DESCRIPTION
276
+ geai RAG assistant is a command from geai cli utility, developed to interact with RAG assistant in GEAI.
277
+
278
+ The options are as follows:
279
+ help or h Display help text
280
+ list-assistants Gets all RAG assistants from a project
281
+
282
+ get-assistant Gets a specific RAG assistant
283
+ --name or -n RAG assistant name (required)
284
+
285
+ create-assistant Create a new RAG assistant
286
+ --name or -n RAG assistant name (required)
287
+ --description or -d string: Description of the RAG assistant
288
+ --template or --tpl string: Name of an existing RAG to base the configuration (optional), empty by default
289
+ --history-count or --hc integer: history count
290
+ --cache or -c boolean: cache
291
+ --frequency-penalty or --fp decimal: frequency penalty
292
+ --max-tokens or --mt integer: max tokens
293
+ --model-name or -m string: model name
294
+ -n integer: n
295
+ --presence-penalty or --pp decimal: presence penalty
296
+ --provider or -p string: provider
297
+ --stream boolean: stream
298
+ --temperature or --temp or -t decimal: temperature
299
+ --top-p decimal: top P
300
+ --llm-type string: /: type* empty value (default) or json_object */
301
+ --verbose or -v boolean: verbose
302
+ -k integer: k
303
+ --search-type string: /: type* similarity (default) or mmr */
304
+ --fetch-k or --fk number: fetchK (valid when using mmr type)
305
+ --lambda or -l decimal: lambda (valid when using mmr type)
306
+ --search-prompt or --sp string: prompt
307
+ --return-source-documents or --rsd boolean: return source documents
308
+ --score-threshold or --st decimal: score threshold
309
+ --search-template or --stpl string: template
310
+ --retriever-type string: /: type* vectorStore, multiQuery, selfQuery, hyde, contextualCompression */
311
+ --retriever-search-type string: searchType (similarity | similarity_hybrid | semantic_hybrid). Azure AISearch specific, defaults to similarity
312
+ --step string: /: step* all (default) or documents */
313
+ --retriever-prompt or --rp string: prompt (not needed when using vectorStore)
314
+ --chunk-overlap Overlap size between chunks in the main document.
315
+ --chunk-size Size of each chunk in the main document.
316
+ --use-parent-document Whether to enable parent-child document relationships.
317
+ --child-k Parameter to configure child document processing, such as relevance or retrieval count.
318
+ --child-chunk-size Size of each chunk in the child document.
319
+ --child-chunk-overlap Overlap size between chunks in the child document.
320
+ --wd-title Title for welcome data
321
+ --wd-description Description for welcome data
322
+ --wd-feature Feature to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title" and "description". Example: '{"title": "title of feature", "description": "Description of feature"}'
323
+ --wd-example-prompt Example prompt to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title", "description" and "prompt_text". Example: '{"title": "Title of prompt", "description": "Description of prompt", "prompt_text": "Prompt text"}'
324
+
325
+ update-assistant Update existing RAG assistant
326
+ --name or -n RAG assistant name (required)
327
+ --status RAG assistant status (defaults to 1). 1: enabled; 0: disabled
328
+ --description or -d string: Description of the RAG assistant
329
+ --template or --tpl string: Name of an existing RAG to base the configuration (optional), empty by default
330
+ --history-count or --hc integer: history count
331
+ --cache or -c boolean: cache
332
+ --frequency-penalty or --fp decimal: frequency penalty
333
+ --max-tokens or --mt integer: max tokens
334
+ --model-name or -m string: model name
335
+ -n integer: n
336
+ --presence-penalty or --pp decimal: presence penalty
337
+ --provider or -p string: provider
338
+ --stream boolean: stream
339
+ --temperature or --temp or -t decimal: temperature
340
+ --top-p decimal: top P
341
+ --llm-type string: /: type* empty value (default) or json_object */
342
+ --verbose or -v boolean: verbose
343
+ -k integer: k
344
+ --search-type string: /: type* similarity (default) or mmr */
345
+ --fetch-k or --fk number: fetchK (valid when using mmr type)
346
+ --lambda or -l decimal: lambda (valid when using mmr type)
347
+ --search-prompt or --sp string: prompt
348
+ --return-source-documents or --rsd boolean: return source documents
349
+ --score-threshold or --st decimal: score threshold
350
+ --search-template or --stpl string: template
351
+ --retriever-type string: /: type* vectorStore, multiQuery, selfQuery, hyde, contextualCompression */
352
+ --retriever-search-type string: searchType (similarity | similarity_hybrid | semantic_hybrid). Azure AISearch specific, defaults to similarity
353
+ --step string: /: step* all (default) or documents */
354
+ --retriever-prompt or --rp string: prompt (not needed when using vectorStore)
355
+ --wd-title Title for welcome data
356
+ --wd-description Description for welcome data
357
+ --wd-feature Feature to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title" and "description". Example: '{"title": "title of feature", "description": "Description of feature"}'
358
+ --wd-example-prompt Example prompt to include in welcome data. Must be in JSON format. It can be passed multiple times with one dictionaryeach time or one time with a list of dictionaries. Each dictionary must have exactly two keys: "title", "description" and "prompt_text". Example: '{"title": "Title of prompt", "description": "Description of prompt", "prompt_text": "Prompt text"}'
359
+
360
+ delete-assistant Delete existing RAG assistant
361
+ --name or -n RAG assistant name (required)
362
+
363
+ list-documents List documents for RAG assistant
364
+ --name or -n RAG assistant name (required)
365
+ --skip or -s Number of documents to skip
366
+ --count or -c Number of documents to return (defaults to 10)
367
+
368
+ delete-all-documents or del-docs Delete all documents for RAG assistant
369
+ --name or -n RAG assistant name (required)
370
+
371
+ get-document or get-doc Get document for RAG assistant
372
+ --name or -n RAG assistant name (required)
373
+ --document-id or --id Document id (required)
374
+
375
+ upload-document or up-doc Upload document for RAG assistant
376
+ --name or -n RAG assistant name (required)
377
+ --file-path or -f Path to document file (required)
378
+ --upload-type or -t Upload type. Available options: binary or multipart (multipart/form-data). Defaults to multipart
379
+ --metadata or -m Document metadata (only available for multipart/form-data). Can be valid JSON or a path to metadata file.
380
+ --content-type or --ct Document content type
381
+
382
+ delete-document or del-doc Delete document for RAG assistant by id
383
+ --name or -n RAG assistant name (required)
384
+ --document-id or --id Document id (required)
385
+
386
+
387
+ GEAI CLI - CHAT
388
+ ----------------
389
+
390
+
391
+ SYNOPSIS
392
+ geai chat <subcommand> --[flag] [flag_arg]
393
+
394
+ DESCRIPTION
395
+ geai chat is a command from geai cli utility, developed to chat with assistant in GEAI.
396
+
397
+ The options are as follows:
398
+ help or h Display help text
399
+
400
+ completion or comp Get chat completion
401
+ --model or -m The model needs to address the assistant type and name or bot_id, depending on the Type. Then, the parameters will vary depending on the type. Its format is as follows:
402
+ "model": "saia:<assistant_type>:<assistant_name>|<bot_id>"
403
+ --messages or --msg The messages element defines the desired messages to be added. The minimal value needs to be the following, where the content details the user input.
404
+ {
405
+ "role": "string", /* user, system and may support others depending on the selected model */
406
+ "content": "string"
407
+ }
408
+
409
+ --stream If response should be streamed. Possible values: 0: OFF; 1: ON
410
+ --temperature or --temp Float value to set volatility of the assistant's answers (between 0 and 2)
411
+ --max-tokens Integer value to set max tokens to use
412
+ --thread-id Optional UUID for conversation identifier
413
+ --frequency-penalty Optional number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
414
+ --presence-penalty Optional number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
415
+ --top-p Optional float value for nucleus sampling, where the model considers tokens with top_p probability mass (between 0 and 1). An alternative to temperature.
416
+ --stop Optional string or JSON array of up to 4 sequences where the API will stop generating further tokens.
417
+ --response-format Optional JSON object specifying the output format, e.g., {"type": "json_schema", "json_schema": {...}} for structured outputs.
418
+ --tools Optional JSON array of tools (e.g., functions) the model may call.
419
+ --tool-choice Optional string (e.g., "none", "auto") or JSON object to control which tool is called.
420
+ --logprobs Optional boolean to return log probabilities of output tokens. Possible values: 0: OFF; 1: ON
421
+ --top-logprobs Optional integer (0-20) specifying the number of most likely tokens to return with log probabilities.
422
+ --seed Optional integer for deterministic sampling (in Beta).
423
+ --stream-options Optional JSON object for streaming options, e.g., {"include_usage": true}.
424
+ --store Optional boolean to store the output for model distillation or evals. Possible values: 0: OFF; 1: ON
425
+ --metadata Optional JSON object with up to 16 key-value pairs to attach to the object.
426
+ --user Optional string identifier for the end-user to monitor abuse.
427
+ iris Interactive chat with Iris
428
+
429
+ agent Interactive chat with Agent
430
+ --agent-name or --name or -n
431
+ --gui or -g Launch a Streamlit GUI chat interface. Possible values: 0: OFF; 1: ON
432
+
433
+
434
+ GEAI CLI - ADMIN
435
+ -----------------------
436
+
437
+
438
+ SYNOPSIS
439
+ geai admin <subcommand> --[flag] [flag_arg]
440
+
441
+ DESCRIPTION
442
+ geai admin is a command from geai cli utility, developed to interact instance of GEAI.
443
+
444
+ The options are as follows:
445
+ help or h Display help text
446
+ validate-token or vt Validate API Token: Obtains organization and project information related to the provided apitoken.
447
+ list-authorized-organizations or auth-org Obtain the list of organizations that a user is permitted to access.
448
+
449
+ list-authorized-projects or auth-proj Obtain the list of projects that a user is permitted to access in a particular organization.
450
+ --organization or --org or -o ID of the organization.
451
+
452
+ project-visibility or pv Determines if a GAM user has visibility of a project
453
+ --organization or --org or -o ID of the organization.
454
+ --project or -p ID of the project.
455
+ --access-token or --token or --at GAM access token.
456
+
457
+ project-token or pt Returns Project's API Token
458
+ --organization or --org or -o ID of the organization.
459
+ --project or -p ID of the project.
460
+ --access-token or --token or --at GAM access token.
461
+
462
+
463
+ GEAI CLI - LLM
464
+ -----------------------
465
+
466
+
467
+ SYNOPSIS
468
+ geai llm <subcommand> --[flag] [flag_arg]
469
+
470
+ DESCRIPTION
471
+ geai llm is a command from geai cli utility, developed to retrieve information about available models and providers
472
+ in GEAI.
473
+
474
+ The options are as follows:
475
+ help or h Display help text
476
+ list-providers or lp Retrieve providers list
477
+
478
+ get-provider or gp Retrieve provider data
479
+ --provider-name or --pn LLM Provider name (required)
480
+
481
+ list-models or lm Retrieve provider models
482
+ --provider-name or --pn LLM Provider name (required)
483
+
484
+ get-model or gm Retrieve model data
485
+ --provider-name or --pn LLM Provider name (required)
486
+ --model-name or --mn LLM Model name
487
+ --model-id or --mid LLM Model ID
488
+
489
+
490
+ GEAI CLI - FILES
491
+ -----------------------
492
+
493
+
494
+ SYNOPSIS
495
+ geai files <subcommand> --[flag] [flag_arg]
496
+
497
+ DESCRIPTION
498
+ geai files is a command from geai cli utility, developed to interact with files in GEAI.
499
+
500
+ The options are as follows:
501
+ help or h Display help text
502
+
503
+ upload-file or uf Upload file
504
+ --organization or --org or -o Organization ID (required)
505
+ --project or --proj or -p Project ID (required)
506
+ --file-name or --fn File name (optional). If not provided, the name of the uploaded file will be used.
507
+ --file-path or --fp File path to the file you want to upload (required)
508
+ --folder or -f Destination folder (optional). If not provided, the file will be temporarily saved.
509
+
510
+ get-file or gf Get file data
511
+ --organization or --org or -o Organization ID (required)
512
+ --project or --proj or -p Project ID (required)
513
+ --file-id or --fid File ID (required)
514
+
515
+ delete-file or df Delete file data
516
+ --organization or --org or -o Organization ID (required)
517
+ --project or --proj or -p Project ID (required)
518
+ --file-id or --fid File ID (required)
519
+
520
+ get-file-content or gfc Get file content
521
+ --organization or --org or -o Organization ID (required)
522
+ --project or --proj or -p Project ID (required)
523
+ --file-id or --fid File ID (required)
524
+
525
+ list-files or lf Retrieve file list
526
+ --organization or --org or -o Organization ID (required)
527
+ --project or --proj or -p Project ID (required)
528
+
529
+
530
+ GEAI CLI - USAGE LIMITS
531
+ -----------------------
532
+
533
+
534
+ SYNOPSIS
535
+ geai usage-limit <subcommand> --[flag] [flag_arg]
536
+
537
+ DESCRIPTION
538
+ geai usage-limits is a command from geai cli utility, developed to manager usage limits in GEAI.
539
+
540
+ The options are as follows:
541
+ help or h Display help text
542
+
543
+ set-organization-limit or set-org-lim Set organization usage limit
544
+ --organization or --org or -o Organization ID (Required)
545
+ --subscription-type string: Options: Freemium, Daily, Weekly, Monthly)
546
+ --usage-unit string: Options: Requests, Cost)
547
+ --soft-limit number: Soft limit for usage (lower threshold))
548
+ --hard-limit number: Hard limit for usage (upper threshold)). Must be greater or equal to --soft-limit.
549
+ --renewal-status string: Options: Renewable, NonRenewable). If --subscription-type is Freemium, this must be NonRenewable
550
+
551
+ get-latest-organization-limit or get-latest-org-lim Get latest organization usage limit
552
+ --organization or --org or -o Organization ID (Required)
553
+
554
+ get-all-organization-limit or get-all-org-lim Get all organization usage limit
555
+ --organization or --org or -o Organization ID (Required)
556
+
557
+ delete-organization-limit or del-org-lim Delete organization usage limit
558
+ --organization or --org or -o Organization ID (Required)
559
+ --limit-id or --lid Usage limit ID (Required)
560
+
561
+ update-organization-limit or up-org-lim Update organization usage limit
562
+ --organization or --org or -o Organization ID (Required)
563
+ --limit-id or --lid Usage limit ID (Required)
564
+ --hard-limit number: Hard limit for usage (upper threshold)). Must be greater or equal to --soft-limit.
565
+ --soft-limit number: Soft limit for usage (lower threshold))
566
+ --renewal-status string: Options: Renewable, NonRenewable). If --subscription-type is Freemium, this must be NonRenewable
567
+
568
+ set-project-limit or set-proj-lim Set project usage limit
569
+ --organization or --org or -o Organization ID (Required)
570
+ --project or --proj or -p Project ID (Required)
571
+ --subscription-type string: Options: Freemium, Daily, Weekly, Monthly)
572
+ --usage-unit string: Options: Requests, Cost)
573
+ --soft-limit number: Soft limit for usage (lower threshold))
574
+ --hard-limit number: Hard limit for usage (upper threshold)). Must be greater or equal to --soft-limit.
575
+ --renewal-status string: Options: Renewable, NonRenewable). If --subscription-type is Freemium, this must be NonRenewable
576
+
577
+ get-all-project-limit or get-all-proj-lim Get all usage limits for project
578
+ --organization or --org or -o Organization ID (Required)
579
+ --project or --proj or -p Project ID (Required)
580
+
581
+ get-latest-project-limit or get-latest-proj-lim Get latest usage limit for project
582
+ --organization or --org or -o Organization ID (Required)
583
+ --project or --proj or -p Project ID (Required)
584
+
585
+ get-active-project-limit or get-active-proj-lim Get active usage limit for project
586
+ --organization or --org or -o Organization ID (Required)
587
+ --project or --proj or -p Project ID (Required)
588
+
589
+ delete-project-limit or del-proj-lim Get active usage limit for project
590
+ --organization or --org or -o Organization ID (Required)
591
+ --project or --proj or -p Project ID (Required)
592
+ --limit-id or --lid Usage limit ID (Required)
593
+
594
+ update-project-limit or up-proj-lim Update project usage limit
595
+ --organization or --org or -o Organization ID (Required)
596
+ --project or --proj or -p Project ID (Required)
597
+ --limit-id or --lid Usage limit ID (Required)
598
+ --hard-limit number: Hard limit for usage (upper threshold)). Must be greater or equal to --soft-limit.
599
+ --soft-limit number: Soft limit for usage (lower threshold))
600
+ --renewal-status string: Options: Renewable, NonRenewable). If --subscription-type is Freemium, this must be NonRenewable
601
+
602
+
603
+ GEAI CLI - EMBEDDINGS
604
+ -----------------------
605
+
606
+
607
+ SYNOPSIS
608
+ geai embeddings <subcommand> --[flag] [flag_arg]
609
+
610
+ DESCRIPTION
611
+ geai embeddings is a command from geai cli utility, developed to generate embeddings in GEAI.
612
+
613
+ The options are as follows:
614
+ help or h Display help text
615
+
616
+ generate or gen Get embeddings
617
+ --input or -i string: Input to embed, encoded as a string. To embed multiple inputs in a single request, pass the string inputs multiple times using -i. The input must not exceed the max input tokens for the model and cannot be an empty string
618
+ --model or -m string: provider/modelId to use
619
+ --encoding-format or --enc-for string: The format to return the embeddings. It can be either float (default) or base64 (optional)
620
+ --dimensions or --dim integer: The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3* and later models (optional)
621
+ --user or -u string: A unique identifier representing your end-user
622
+ --input-type or --it string: Defines how the input data will be used when generating embeddings (optional)
623
+ --timeout or -t integer: The maximum time, in seconds, to wait for the API to respond. Defaults to 600 seconds
624
+ --cache Enable X-Saia-Cache-Enabled to cache the embeddings for the model; it applies by Organization/Project.1 to set to True and 0 to false. 0 is default
625
+
626
+
627
+ GEAI CLI - FEEDBACK
628
+ --------------------
629
+
630
+
631
+ SYNOPSIS
632
+ geai feedback <subcommand> --[flag] [flag_arg]
633
+
634
+ DESCRIPTION
635
+ geai feedback is a command from geai cli utility, developed to send feedback from the assistant's answers.
636
+
637
+ The options are as follows:
638
+ help or h Display help text
639
+
640
+ send or sf Send feedback
641
+ --request-id or --rid The request associated with a user's execution. Integer
642
+ --origin Origin for the feedback. Defaults to user-feedback
643
+ --answer-score or --ans-score or --score Associated feedback: 1 good, 2 bad
644
+ --comments Associated feedback comment (optional)
645
+
646
+
647
+ GEAI CLI - RERANK
648
+ -----------------
649
+
650
+
651
+ SYNOPSIS
652
+ geai rerank <subcommand> --[flag] [flag_arg]
653
+
654
+ DESCRIPTION
655
+ geai rerank is a command from geai cli utility, developed to rerank a list of document chunks based on a query in GEAI.
656
+
657
+ The options are as follows:
658
+ help or h Display help text
659
+
660
+ rerank-chunks or chunks or rc Rerank chunks based on a query
661
+ --query or -q string: Input query
662
+ --model or -m string: provider/modelName reranker to use; supported values: cohere/rerank-v3.5, awsbedrock/cohere.rerank-v3.5, awsbedrock/amazon.rerank-v1
663
+ --documents or --doc or -d string or array: A list of text chunks
664
+ --top-n string: Count of best n results to return
665
+
666
+
667
+ GEAI CLI - EVALUATION
668
+ ----------------------
669
+
670
+
671
+ SYNOPSIS
672
+ geai evaluation <subcommand> --[flag] [flag_arg]
673
+
674
+ DESCRIPTION
675
+ geai evaluation is a command from geai cli utility, developed to interact with Dataset, Plan and Result APIs from
676
+ the Evaluation module.
677
+
678
+ Dataset rows have the following structure:
679
+ {
680
+ "dataSetRowExpectedAnswer": "This is the expected answer",
681
+ "dataSetRowInput": "What is the capital of France?",
682
+ "dataSetRowContextDocument": "",
683
+ "expectedSources": [
684
+ {
685
+ "dataSetExpectedSourceId": "UUID",
686
+ "dataSetExpectedSourceName": "Source Name",
687
+ "dataSetExpectedSourceValue": "Some value",
688
+ "dataSetexpectedSourceExtention": "pdf"
689
+ }
690
+ ],
691
+ "filterVariables": [
692
+ {
693
+ "dataSetMetadataType": "Type",
694
+ "dataSetRowFilterKey": "key",
695
+ "dataSetRowFilterOperator": "equals",
696
+ "dataSetRowFilterValue": "value",
697
+ "dataSetRowFilterVarId": "UUID"
698
+ }
699
+ ]
700
+ }
701
+
702
+ The options are as follows:
703
+ help or h Display help text
704
+ list-datasets or ld List all datasets
705
+
706
+ create-dataset or cd Create dataset
707
+ --dataset-name or --dn dataSetName: string
708
+ --dataset-description or --dd dataSetDescription: string
709
+ --dataset-type or --dt dataSetType: string //e.g., 'T' for test, 'E' for evaluation, etc.
710
+ --dataset-active or --da dataSetActive: boolean. 0: False; 1: True
711
+ --row or -r JSON object containing row data
712
+ --dataset-file or --df dataSetActive: Creates a new dataset from a JSON file. The file must contain the complete dataset structure, including header information and rows.
713
+
714
+ get-dataset or gd Get dataset by ID
715
+ --dataset-id or --did UUID representing the dataset to retrieve
716
+
717
+ update-dataset or ud Update dataset by ID
718
+ --dataset-id or --did UUID representing the dataset to retrieve
719
+ --dataset-name or --dn dataSetName: string
720
+ --dataset-description or --dd dataSetDescription: string
721
+ --dataset-type or --dt dataSetType: string //e.g., 'T' for test, 'E' for evaluation, etc.
722
+ --dataset-active or --da dataSetActive: boolean. 0: False; 1: True
723
+ --row or -r JSON object containing row data
724
+
725
+ delete-dataset or dd Delete dataset by ID
726
+ --dataset-id or --did UUID representing the dataset to retrieve
727
+
728
+ create-dataset-row or cdr Create dataset row
729
+ --dataset-id or --did UUID representing the dataset to retrieve
730
+ --row or -r JSON object containing row data
731
+
732
+ list-dataset-rows or ldr List dataset rows
733
+ --dataset-id or --did UUID representing the dataset to retrieve
734
+
735
+ get-dataset-row or gdr Get dataset row
736
+ --dataset-id or --did UUID representing the dataset to retrieve
737
+ --row-id or --rid UUID representing the row dataset to retrieve
738
+
739
+ update-dataset-row or udr Update dataset row
740
+ --dataset-id or --did UUID representing the dataset to retrieve
741
+ --row-id or --rid UUID representing the row dataset to retrieve
742
+ --row or -r JSON object containing row data
743
+
744
+ delete-dataset-row or ddr Delete dataset row
745
+ --dataset-id or --did UUID representing the dataset to retrieve
746
+ --row-id or --rid UUID representing the row dataset to retrieve
747
+
748
+ create-expected-source or ces Create dataset row expected source
749
+ --dataset-id or --did UUID representing the dataset to retrieve
750
+ --row-id or --rid UUID representing the row dataset to retrieve
751
+ --name or -n dataSetExpectedSourceName: string
752
+ --value or -v dataSetExpectedSourceValue: string
753
+ --extension or -e dataSetExpectedSourceExtension: string //e.g., 'txt', 'pdf', 'json'
754
+
755
+ list-expected-sources or les List dataset row expected sources
756
+ --dataset-id or --did UUID representing the dataset to retrieve
757
+ --row-id or --rid UUID representing the row dataset to retrieve
758
+
759
+ get-expected-source or ges Get dataset row expected source
760
+ --dataset-id or --did UUID representing the dataset to retrieve
761
+ --row-id or --rid UUID representing the row dataset to retrieve
762
+ --expected-source-id or --esid UUID representing the expected source to retrieve
763
+
764
+ update-expected-source or ues Update dataset row expected source
765
+ --dataset-id or --did UUID representing the dataset to retrieve
766
+ --row-id or --rid UUID representing the row dataset to retrieve
767
+ --expected-source-id or --esid UUID representing the expected source to retrieve
768
+ --name or -n dataSetExpectedSourceName: string
769
+ --value or -v dataSetExpectedSourceValue: string
770
+ --extension or -e dataSetExpectedSourceExtension: string //e.g., 'txt', 'pdf', 'json'
771
+
772
+ delete-expected-source or des Delete dataset row expected source
773
+ --dataset-id or --did UUID representing the dataset to retrieve
774
+ --row-id or --rid UUID representing the row dataset to retrieve
775
+ --expected-source-id or --esid UUID representing the expected source to retrieve
776
+
777
+ create-filter-variable or cfv Create dataset row filter variable
778
+ --dataset-id or --did UUID representing the dataset to retrieve
779
+ --row-id or --rid UUID representing the row dataset to retrieve
780
+ --metadata-type or --mt dataSetMetadataType: string //e.g., 'V' for variable, 'F' for flag, etc.
781
+ --key or -k dataSetRowFilterKey: string. The name of the filter key
782
+ --value or -v dataSetRowFilterValue: string. The value to filter by
783
+ --operator or -o dataSetRowFilterOperator: string ///e.g., '=', '!=', '>', '<', 'contains', etc.
784
+
785
+ list-filter-variables or lfv List dataset row filter variables
786
+ --dataset-id or --did UUID representing the dataset to retrieve
787
+ --row-id or --rid UUID representing the row dataset to retrieve
788
+
789
+ get-filter-variable or gfv Get dataset row filter variable
790
+ --dataset-id or --did UUID representing the dataset to retrieve
791
+ --row-id or --rid UUID representing the row dataset to retrieve
792
+ --filter-variable-id or --fvid UUID representing the filter variable to retrieve
793
+
794
+ update-filter-variable or ufv Update dataset row filter variable
795
+ --dataset-id or --did UUID representing the dataset to retrieve
796
+ --row-id or --rid UUID representing the row dataset to retrieve
797
+ --filter-variable-id or --fvid UUID representing the filter variable to retrieve
798
+ --metadata-type or --mt dataSetMetadataType: string //e.g., 'V' for variable, 'F' for flag, etc.
799
+ --key or -k dataSetRowFilterKey: string. The name of the filter key
800
+ --value or -v dataSetRowFilterValue: string. The value to filter by
801
+ --operator or -o dataSetRowFilterOperator: string ///e.g., '=', '!=', '>', '<', 'contains', etc.
802
+
803
+ delete-filter-variable or dfv Delete dataset row filter variable
804
+ --dataset-id or --did UUID representing the dataset to retrieve
805
+ --row-id or --rid UUID representing the row dataset to retrieve
806
+ --filter-variable-id or --fvid UUID representing the filter variable to retrieve
807
+
808
+ upload-dataset-rows or udrf Upload dataset rows file
809
+ --dataset-id or --did UUID representing the dataset to retrieve
810
+ --rows-file or --rf The JSON file should contain an array of DatasetRow objects
811
+ list-evaluation-plans or lep Retrieves a list of all evaluation plans.
812
+
813
+ create-evaluation-plan or cep Creates a new evaluation plan.
814
+ --name or --epn Name of the evaluation plan
815
+ --assistant-type or --epat Type of assistant (e.g., 'TextPromptAssistant', 'RAG Assistant')
816
+ --assistant-id or --epai UUID of the assistant (optional, required for TextPromptAssistant)
817
+ --assistant-name or --epan Name of the assistant (optional, required for TextPromptAssistant)
818
+ --assistant-revision or --epar Revision of the assistant (optional, required for TextPromptAssistant)
819
+ --profile-name or --eppn Name of the RAG profile (optional, required for RAG Assistant)
820
+ --dataset-id or --did ID of the dataset (optional)
821
+ --system-metrics or --sm Array of system metrics (each with 'systemMetricId' and 'systemMetricWeight')Alternatively, multiple instances of --sm can be passes as arguments for a single list.
822
+
823
+ get-evaluation-plan or gep Retrieve evaluation plan by ID.
824
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
825
+
826
+ update-evaluation-plan or uep Update evaluation plan by ID.
827
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
828
+ --name or --epn Name of the evaluation plan
829
+ --assistant-type or --epat Type of assistant (e.g., 'TextPromptAssistant', 'RAG Assistant')
830
+ --assistant-id or --epai UUID of the assistant (optional, required for TextPromptAssistant)
831
+ --assistant-name or --epan Name of the assistant (optional, required for TextPromptAssistant)
832
+ --assistant-revision or --epar Revision of the assistant (optional, required for TextPromptAssistant)
833
+ --profile-name or --eppn Name of the RAG profile (optional, required for RAG Assistant)
834
+ --dataset-id or --did ID of the dataset (optional)
835
+ --system-metrics or --sm Array of system metrics (each with 'systemMetricId' and 'systemMetricWeight')Alternatively, multiple instances of --sm can be passes as arguments for a single list.
836
+
837
+ delete-evaluation-plan or dep Delete evaluation plan by ID.
838
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
839
+
840
+ list-evaluation-plan-system-metrics or lepsm List system metrics for evaluation plan by ID.
841
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
842
+
843
+ add-evaluation-plan-system-metric or aepsm Adds a new system metric to an existing evaluation plan.
844
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
845
+ --system-metric-id or --smid systemMetricId: string. ID of the system metric
846
+ --system-metric-weight or --smw systemMetricWeight: number. Weight of the system metric (between 0 and 1)
847
+
848
+ get-evaluation-plan-system-metric or gepsm Retrieves a specific system metric from a given evaluation plan.
849
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
850
+ --system-metric-id or --smid ID of the system metric
851
+
852
+ update-evaluation-plan-system-metric or uepsm Updates a specific system metric within an existing evaluation plan.
853
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
854
+ --system-metric-id or --smid systemMetricId: string. ID of the system metric
855
+ --system-metric-weight or --smw systemMetricWeight: number. Weight of the system metric (between 0 and 1)
856
+
857
+ delete-evaluation-plan-system-metric or depsm Delete a specific system metric within an existing evaluation plan.
858
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
859
+ --system-metric-id or --smid ID of the system metric
860
+ list-available-system-metrics or lsm Retrieves a list of all available system metrics that can be used in evaluation plans
861
+
862
+ get-system-metrics or gsm Retrieves a specific system metric using its ID.
863
+ --system-metric-id or --smid ID of the system metric
864
+
865
+ execute-evaluation-plan or xep Initiates the execution of a previously defined evaluation plan. The evaluation plan's configuration (assistant, dataset, metrics, and weights) determines how the assessment is performed.
866
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
867
+
868
+ list-evaluation-results or ler Retrieves a list of evaluation results associated with a specific evaluation plan.
869
+ --evaluation-plan-id or --epid UUID representing the evaluation plan to retrieve
870
+
871
+ get-evaluation-result or ger Retrieves a specific evaluation result by its ID.
872
+ --evaluation-result-id or --erid UUID representing the evaluation result to retrieve
873
+
874
+
875
+ EXAMPLES
876
+ The command:
877
+ geai evaluation create-dataset \
878
+ --dataset-name "MyNewDataset" \
879
+ --dataset-description "A dataset for testing" \
880
+ --dataset-type "T" \
881
+ --dataset-active 1 \
882
+ --row '[
883
+ {
884
+ "dataSetRowExpectedAnswer": "This is the expected answer",
885
+ "dataSetRowInput": "What is the capital of France?",
886
+ "dataSetRowContextDocument": ""
887
+ }
888
+ ]'
889
+
890
+ This will create a new dataset called "MyNewDataset" with a description, type "T" (test), and one row where the expected answer is provided along with the input question.
891
+
892
+ The command:
893
+ geai evaluation create-dataset \
894
+ --dataset-name "MyNewDataset" \
895
+ --dataset-description "A dataset for testing" \
896
+ --dataset-type "T" \
897
+ --dataset-active 1 \
898
+ --row '[
899
+ {
900
+ "dataSetRowExpectedAnswer": "This is the expected answer",
901
+ "dataSetRowInput": "What is the capital of France?",
902
+ "dataSetRowContextDocument": "",
903
+ "expectedSources": [
904
+ {
905
+ "dataSetExpectedSourceId": "UUID",
906
+ "dataSetExpectedSourceName": "Source Name",
907
+ "dataSetExpectedSourceValue": "Some value",
908
+ "dataSetexpectedSourceExtention": "pdf"
909
+ }
910
+ ],
911
+ "filterVariables": [
912
+ {
913
+ "dataSetMetadataType": "Type",
914
+ "dataSetRowFilterKey": "key",
915
+ "dataSetRowFilterOperator": "equals",
916
+ "dataSetRowFilterValue": "value",
917
+ "dataSetRowFilterVarId": "UUID"
918
+ }
919
+ ]
920
+ }
921
+ ]'
922
+
923
+ This will create a new dataset with rows that include optional "expectedSources" and "filterVariables".
924
+
925
+ GEAI CLI - GAM
926
+ ----------------
927
+
928
+ SYNOPSIS
929
+ geai gam <subcommand> --[flag] [flag_arg]
930
+
931
+ DESCRIPTION
932
+ geai gam is a command from geai cli utility, developed to interact with GAM authentication mechanisms in GEAI.
933
+
934
+ The options are as follows:
935
+ help or h Display help text
936
+
937
+ get-access-token or gat Get access token
938
+ --client-id or --cid Application Client ID.
939
+ --client-secret or --cs Application Client Secret.
940
+ --grant-type or --gt Grant type for authentication. Default: "password"
941
+ --authentication-type-name or --atn Authentication type name. Default: "local"
942
+ --scope or -s Scope of the user account you want to access. gam_user_data+gam_user_roles. Default: "gam_user_data"
943
+ --username or -u Username of the user to be authenticated.
944
+ --password or -p Password of the user to be authenticated.
945
+ --initial-properties or --ip User custom properties array.
946
+ --repository or -r Only use if the IDP is multitenant.
947
+ --request-token-type or --rtt Determines the token type to return and, based on that, the Security Policy to be applied. Default: "OAuth"
948
+
949
+ get-user-info or gui Get user info
950
+ --access-token or --at The access_token obtained in the previous request.
951
+
952
+ refresh-access-token or rat Refresh access token
953
+ --client-id or --cid Application Client ID.
954
+ --client-secret or --cs Application Client Secret.
955
+ --grant-type or --gt Grant type for authentication. Must be: "refresh_token"
956
+ --refresh-token or --rt Refresh token.
957
+
958
+
959
+ GEAI CLI - SECRETS
960
+ ----------------
961
+
962
+
963
+ SYNOPSIS
964
+ geai secrets <subcommand> --[flag] [flag_arg]
965
+
966
+ DESCRIPTION
967
+ geai secrets is a command from geai cli utility, developed to handle secrets in in GEAI.
968
+
969
+ The options are as follows:
970
+ help or h Display help text
971
+
972
+ get-secret or gs Retrieve a secret by its ID
973
+ --secret-id or --sid The unique identifier of the secret to retrieve (required)
974
+
975
+ create-secret or cs Create a new secret
976
+ --name or -n The name of the secret (required)
977
+ --secret-string or -ss The secret value to store (required)
978
+ --description or -d A description of the secret (optional)
979
+
980
+ update-secret or us Update an existing secret by its ID
981
+ --secret-id or --sid The unique identifier of the secret to update (required)
982
+ --name or -n The updated name of the secret (required)
983
+ --secret-string or -ss The updated secret value (required)
984
+ --description or -d The updated description of the secret (optional)
985
+
986
+ list-secrets or ls List secrets with optional filtering and pagination
987
+ --name or -n Filter secrets by name (optional)
988
+ --id Filter secrets by ID (optional)
989
+ --start Starting index for pagination (integer, default: 0)
990
+ --count Number of secrets to return (integer, default: 10)
991
+
992
+
993
+ GEAI CLI - AI LAB
994
+ -----------------
995
+
996
+
997
+ SYNOPSIS
998
+ geai ai-lab <subcommand> --[flag] [flag_arg]
999
+
1000
+ DESCRIPTION
1001
+ geai ai-lab is a command from geai cli utility, developed to interact with AI Lab in GEAI.
1002
+
1003
+ The options are as follows:
1004
+ help or h Display help text
1005
+
1006
+ list-agents or la List agents
1007
+ --project-id or --pid ID of the project
1008
+ --status Status of the agents to filter by. Defaults to an empty string (no filtering).
1009
+ --start Starting index for pagination. Defaults to an empty string (no offset).
1010
+ --count Number of agents to retrieve. Defaults to an empty string (no limit).
1011
+ --access-scope Access scope of the agents, either "public" or "private". Defaults to "public".
1012
+ --allow-drafts Whether to include draft agents. Defaults to 1 (True).
1013
+ --allow-external Whether to include external agents. Defaults to 0 (False).
1014
+
1015
+ create-agent or ca Create agent
1016
+ --project-id or --pid Unique identifier of the project where the agent will be created
1017
+ --name or -n Name of the agent, must be unique within the project and exclude ':' or '/'
1018
+ --access-scope or --as Access scope of the agent, either 'public' or 'private' (defaults to 'private')
1019
+ --public-name or --pn Public name of the agent, required if access_scope is 'public', must be unique and follow a domain/library convention (e.g., 'com.example.my-agent') with only alphanumeric characters, periods, dashes, or underscores
1020
+ --job-description or --jd Description of the agent's role
1021
+ --avatar-image or --aimg URL for the agent's avatar image
1022
+ --description or -d Detailed description of the agent's purpose
1023
+ --agent-data-prompt-instructions or --adp-inst Instructions defining what the agent does and how, required for publication if context is not provided
1024
+ --agent-data-prompt-input or --adp-input Agent Data prompt input: Prompt input as a list of strings (e.g., '["input1", "input2"]') or multiple single strings via repeated flags, each representing an input name
1025
+ --agent-data-prompt-output or --adp-out Prompt output in JSON format (e.g., '[{"key": "output_key", "description": "output description"}]'), as a dictionary or list of dictionaries with 'key' and 'description' fields
1026
+ --agent-data-prompt-example or --adp-ex Prompt example in JSON format (e.g., '[{"inputData": "example input", "output": "example output"}]'), as a dictionary or list of dictionaries with 'inputData' and 'output' fields
1027
+ --agent-data-llm-max-tokens or --adl-max-tokens Maximum number of tokens the LLM can generate, used to control costs
1028
+ --agent-data-llm-timeout or --adl-timeout Timeout in seconds for LLM responses
1029
+ --agent-data-llm-temperature or --adl-temperature Sampling temperature for LLM (0.0 to 1.0), lower values for focused responses, higher for more random outputs
1030
+ --agent-data-llm-top-k or --adl-top-k TopK sampling parameter for LLM (currently unused)
1031
+ --agent-data-llm-top-p or --adl-top-p TopP sampling parameter for LLM (currently unused)
1032
+ --agent-data-model-name or --adm-name Name of the LLM model (e.g., 'gpt-4o' or 'openai/gpt-4o'), at least one valid model required for publication
1033
+ --agent-data-resource-pools or --adr-pools Resource pools in JSON format (e.g., '[{"name": "pool_name", "tools": [{"name": "tool_name", "revision": int}], "agents": [{"name": "agent_name", "revision": int}]}]'), as a list of dictionaries with 'name' (required) and optional 'tools' and 'agents' lists
1034
+ --automatic-publish or --ap Whether to publish the agent after creation (0: create as draft, 1: create and publish)
1035
+
1036
+ get-agent or ga Get agent
1037
+ --project-id or --pid ID of the project
1038
+ --agent-id or --aid ID of the agent to retrieve
1039
+ --revision or -r Revision of agent.
1040
+ --version or -v Version of agent.
1041
+ --allow-drafts Whether to include draft agents. Defaults to 1 (True).
1042
+
1043
+ create-sharing-link or csl Create sharing link
1044
+ --project-id or --pid ID of the project
1045
+ --agent-id or --aid ID of the agent to retrieve
1046
+
1047
+ publish-agent-revision or par Publish agent revision
1048
+ --project-id or --pid ID of the project
1049
+ --agent-id or --aid ID of the agent to retrieve
1050
+ --revision or -r Revision of agent.
1051
+
1052
+ delete-agent or da Delete agent
1053
+ --project-id or --pid ID of the project
1054
+ --agent-id or --aid ID of the agent to retrieve
1055
+
1056
+ update-agent or ua Update agent by ID or name
1057
+ --project-id or --pid Unique identifier of the project where the agent will be created
1058
+ --agent-id or --aid Unique identifier of the agent to update
1059
+ --name or -n Name of the agent, must be unique within the project and exclude ':' or '/'
1060
+ --access-scope or --as Access scope of the agent, either 'public' or 'private' (defaults to 'private')
1061
+ --public-name or --pn Public name of the agent, required if access_scope is 'public', must be unique and follow a domain/library convention (e.g., 'com.example.my-agent') with only alphanumeric characters, periods, dashes, or underscores
1062
+ --job-description or --jd Description of the agent's role
1063
+ --avatar-image or --aimg URL for the agent's avatar image
1064
+ --description or -d Detailed description of the agent's purpose
1065
+ --agent-data-prompt-instructions or --adp-inst Instructions defining what the agent does and how, required for publication if context is not provided
1066
+ --agent-data-prompt-input or --adp-input Agent Data prompt input: Prompt input as a list of strings (e.g., '["input1", "input2"]') or multiple single strings via repeated flags, each representing an input name
1067
+ --agent-data-prompt-output or --adp-out Prompt output in JSON format (e.g., '[{"key": "output_key", "description": "output description"}]'), as a dictionary or list of dictionaries with 'key' and 'description' fields
1068
+ --agent-data-prompt-example or --adp-ex Prompt example in JSON format (e.g., '[{"inputData": "example input", "output": "example output"}]'), as a dictionary or list of dictionaries with 'inputData' and 'output' fields
1069
+ --agent-data-llm-max-tokens or --adl-max-tokens Maximum number of tokens the LLM can generate, used to control costs
1070
+ --agent-data-llm-timeout or --adl-timeout Timeout in seconds for LLM responses
1071
+ --agent-data-llm-temperature or --adl-temperature Sampling temperature for LLM (0.0 to 1.0), lower values for focused responses, higher for more random outputs
1072
+ --agent-data-llm-top-k or --adl-top-k TopK sampling parameter for LLM (currently unused)
1073
+ --agent-data-llm-top-p or --adl-top-p TopP sampling parameter for LLM (currently unused)
1074
+ --agent-data-model-name or --adm-name Name of the LLM model (e.g., 'gpt-4o' or 'openai/gpt-4o'), at least one valid model required for publication
1075
+ --agent-data-resource-pools or --adr-pools Resource pools in JSON format (e.g., '[{"name": "pool_name", "tools": [{"name": "tool_name", "revision": int}], "agents": [{"name": "agent_name", "revision": int}]}]'), as a list of dictionaries with 'name' (required) and optional 'tools' and 'agents' lists
1076
+ --automatic-publish or --ap Whether to publish the agent after creation (0: create as draft, 1: create and publish)
1077
+ --upsert Define if agent must be created if it doesn't exist (0: Update only if it exists. 1: Insert if doesn't exists)
1078
+
1079
+ create-tool or ct Create tool
1080
+ --project-id or --pid Unique identifier of the project where the tool will be created
1081
+ --name or -n Name of the tool, must be unique within the project and exclude ':' or '/'
1082
+ --description or -d Description of the tool’s purpose, helps agents decide when to use it
1083
+ --scope or -s Scope of the tool, one of 'builtin', 'external', or 'api'
1084
+ --access-scope or --as Access scope of the tool, either 'public' or 'private' (defaults to 'private')
1085
+ --public-name or --pn Public name of the tool, required if access_scope is 'public', must be unique and follow a domain/library convention (e.g., 'com.globant.geai.web-search') with only alphanumeric characters, periods, dashes, or underscores
1086
+ --icon or -i URL for the tool’s icon or avatar image
1087
+ --open-api or --oa URL where the OpenAPI specification can be loaded, required for 'api' scope if open_api_json is not provided
1088
+ --open-api-json or --oaj OpenAPI specification in JSON format (e.g., '{"openapi": "3.0.0", "info": {"title": "example", "version": "1.0.0"}, ...}'), required for 'api' scope if open_api is not provided
1089
+ --report-events or --re Event reporting mode for tool progress, one of 'None', 'All', 'Start', 'Finish', 'Progress' (defaults to 'None')
1090
+ --parameter or -p Tool parameter in JSON format (e.g., '{"key": "param_name", "description": "param description", "isRequired": true, "type": "app"}' or for config parameters: '{"key": "config_name", "description": "config description", "isRequired": true, "type": "config", "value": "config_value", "fromSecret": false}'). Multiple parameters can be specified by using this option multiple times
1091
+ --automatic-publish or --ap Whether to publish the tool after creation (0: create as draft, 1: create and publish)
1092
+
1093
+ list-tools or lt List tools
1094
+ --project-id or --pid ID of the project
1095
+ --id ID of the tool to filter by. Defaults to an empty string (no filtering).
1096
+ --count Number of tools to retrieve. Defaults to '100'.
1097
+ --access-scope Access scope of the tools, either "public" or "private". Defaults to "public".
1098
+ --allow-drafts Whether to include draft tools. Defaults to 1 (True).
1099
+ --scope Scope of the tools, must be 'builtin', 'external', or 'api'. Defaults to 'api'.
1100
+ --allow-external Whether to include external tools. Defaults to 1 (True).
1101
+
1102
+ get-tool or gt Get tool
1103
+ --project-id or --pid ID of the project
1104
+ --tool-id or --tid ID of the tool to retrieve
1105
+ --revision or -r Revision of agent.
1106
+ --version or -v Version of agent.
1107
+ --allow-drafts Whether to include draft agents. Defaults to 1 (True).
1108
+
1109
+ delete-tool or dt Delete tool
1110
+ --project-id or --pid ID of the project
1111
+ --tool-id or --tid ID of the tool to delete
1112
+ --tool-name or --tname Name of the tool to delete
1113
+
1114
+ update-tool or ut Update tool
1115
+ --project-id or --pid Unique identifier of the project containing the tool
1116
+ --tool-id or --tid Unique identifier of the tool to update
1117
+ --name or -n Updated name of the tool, must be unique within the project and exclude ':' or '/' if provided
1118
+ --description or -d Updated description of the tool’s purpose, helps agents decide when to use it
1119
+ --scope or -s Updated scope of the tool, one of 'builtin', 'external', or 'api'
1120
+ --access-scope or --as Updated access scope of the tool, either 'public' or 'private'
1121
+ --public-name or --pn Updated public name of the tool, required if access_scope is 'public', must be unique and follow a domain/library convention (e.g., 'com.globant.geai.web-search') with only alphanumeric characters, periods, dashes, or underscores
1122
+ --icon or -i Updated URL for the tool’s icon or avatar image
1123
+ --open-api or --oa Updated URL where the OpenAPI specification can be loaded, required for 'api' scope in upsert mode if open_api_json is not provided
1124
+ --open-api-json or --oaj Updated OpenAPI specification in JSON format (e.g., '{"openapi": "3.0.0", "info": {"title": "example", "version": "1.0.0"}, ...}'), required for 'api' scope in upsert mode if open_api is not provided
1125
+ --report-events or --re Updated event reporting mode for tool progress, one of 'None', 'All', 'Start', 'Finish', 'Progress'
1126
+ --parameter or -p Updated tool parameter in JSON format (e.g., '{"key": "param_name", "description": "param description", "isRequired": true, "type": "app"}' or for config parameters: '{"key": "config_name", "description": "config description", "isRequired": true, "type": "config", "value": "config_value", "fromSecret": false}'). Multiple parameters can be specified by using this option multiple times
1127
+ --automatic-publish or --ap Whether to publish the tool after updating (0: update as draft, 1: update and publish)
1128
+ --upsert Whether to create the tool if it doesn’t exist (0: update only if exists, 1: insert if doesn’t exist)
1129
+
1130
+ publish-tool-revision or ptr Publish tool revision
1131
+ --project-id or --pid ID of the project
1132
+ --tool-id or --tid ID of the tool to retrieve
1133
+ --revision or -r Revision of tool. Use 0 to retrieve the latest revision.
1134
+
1135
+ get-parameter or gp Get tool parameter
1136
+ --project-id or --pid ID of the project
1137
+ --tool-id or --tid ID of the tool to set parameters for
1138
+ --tool-public-name or --tpn Public name of the tool
1139
+ --revision or -r Revision of the parameter. Use 0 to retrieve the latest revision.
1140
+ --version or -v Version of the parameter. Use 0 to retrieve the latest version.
1141
+ --allow-drafts Whether to include draft parameters. Defaults to 1 (True).
1142
+
1143
+ set-parameter or sp Set tool parameter
1144
+ --project-id or --pid ID of the project
1145
+ --tool-id or --tid ID of the tool to set parameters for
1146
+ --tool-public-name or --tpn Public name of the tool
1147
+ --parameter or -p Tool parameter in JSON format. For regular parameters: '{"key": "param_name", "dataType": "String", "description": "param description", "isRequired": true}' For config parameters: '{"key": "config_name", "dataType": "String", "description": "config description", "isRequired": true, "type": "config", "fromSecret": false, "value": "config_value"}' Multiple parameters can be specified by using this option multiple times.
1148
+
1149
+ list-reasoning-strategies or lrs List reasoning strategies
1150
+ --name or -n Name of the reasoning strategy to filter by. Defaults to an empty string (no filtering).
1151
+ --start Starting index for pagination. Defaults to '0'.
1152
+ --count Number of reasoning strategies to retrieve. Defaults to '100'.
1153
+ --allow-external Whether to include external reasoning strategies. Defaults to 1 (True).
1154
+ --access-scope Access scope of the reasoning strategies, either 'public' or 'private'. Defaults to 'public'.
1155
+
1156
+ create-reasoning-strategy or crs Create reasoning strategy
1157
+ --project-id or --pid ID of the project
1158
+ --name or -n Name of the reasoning strategy
1159
+ --system-prompt or --sp System prompt for the reasoning strategy
1160
+ --access-scope or --as Access scope of the reasoning strategy, either 'public' or 'private'. Defaults to 'public'.
1161
+ --type or -t Type of the reasoning strategy, e.g., 'addendum'. Defaults to 'addendum'.
1162
+ --localized-description or --ld Localized description in JSON format: '{"language": "english", "description": "description text"}'. Multiple descriptions can be specified by using this option multiple times.
1163
+ --automatic-publish or --ap Define if reasoning strategy must be published besides being created. 0: Create as draft. 1: Create and publish.
1164
+
1165
+ update-reasoning-strategy or urs Update reasoning strategy
1166
+ --project-id or --pid ID of the project
1167
+ --reasoning-strategy-id or --rsid ID of the reasoning strategy to update
1168
+ --name or -n Name of the reasoning strategy (optional for update)
1169
+ --system-prompt or --sp System prompt for the reasoning strategy (optional for update)
1170
+ --access-scope or --as Access scope of the reasoning strategy, either 'public' or 'private' (optional for update)
1171
+ --type or -t Type of the reasoning strategy, e.g., 'addendum' (optional for update)
1172
+ --localized-description or --ld Localized description in JSON format: '{"language": "english", "description": "description text"}'. Multiple descriptions can be specified by using this option multiple times (optional for update).
1173
+ --automatic-publish or --ap Define if reasoning strategy must be published after being updated. 0: Update as draft. 1: Update and publish. Defaults to 0.
1174
+ --upsert Define if reasoning strategy must be created if it doesn't exist. 0: Update only if it exists. 1: Insert if it doesn't exist. Defaults to 0.
1175
+
1176
+ get-reasoning-strategy or grs Get reasoning strategy
1177
+ --project-id or --pid ID of the project
1178
+ --reasoning-strategy-id or --rsid ID of the reasoning strategy to retrieve (optional if name is provided)
1179
+ --reasoning-strategy-name or --rsn Name of the reasoning strategy to retrieve (optional if ID is provided)
1180
+
1181
+ create-process or cp Create process
1182
+ --project-id or --pid ID of the project
1183
+ --key or -k Unique key for the process
1184
+ --name or -n Name of the process
1185
+ --description or -d Description of the process (optional)
1186
+ --kb Knowledge base in JSON format: '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' (optional)
1187
+ --agentic-activity or --aa Agentic activity in JSON format: '{"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}' or '[]' to clear all activities. Multiple activities can be specified by using this option multiple times.
1188
+ --artifact-signal or --as Artifact signal in JSON format: '{"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}'. Multiple signals can be specified by using this option multiple times (optional).
1189
+ --user-signal or --us User signal in JSON format: '{"key": "signal_done", "name": "process-completed"}'. Multiple signals can be specified by using this option multiple times (optional).
1190
+ --start-event or --se Start event in JSON format: '{"key": "artifact.upload.1", "name": "artifact.upload"}' (optional)
1191
+ --end-event or --ee End event in JSON format: '{"key": "end", "name": "Done"}' (optional)
1192
+ --sequence-flow or --sf Sequence flow in JSON format: '{"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"}'. Multiple flows can be specified by using this option multiple times (optional).
1193
+ --automatic-publish or --ap Define if process must be published after being created. 0: Create as draft. 1: Create and publish. Defaults to 0.
1194
+
1195
+ update-process or up Update process
1196
+ --project-id or --pid ID of the project
1197
+ --process-id or --pid ID of the process to update (optional if name is provided)
1198
+ --name or -n Name of the process to update (optional if process_id is provided)
1199
+ --key or -k Unique key for the process (optional for update)
1200
+ --description or -d Description of the process (optional for update)
1201
+ --kb Knowledge base in JSON format: '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' (optional for update)
1202
+ --agentic-activity or --aa Agentic activity in JSON format: '{"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}' or '[]' to clear all activities. Multiple activities can be specified by using this option multiple times (optional for update).
1203
+ --artifact-signal or --as Artifact signal in JSON format: '{"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}'. Multiple signals can be specified by using this option multiple times (optional for update).
1204
+ --user-signal or --us User signal in JSON format: '{"key": "signal_done", "name": "process-completed"}'. Multiple signals can be specified by using this option multiple times (optional for update).
1205
+ --start-event or --se Start event in JSON format: '{"key": "artifact.upload.1", "name": "artifact.upload"}' (optional for update)
1206
+ --end-event or --ee End event in JSON format: '{"key": "end", "name": "Done"}' (optional for update)
1207
+ --sequence-flow or --sf Sequence flow in JSON format: '{"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"}'. Multiple flows can be specified by using this option multiple times (optional for update).
1208
+ --automatic-publish or --ap Define if process must be published after being updated. 0: Update as draft. 1: Update and publish. Defaults to 0.
1209
+ --upsert Define if process must be created if it doesn't exist. 0: Update only if it exists. 1: Insert if it doesn't exist. Defaults to 0.
1210
+
1211
+ get-process or gp Get process
1212
+ --project-id or --pid ID of the project
1213
+ --process-id or --pid ID of the process to retrieve (optional if process_name is provided)
1214
+ --process-name or --pn Name of the process to retrieve (optional if process_id is provided)
1215
+ --revision or -r Revision of the process to retrieve. Defaults to '0' (latest revision).
1216
+ --version or -v Version of the process to retrieve. Defaults to 0 (latest version).
1217
+ --allow-drafts or --ad Whether to include draft processes in the retrieval. Defaults to 1 (True).
1218
+
1219
+ list-processes or lp List processes
1220
+ --project-id or --pid ID of the project
1221
+ --id ID of the process to filter by (optional)
1222
+ --name or -n Name of the process to filter by (optional)
1223
+ --status or -s Status of the processes to filter by (e.g., 'active', 'inactive') (optional)
1224
+ --start Starting index for pagination. Defaults to '0'.
1225
+ --count Number of processes to retrieve. Defaults to '100'.
1226
+ --allow-draft or --ad Whether to include draft processes in the list. Defaults to 1 (True).
1227
+
1228
+ list-processes-instances or lpi List processes instances
1229
+ --project-id or --pid ID of the project
1230
+ --process-id or --pid ID of the process to list instances for
1231
+ --is-active or --ia Whether to list only active process instances. Defaults to 1 (True).
1232
+ --start Starting index for pagination. Defaults to '0'.
1233
+ --count Number of process instances to retrieve. Defaults to '10'.
1234
+
1235
+ delete-process or dp Delete process
1236
+ --project-id or --pid ID of the project
1237
+ --process-id or --pid ID of the process to delete (optional if process_name is provided)
1238
+ --process-name or --pn Name of the process to delete (optional if process_id is provided)
1239
+
1240
+ publish-process-revision or ppr Publish process revision
1241
+ --project-id or --pid ID of the project
1242
+ --process-id or --pid ID of the process to publish (optional if process_name is provided)
1243
+ --process-name or --pn Name of the process to publish (optional if process_id is provided)
1244
+ --revision or -r Revision of the process to publish
1245
+
1246
+ create-task or ctsk Create task
1247
+ --project-id or --pid ID of the project
1248
+ --name or -n Name of the task (required, must be unique within the project, no ':' or '/')
1249
+ --description or -d Description of what the task does (optional)
1250
+ --title-template or --tt Title template for task instances (optional, e.g., 'specs for {{issue}}')
1251
+ --id Custom ID for the task (optional, used instead of system-assigned ID)
1252
+ --prompt-data or --pd Prompt configuration as JSON (optional, e.g., '{"instructions": "Do this", "inputs": ["x"]}')
1253
+ --artifact-types or --at Artifact types as JSON array (optional, e.g., '[{"name": "doc", "description": "Docs", "isRequired": true, "usageType": "output", "artifactVariableKey": "doc_prefix"}]')
1254
+ --automatic-publish or --ap Define if task must be published after creation. 0: Create as draft. 1: Create and publish. Defaults to 0.
1255
+
1256
+ get-task or gtsk Get task
1257
+ --project-id or --pid ID of the project
1258
+ --task-id or --tid ID of the task to retrieve
1259
+ --task-name or --tn Name of the task to retrieve (optional if task_id is provided)
1260
+
1261
+ list-tasks or ltsk List tasks
1262
+ --project-id or --pid ID of the project
1263
+ --id ID of the task to filter by (optional)
1264
+ --start Starting index for pagination. Defaults to '0'.
1265
+ --count Number of tasks to retrieve. Defaults to '100'.
1266
+ --allow-drafts or --ad Whether to include draft tasks in the list. Defaults to 1 (True).
1267
+
1268
+ update-task or utsk Update task
1269
+ --project-id or --pid ID of the project
1270
+ --task-id or --tid ID of the task to update
1271
+ --name or -n Updated name of the task (optional, must be unique within the project, no ':' or '/' if provided)
1272
+ --description or -d Updated description of what the task does (optional)
1273
+ --title-template or --tt Updated title template for task instances (optional, e.g., 'specs for {{issue}}')
1274
+ --id Custom ID for the task (optional, used in upsert mode if creating a new task)
1275
+ --prompt-data or --pd Updated prompt configuration as JSON (optional, e.g., '{"instructions": "Do this", "inputs": ["x"]}')
1276
+ --artifact-types or --at Updated artifact types as JSON array (optional, e.g., '[{"name": "doc", "description": "Docs", "isRequired": true, "usageType": "output", "artifactVariableKey": "doc_prefix"}]')
1277
+ --automatic-publish or --ap Define if task must be published after update. 0: Update as draft. 1: Update and publish. Defaults to 0.
1278
+ --upsert Define if task must be created if it doesn't exist. 0: Update only if exists. 1: Insert if doesn't exist. Defaults to 0.
1279
+
1280
+ delete-task or dtsk Delete task
1281
+ --project-id or --pid ID of the project
1282
+ --task-id or --tid ID of the task to delete
1283
+ --task-name or --tn Name of the task to delete (optional if task_id is provided)
1284
+
1285
+ publish-task-revision or ptskr Publish task revision
1286
+ --project-id or --pid ID of the project
1287
+ --task-id or --tid ID of the task to publish
1288
+ --task-name or --tn Name of the task to publish (optional if task_id is provided)
1289
+ --revision or -r Revision of the task to publish
1290
+
1291
+ start-instance or si Start process instance
1292
+ --project-id or --pid ID of the project
1293
+ --process-name or --pn Name of the process to start an instance for
1294
+ --subject or -s Subject of the process instance (optional)
1295
+ --variables or -v Variables for the process instance in JSON list format: '[{"key": "location", "value": "Paris"}]' (optional)
1296
+
1297
+ abort-instance or ai Abort process instance
1298
+ --project-id or --pid ID of the project
1299
+ --instance-id or --iid ID of the instance to abort
1300
+
1301
+ get-instance or gi Get process instance
1302
+ --project-id or --pid ID of the project
1303
+ --instance-id or --iid ID of the instance to retrieve
1304
+
1305
+ get-instance-history or gih Get process instance history
1306
+ --project-id or --pid ID of the project
1307
+ --instance-id or --iid ID of the instance to retrieve history for
1308
+
1309
+ get-thread-information or gti Get thread information
1310
+ --project-id or --pid ID of the project
1311
+ --thread-id or --tid ID of the thread to retrieve information for
1312
+
1313
+ send-user-signal or sus Send user signal to process instance
1314
+ --project-id or --pid ID of the project
1315
+ --instance-id or --iid ID of the instance to send the signal to
1316
+ --signal-name or --sn Name of the user signal to send (e.g., 'approval')
1317
+
1318
+ create-kb or ckb Create knowledge base
1319
+ --project-id or --pid ID of the project
1320
+ --name or -n Name of the knowledge base
1321
+ --artifacts or -a List of artifact names in JSON format: '["artifact1", "artifact2"]'. Optional.
1322
+ --metadata or -m List of metadata fields in JSON format: '["meta1", "meta2"]'. Optional.
1323
+
1324
+ get-kb or gkb Get knowledge base
1325
+ --project-id or --pid ID of the project
1326
+ --kb-id or --kid ID of the knowledge base to retrieve (optional if kb_name is provided)
1327
+ --kb-name or --kn Name of the knowledge base to retrieve (optional if kb_id is provided)
1328
+
1329
+ list-kbs or lkb List knowledge bases
1330
+ --project-id or --pid ID of the project
1331
+ --name or -n Name of the knowledge base to filter by (optional)
1332
+ --start Starting index for pagination. Defaults to '0'.
1333
+ --count Number of knowledge bases to retrieve. Defaults to '100'.
1334
+
1335
+ delete-kb or dkb Delete knowledge base
1336
+ --project-id or --pid ID of the project
1337
+ --kb-id or --kid ID of the knowledge base to delete (optional if kb_name is provided)
1338
+ --kb-name or --kn Name of the knowledge base to delete (optional if kb_id is provided)
1339
+
1340
+ list-jobs or lj List runtime jobs
1341
+ --project-id or --pid ID of the project
1342
+ --start or -s Starting index for pagination. Defaults to '0'.
1343
+ --count or -c Number of jobs to retrieve. Defaults to '100'.
1344
+ --topic Topic of the jobs to filter by (optional).
1345
+ --token or -t Token of the jobs to filter by (optional).
1346
+ --name or -n Name of the jobs to filter by (optional).
1347
+
1348
+ GEAI CLI - AI LAB - SPEC
1349
+ ------------------------
1350
+
1351
+
1352
+ SYNOPSIS
1353
+ geai spec <subcommand> --[flag] [flag_arg]
1354
+
1355
+ DESCRIPTION
1356
+ geai spec is a command from geai cli utility, developed to load components to the AI Lab in GEAI from json specifications.
1357
+
1358
+ The options are as follows:
1359
+ help or h Display help text
1360
+
1361
+ load-agent or la Load agent from JSON specification
1362
+ --project-id or --pid ID of the project
1363
+ --file or -f Path to the file containing agent definition in JSON format.
1364
+ --automatic-publish or --ap Define if reasoning strategy must be published besides being created. 0: Create as draft. 1: Create and publish.
1365
+
1366
+ load-tool or lt Load tool from JSON specification
1367
+ --project-id or --pid ID of the project
1368
+ --file or -f Path to the file containing tool definition in JSON format.
1369
+ --automatic-publish or --ap Define if tool must be published besides being created. 0: Create as draft. 1: Create and publish.
1370
+
1371
+ load-task Load task from JSON specification
1372
+ --project-id or --pid ID of the project
1373
+ --file or -f Path to the file containing task definition in JSON format.
1374
+ --automatic-publish or --ap Define if task must be published besides being created. 0: Create as draft. 1: Create and publish.
1375
+
1376
+ load-agentic-process or lap Load agentic process from JSON specification
1377
+ --project-id or --pid ID of the project
1378
+ --file or -f Path to the file containing agentic process definition in JSON format.
1379
+ --automatic-publish or --ap Define if agentic process must be published besides being created. 0: Create as draft. 1: Create and publish.
1380
+
1381
+ GEAI CLI - MIGRATE
1382
+ ------------------
1383
+ SYNOPSIS
1384
+ geai migrate <subcommand> --[flag] [flag_arg]
1385
+
1386
+ DESCRIPTION
1387
+ geai migrate is a command from geai cli utility, developed to migrate data between organizations and instances of GEAI.
1388
+
1389
+ The options are as follows:
1390
+ help or h Display help text
1391
+
1392
+ clone-project Clone project from instance
1393
+ --from-api-key or --fak API key for the source instance
1394
+ --from-project-id or --fpid ID of the source project to migrate from
1395
+ --from-instance or --fi URL from the source instance to migrate from
1396
+ --to-api-key or --tak API key for the destination instance. If not specified, the same instance's API key will be used
1397
+ --to-project-name or --tpn Name of the destination project to migrate to
1398
+ --to-instance or --ti URL from the destination instance to migrate to. If not specified, the same instance's URL will be used
1399
+ --admin-email or --ae Email from destination project's administrator
1400
+
1401
+ clone-agent Clone agentt from instance
1402
+ --from-api-key or --fak API key for the source instance
1403
+ --from-project-id or --fpid ID of the source project to migrate from
1404
+ --from-instance or --fi URL from the source instance to migrate from
1405
+ --to-api-key or --tak API key for the destination instance. If not specified, the same instance's API key will be used
1406
+ --to-project-id or --tpid ID of the destination project to migrate to
1407
+ --to-instance or --ti URL from the destination instance to migrate to. If not specified, the same instance's URL will be used
1408
+ --agent-id or --aid Unique identifier from the agent to be migrated
1409
+
1410
+ clone-tool Clone tool from instance
1411
+ --from-api-key or --fak API key for the source instance
1412
+ --from-project-id or --fpid ID of the source project to migrate from
1413
+ --from-instance or --fi URL from the source instance to migrate from
1414
+ --to-api-key or --tak API key for the destination instance. If not specified, the same instance's API key will be used
1415
+ --to-project-id or --tpid ID of the destination project to migrate to
1416
+ --to-instance or --ti URL from the destination instance to migrate to. If not specified, the same instance's URL will be used
1417
+ --tool-id or --tid Unique identifier from the tool to be migrated
1418
+
1419
+ clone-process Clone process from instance
1420
+ --from-api-key or --fak API key for the source instance
1421
+ --from-project-id or --fpid ID of the source project to migrate from
1422
+ --from-instance or --fi URL from the source instance to migrate from
1423
+ --to-api-key or --tak API key for the destination instance. If not specified, the same instance's API key will be used
1424
+ --to-project-id or --tpid ID of the destination project to migrate to
1425
+ --to-instance or --ti URL from the destination instance to migrate to. If not specified, the same instance's URL will be used
1426
+ --process-id or --pid Unique identifier from the process to be migrated
1427
+
1428
+
1429
+ PyGEAI Debugger
1430
+ Overview
1431
+ geai-dbg is a command-line debugger for the geai CLI tool, part of the pygeai package. It allows developers to pause execution at specified points (breakpoints) in the geai codebase, inspect local variables, execute arbitrary Python code in the current context, and control program flow interactively. Breakpoints can be set by module or function name, providing flexibility for debugging complex CLI workflows.
1432
+
1433
+ The debugger is invoked by running the geai-dbg command, typically with the same arguments as the geai CLI. It pauses execution at predefined or user-specified breakpoints, presenting an interactive prompt (geai-dbg) for issuing commands.
1434
+
1435
+ Installation and Setup
1436
+ geai-dbg is included in the pygeai package. Ensure pygeai is installed in your Python environment:
1437
+
1438
+ pip install pygeai
1439
+ No additional setup is required. The debugger script (debugger.py) is located in the pygeai.dbg module and can be invoked via the geai-dbg command.
1440
+
1441
+ Usage
1442
+ To use geai-dbg, run it with the same arguments you would pass to the geai CLI. For example:
1443
+
1444
+ geai-dbg ail lrs
1445
+ This command runs the geai CLI with the arguments ail lrs under the debugger. The debugger automatically sets a breakpoint at the main function in the pygeai.cli.geai module, pausing execution before the geai command processes the arguments.
1446
+
1447
+ Upon hitting a breakpoint, the debugger displays:
1448
+
1449
+ The location (module and function) where execution is paused.
1450
+
1451
+ Local variables in the current context.
1452
+
1453
+ An interactive prompt (geai-dbg) for entering commands.
1454
+
1455
+ You can then inspect variables, add breakpoints, execute code, or control execution using the available commands.
1456
+
1457
+ Commands
1458
+ At the (geai-dbg) prompt, the following commands are available:
1459
+
1460
+ continue, c
1461
+ Resume execution until the next breakpoint is hit or the program completes.
1462
+
1463
+ quit, q, Ctrl+D
1464
+ Exit the debugger, terminating the program with a clean exit status (0).
1465
+
1466
+ run, r
1467
+ Run the program to completion, disabling all breakpoints and skipping further pauses.
1468
+
1469
+ breakpoint-module, bm
1470
+ Add a breakpoint for a specific module. Prompts for a module name (e.g., pygeai.cli.commands). Press Enter to set a wildcard breakpoint (any module).
1471
+
1472
+ breakpoint-function, bf
1473
+ Add a breakpoint for a specific function, optionally scoped to a module. Prompts for a function name (e.g., main) and an optional module name. Press Enter for wildcards (any function or module).
1474
+
1475
+ list-modules, lm
1476
+ List all loaded modules starting with pygeai, useful for identifying valid module names for breakpoints.
1477
+
1478
+ help, h
1479
+ Display a list of available commands and their descriptions.
1480
+
1481
+ <Python code>
1482
+ Execute arbitrary Python code in the current context. For example, print(sys.argv) displays the command-line arguments. Errors are caught and logged without crashing the debugger.
1483
+
1484
+ Ctrl+C
1485
+ Interrupt the current command input and resume execution, equivalent to continue.
1486
+
1487
+ Examples
1488
+ Example 1: Debugging a geai Command
1489
+
1490
+ Suppose you want to debug the geai ail lrs command to inspect its execution. Run:
1491
+
1492
+ geai-dbg ail lrs
1493
+ Output:
1494
+
1495
+ 2025-05-12 15:04:57,263 - geai - INFO - GEAI debugger started.
1496
+ 2025-05-12 15:04:57,263 - geai - INFO - geai module: pygeai.cli.geai
1497
+ 2025-05-12 15:04:57,263 - geai - INFO - Breakpoint added: pygeai.cli.geai:main
1498
+ 2025-05-12 15:04:57,264 - geai - INFO - Setting trace and running geai
1499
+ 2025-05-12 15:04:57,264 - geai - INFO - Breakpoint hit at pygeai.cli.geai.main
1500
+ 2025-05-12 15:04:57,264 - geai - INFO - Local variables: {}
1501
+
1502
+ Paused at pygeai.cli.geai.main
1503
+ Enter commands to execute in the current context (type 'continue' to resume, 'quit' to exit, 'help' to display available commands):
1504
+ (geai-dbg)
1505
+ List available commands:
1506
+
1507
+ (geai-dbg) h
1508
+ Available commands:
1509
+ continue, c: Resume execution until next breakpoint
1510
+ quit, q: Exit the debugger
1511
+ run, r: Run program without further pauses
1512
+ breakpoint-module, bm: Add a module breakpoint
1513
+ breakpoint-function, bf: Add a function breakpoint
1514
+ list-modules, lm: List available modules
1515
+ <Python code>: Execute arbitrary Python code in the current context
1516
+ List modules to find valid breakpoint targets:
1517
+
1518
+ (geai-dbg) lm
1519
+ 2025-05-12 15:05:03,595 - geai - INFO - Listing available modules
1520
+ Available modules: ['pygeai', 'pygeai.dbg', 'pygeai.cli', ...]
1521
+ Continue to the next breakpoint (e.g., another hit on main in a different context):
1522
+
1523
+ (geai-dbg) c
1524
+ 2025-05-12 15:05:18,424 - geai - DEBUG - Alias: default
1525
+ 2025-05-12 15:05:18,424 - geai - DEBUG - Base URL: api.beta.saia.ai/
1526
+ 2025-05-12 15:05:18,425 - geai - INFO - Breakpoint hit at pygeai.cli.geai.main
1527
+ 2025-05-12 15:05:18,425 - geai - INFO - Local variables: {'self': <pygeai.cli.geai.CLIDriver object at 0x100f34080>, 'args': None}
1528
+
1529
+ Paused at pygeai.cli.geai.main
1530
+ Enter commands to execute in the current context (type 'continue' to resume, 'quit' to exit, 'help' to display available commands):
1531
+ (geai-dbg)
1532
+ Run the program to completion:
1533
+
1534
+ (geai-dbg) run
1535
+ 2025-05-12 15:05:21,221 - geai - INFO - Running program without further pauses.
1536
+ 2025-05-12 15:05:21,222 - geai - DEBUG - Running geai with: /Users/alejandro.trinidad/globant/genexus/sdk/venv/bin/geai-dbg ail lrs
1537
+ 2025-05-12 15:05:21,222 - geai - DEBUG - Listing reasoning strategies
1538
+ [geai output listing reasoning strategies]
1539
+ 2025-05-12 15:05:21,878 - geai - INFO - Cleaning up trace
1540
+ Example 2: Inspecting Variables
1541
+
1542
+ At a breakpoint, inspect command-line arguments:
1543
+
1544
+ (geai-dbg) print(sys.argv)
1545
+ 2025-05-12 15:05:21,300 - geai - INFO - Executing interactive command: print(sys.argv)
1546
+ ['/Users/alejandro.trinidad/globant/genexus/sdk/venv/bin/geai-dbg', 'ail', 'lrs']
1547
+ Example 3: Adding a Breakpoint
1548
+
1549
+ Add a breakpoint for the pygeai.cli.commands module:
1550
+
1551
+ (geai-dbg) bm
1552
+ 2025-05-12 15:05:21,400 - geai - INFO - Adding breakpoint on module
1553
+ (geai-dbg) Enter module name (or press Enter for any module): pygeai.cli.commands
1554
+ 2025-05-12 15:05:21,500 - geai - INFO - Breakpoint added: pygeai.cli.commands:*
1555
+ Notes
1556
+ Ctrl+D and Ctrl+C: - Pressing Ctrl+D at the (geai-dbg) prompt terminates the debugger gracefully, logging “Debugger terminated by user (EOF).” and exiting with status 0. - Pressing Ctrl+C resumes execution, equivalent to the continue command.
1557
+
1558
+ Python Code Execution: - Arbitrary Python code executed at the prompt runs in the context of the paused frame, with access to local and global variables. Use with caution, as it can modify program state.
1559
+
1560
+ Breakpoint Wildcards: - Use bm or bf with empty inputs to set wildcard breakpoints, pausing on any module or function. This is useful for exploratory debugging.
1561
+
1562
+ Logging: - The debugger logs to stdout with timestamps, including breakpoint hits, local variables, and command execution. Errors in Python code execution are logged without crashing the debugger.
1563
+
1564
+ For issues or feature requests, contact the pygeai development team.
1565
+
1566
+ See also
1567
+
1568
+ geai CLI documentation for details on the underlying command-line tool.
1569
+
1570
+ Python’s sys.settrace documentation for technical details on the debugging mechanism.
1571
+ """
1572
+
1573
+ agent_id = str(uuid.uuid4())
1574
+
1575
+ agent = Agent(
1576
+ id=agent_id,
1577
+ status="active",
1578
+ name="PyGEAI CLI Expert",
1579
+ access_scope="public",
1580
+ public_name="com.globant.geai.pygeai_cli_expert",
1581
+ job_description="Assists with PyGEAI CLI queries",
1582
+ avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851447_logo_512x512.png",
1583
+ description="Agent that provides guidance on using the PyGEAI command-line interface, including commands, subcommands, options, and error handling, based on comprehensive CLI documentation.",
1584
+ is_draft=False,
1585
+ is_readonly=False,
1586
+ revision=1,
1587
+ version=None,
1588
+ agent_data=AgentData(
1589
+ prompt=Prompt(
1590
+ instructions=f"""\
1591
+ You are an expert assistant for the PyGEAI CLI, designed to answer queries about its commands, subcommands, options, and error codes. Use the following GEAI CLI documentation as your knowledge base to provide accurate, clear, and concise responses in plain text. Tailor the response tone based on the 'style' input (formal or informal). If the query is unclear, ask for clarification. Provide examples where relevant. If an error code is mentioned, explain its meaning and suggest solutions.
1592
+ IMPORTANT: Answers should be short, clear and concise.
1593
+
1594
+ The documentation is provided below for reference:
1595
+
1596
+ {GEAI_CLI_HELP}
1597
+
1598
+ Respond with a detailed answer to the query and a brief summary. Ensure responses are accurate and aligned with the documentation.
1599
+ """,
1600
+ inputs=["query", "style"],
1601
+ outputs=[
1602
+ PromptOutput(key="response", description="Answer to the user's query about PyGEAI CLI, in plain text."),
1603
+ ],
1604
+ examples=[
1605
+ PromptExample(
1606
+ input_data="How do I create a new project in PyGEAI CLI? [formal]",
1607
+ output='Use `geai organization create-project` with required flags like --name and --email.'
1608
+ ),
1609
+ PromptExample(
1610
+ input_data="What does error code 401 mean? [informal]",
1611
+ output='Error code 401 in PyGEAI CLI means \'Unauthorized\'. It happens when your API key or token is missing or invalid. Double-check your API key with `geai configure --key <your_key>` or verify your token with `geai admin validate-token`'
1612
+ ),
1613
+ PromptExample(
1614
+ input_data="How to list all assistants in a project? [formal]",
1615
+ output='To list all assistants in a project, use the command: `geai organization list-assistants --organization-id <org_id> --project-id <project_id>`. Example: `geai organization list-assistants --organization-id org123 --project-id proj456`. Ensure you have configured the API key using `geai configure`.'
1616
+ )
1617
+ ]
1618
+ ),
1619
+ llm_config=LlmConfig(
1620
+ max_tokens=5000,
1621
+ timeout=0,
1622
+ sampling=Sampling(temperature=0.7, top_k=0, top_p=0)
1623
+ ),
1624
+ models=[Model(name="openai/gpt-4.1")]
1625
+ )
1626
+ )
1627
+
1628
+
1629
+ manager = AILabManager()
1630
+ result = manager.create_agent(
1631
+ project_id="2ca6883f-6778-40bb-bcc1-85451fb11107",
1632
+ agent=agent,
1633
+ automatic_publish=False
1634
+ )
1635
+
1636
+
1637
+ if isinstance(result, Agent):
1638
+ print(f"Agent created successfully: {agent.to_dict()}")
1639
+ else:
1640
+ print("Errors:", result.errors)