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,31 @@
1
+ from pygeai.core.embeddings.managers import EmbeddingsManager
2
+ from pygeai.core.embeddings.models import EmbeddingConfiguration
3
+ from pygeai.core.services.llm.model import Model
4
+ from pygeai.core.services.llm.providers import Provider
5
+ import time
6
+
7
+ manager = EmbeddingsManager()
8
+
9
+ inputs = ["This text will be cached for faster repeated access"]
10
+
11
+ configuration = EmbeddingConfiguration(
12
+ inputs=inputs,
13
+ model=f"{Provider.OPENAI}/{Model.OpenAI.TEXT_EMBEDDING_3_SMALL}",
14
+ cache=True
15
+ )
16
+
17
+ print("First request (not cached)...")
18
+ start = time.time()
19
+ embeddings1 = manager.generate_embeddings(configuration)
20
+ elapsed1 = time.time() - start
21
+ print(f"Time: {elapsed1:.3f}s")
22
+ print(f"Cost: ${embeddings1.usage.total_cost} {embeddings1.usage.currency}")
23
+
24
+ print("\nSecond request (should be cached)...")
25
+ start = time.time()
26
+ embeddings2 = manager.generate_embeddings(configuration)
27
+ elapsed2 = time.time() - start
28
+ print(f"Time: {elapsed2:.3f}s")
29
+ print(f"Cost: ${embeddings2.usage.total_cost} {embeddings2.usage.currency}")
30
+
31
+ print(f"\nCache speedup: {elapsed1/elapsed2:.2f}x faster")
@@ -0,0 +1,41 @@
1
+ from pygeai.core.embeddings.managers import EmbeddingsManager
2
+ from pygeai.core.embeddings.models import EmbeddingConfiguration
3
+ from pygeai.core.services.llm.model import Model
4
+ from pygeai.core.services.llm.providers import Provider
5
+
6
+ manager = EmbeddingsManager()
7
+
8
+ document_inputs = [
9
+ "Machine learning is a subset of artificial intelligence",
10
+ "Neural networks are inspired by the human brain"
11
+ ]
12
+
13
+ configuration = EmbeddingConfiguration(
14
+ inputs=document_inputs,
15
+ model=f"{Provider.COHERE}/{Model.Cohere.EMBED_ENGLISH_V3_0}",
16
+ input_type="search_document",
17
+ timeout=600,
18
+ cache=False
19
+ )
20
+
21
+ embeddings = manager.generate_embeddings(configuration)
22
+
23
+ print(f"Model: {embeddings.model}")
24
+ print(f"Input type: search_document")
25
+ print(f"Documents embedded: {len(embeddings.data)}")
26
+ print(f"Usage - Prompt tokens: {embeddings.usage.prompt_tokens}")
27
+ print(f"Usage - Total cost: ${embeddings.usage.total_cost} {embeddings.usage.currency}")
28
+
29
+ query_input = ["What is neural network?"]
30
+
31
+ query_configuration = EmbeddingConfiguration(
32
+ inputs=query_input,
33
+ model=f"{Provider.COHERE}/{Model.Cohere.EMBED_ENGLISH_V3_0}",
34
+ input_type="search_query",
35
+ timeout=600,
36
+ cache=False
37
+ )
38
+
39
+ query_embeddings = manager.generate_embeddings(query_configuration)
40
+ print(f"\nQuery embedded with input_type: search_query")
41
+ print(f"Usage - Total cost: ${query_embeddings.usage.total_cost} {query_embeddings.usage.currency}")
@@ -0,0 +1,27 @@
1
+ from pygeai.core.embeddings.managers import EmbeddingsManager
2
+ from pygeai.core.embeddings.models import EmbeddingConfiguration
3
+ from pygeai.core.services.llm.model import Model
4
+ from pygeai.core.services.llm.providers import Provider
5
+
6
+ manager = EmbeddingsManager()
7
+
8
+ inputs = ["Text to embed with base64 encoding"]
9
+
10
+ configuration = EmbeddingConfiguration(
11
+ inputs=inputs,
12
+ model=f"{Provider.OPENAI}/{Model.OpenAI.TEXT_EMBEDDING_3_SMALL}",
13
+ encoding_format="base64",
14
+ dimensions=512,
15
+ user=None,
16
+ input_type=None,
17
+ timeout=600,
18
+ cache=False
19
+ )
20
+
21
+ embeddings = manager.generate_embeddings(configuration)
22
+
23
+ print(f"Model: {embeddings.model}")
24
+ print(f"Encoding format: base64")
25
+ print(f"Embedding (base64 encoded, first 100 chars): {embeddings.data[0].embedding[:100]}")
26
+ print(f"Type of embedding: {type(embeddings.data[0].embedding)}")
27
+ print(f"Usage - Total cost: ${embeddings.usage.total_cost} {embeddings.usage.currency}")
@@ -0,0 +1,30 @@
1
+ from pygeai.core.embeddings.managers import EmbeddingsManager
2
+ from pygeai.core.embeddings.models import EmbeddingConfiguration
3
+ from pygeai.core.services.llm.model import Model
4
+ from pygeai.core.services.llm.providers import Provider
5
+
6
+ manager = EmbeddingsManager()
7
+
8
+ inputs = [
9
+ "The quick brown fox jumps over the lazy dog",
10
+ "Python is a high-level programming language"
11
+ ]
12
+
13
+ configuration = EmbeddingConfiguration(
14
+ inputs=inputs,
15
+ model=f"{Provider.OPENAI}/{Model.OpenAI.TEXT_EMBEDDING_3_SMALL}",
16
+ encoding_format="float",
17
+ dimensions=1536,
18
+ user=None,
19
+ input_type=None,
20
+ timeout=600,
21
+ cache=False
22
+ )
23
+
24
+ embeddings = manager.generate_embeddings(configuration)
25
+
26
+ print(f"Model: {embeddings.model}")
27
+ print(f"Total embeddings generated: {len(embeddings.data)}")
28
+ print(f"Embedding dimensions: {len(embeddings.data[0].embedding)}")
29
+ print(f"Usage - Prompt tokens: {embeddings.usage.prompt_tokens}")
30
+ print(f"Usage - Total cost: ${embeddings.usage.total_cost} {embeddings.usage.currency}")
@@ -0,0 +1,42 @@
1
+ from pygeai.core.embeddings.managers import EmbeddingsManager
2
+ from pygeai.core.embeddings.models import EmbeddingConfiguration
3
+ from pygeai.core.services.llm.model import Model
4
+ from pygeai.core.services.llm.providers import Provider
5
+ import numpy as np
6
+
7
+ def cosine_similarity(vec1, vec2):
8
+ """Calculate cosine similarity between two vectors."""
9
+ vec1 = np.array(vec1)
10
+ vec2 = np.array(vec2)
11
+ return np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
12
+
13
+ manager = EmbeddingsManager()
14
+
15
+ texts = [
16
+ "The cat sits on the mat",
17
+ "A feline rests on a rug",
18
+ "Python is a programming language"
19
+ ]
20
+
21
+ configuration = EmbeddingConfiguration(
22
+ inputs=texts,
23
+ model=f"{Provider.OPENAI}/{Model.OpenAI.TEXT_EMBEDDING_3_SMALL}",
24
+ )
25
+
26
+ embeddings = manager.generate_embeddings(configuration)
27
+
28
+ embedding_vectors = [emb.embedding for emb in embeddings.data]
29
+
30
+ print("Cosine Similarity Matrix:")
31
+ print("=" * 60)
32
+ for i, text1 in enumerate(texts):
33
+ for j, text2 in enumerate(texts):
34
+ if i <= j:
35
+ similarity = cosine_similarity(embedding_vectors[i], embedding_vectors[j])
36
+ print(f"\nText {i+1} vs Text {j+1}: {similarity:.4f}")
37
+ if i != j:
38
+ print(f" '{text1[:40]}...'")
39
+ print(f" '{text2[:40]}...'")
40
+
41
+ print(f"\n{'='*60}")
42
+ print(f"Total cost: ${embeddings.usage.total_cost} {embeddings.usage.currency}")
File without changes
@@ -0,0 +1,195 @@
1
+ """
2
+ Complete Dataset API Workflow Example
3
+
4
+ This example demonstrates a full workflow using the Dataset API:
5
+ 1. Create a dataset
6
+ 2. Add rows
7
+ 3. Add expected sources
8
+ 4. Add filter variables
9
+ 5. Query and update
10
+ 6. Cleanup
11
+
12
+ NOTE: API documentation at https://docs.globant.ai/en/wiki?839,DataSet+API contains a typo.
13
+ The field 'dataSetExpectedSourceExtension' is spelled correctly in this code.
14
+ """
15
+
16
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
17
+
18
+
19
+ def main():
20
+ # Initialize client
21
+ client = EvaluationDatasetClient()
22
+
23
+ print("="*60)
24
+ print("Dataset API Complete Workflow Example")
25
+ print("="*60)
26
+
27
+ # Step 1: Create a dataset
28
+ print("\n[1/7] Creating dataset...")
29
+ dataset = client.create_dataset(
30
+ dataset_name="AI Knowledge Base - Example",
31
+ dataset_description="A sample dataset for AI-related questions",
32
+ dataset_type="T",
33
+ dataset_active=True,
34
+ rows=[]
35
+ )
36
+ dataset_id = dataset.get('dataSetId')
37
+ print(f"✓ Created dataset: {dataset_id}")
38
+
39
+ # Step 2: Add rows to the dataset
40
+ print("\n[2/7] Adding rows...")
41
+ row1 = client.create_dataset_row(
42
+ dataset_id=dataset_id,
43
+ row={
44
+ "dataSetRowInput": "What is Machine Learning?",
45
+ "dataSetRowExpectedAnswer": "Machine Learning is a subset of AI that enables systems to learn from data.",
46
+ "dataSetRowContextDocument": "ML is a fundamental concept in artificial intelligence."
47
+ }
48
+ )
49
+ row1_id = row1.get('dataSetRowId')
50
+ print(f"✓ Created row 1: {row1_id}")
51
+
52
+ row2 = client.create_dataset_row(
53
+ dataset_id=dataset_id,
54
+ row={
55
+ "dataSetRowInput": "What is Deep Learning?",
56
+ "dataSetRowExpectedAnswer": "Deep Learning is a subset of ML using neural networks with multiple layers.",
57
+ "dataSetRowContextDocument": "DL has revolutionized AI in recent years."
58
+ }
59
+ )
60
+ row2_id = row2.get('dataSetRowId')
61
+ print(f"✓ Created row 2: {row2_id}")
62
+
63
+ # Step 3: Add expected sources to row 1
64
+ print("\n[3/7] Adding expected sources to row 1...")
65
+ source1 = client.create_expected_source(
66
+ dataset_id=dataset_id,
67
+ dataset_row_id=row1_id,
68
+ expected_source_name="Introduction to Machine Learning",
69
+ expected_source_value="Machine Learning is a method of data analysis that automates analytical model building.",
70
+ expected_source_extension="pdf"
71
+ )
72
+ source1_id = source1.get('dataSetExpectedSourceId')
73
+ print(f"✓ Created expected source: {source1_id}")
74
+
75
+ # Step 4: Add filter variables to row 1
76
+ print("\n[4/7] Adding filter variables to row 1...")
77
+ filter1 = client.create_filter_variable(
78
+ dataset_id=dataset_id,
79
+ dataset_row_id=row1_id,
80
+ metadata_type="V",
81
+ filter_variable_key="category",
82
+ filter_variable_value="machine-learning",
83
+ filter_variable_operator="="
84
+ )
85
+ filter1_id = filter1.get('dataSetRowFilterVarId')
86
+ print(f"✓ Created filter variable: {filter1_id}")
87
+
88
+ filter2 = client.create_filter_variable(
89
+ dataset_id=dataset_id,
90
+ dataset_row_id=row1_id,
91
+ metadata_type="V",
92
+ filter_variable_key="difficulty",
93
+ filter_variable_value="beginner",
94
+ filter_variable_operator="="
95
+ )
96
+ filter2_id = filter2.get('dataSetRowFilterVarId')
97
+ print(f"✓ Created filter variable: {filter2_id}")
98
+
99
+ # Step 5: Query the dataset
100
+ print("\n[5/7] Querying dataset...")
101
+
102
+ # Get full dataset
103
+ full_dataset = client.get_dataset(dataset_id=dataset_id)
104
+ print(f"✓ Dataset has {len(full_dataset.get('rows', []))} rows")
105
+
106
+ # List all rows
107
+ all_rows = client.list_dataset_rows(dataset_id=dataset_id)
108
+ print(f"✓ Retrieved {len(all_rows) if isinstance(all_rows, list) else 'N/A'} rows")
109
+
110
+ # Get specific row with all details
111
+ row1_details = client.get_dataset_row(dataset_id=dataset_id, dataset_row_id=row1_id)
112
+ print(f"✓ Row 1 has {len(row1_details.get('expectedSources', []))} expected sources")
113
+ print(f"✓ Row 1 has {len(row1_details.get('filterVariables', []))} filter variables")
114
+
115
+ # Step 6: Update operations
116
+ print("\n[6/7] Updating resources...")
117
+
118
+ # Update the dataset description
119
+ updated_dataset = client.update_dataset(
120
+ dataset_id=dataset_id,
121
+ dataset_name="AI Knowledge Base - Updated",
122
+ dataset_description="Updated description for AI dataset",
123
+ dataset_type="T",
124
+ dataset_active=True
125
+ )
126
+ print(f"✓ Updated dataset description")
127
+
128
+ # Update a row
129
+ updated_row = client.update_dataset_row(
130
+ dataset_id=dataset_id,
131
+ dataset_row_id=row2_id,
132
+ row={
133
+ "dataSetRowInput": "What is Deep Learning? (Updated)",
134
+ "dataSetRowExpectedAnswer": "Deep Learning uses neural networks with many layers to learn complex patterns.",
135
+ "dataSetRowContextDocument": "DL is particularly effective for image and speech recognition."
136
+ }
137
+ )
138
+ print(f"✓ Updated row 2")
139
+
140
+ # Update expected source
141
+ updated_source = client.update_expected_source(
142
+ dataset_id=dataset_id,
143
+ dataset_row_id=row1_id,
144
+ expected_source_id=source1_id,
145
+ expected_source_name="ML Fundamentals - Updated",
146
+ expected_source_value="Updated source content about Machine Learning.",
147
+ expected_source_extension="txt"
148
+ )
149
+ print(f"✓ Updated expected source")
150
+
151
+ # Update filter variable
152
+ updated_filter = client.update_filter_variable(
153
+ dataset_id=dataset_id,
154
+ dataset_row_id=row1_id,
155
+ filter_variable_id=filter2_id,
156
+ metadata_type="V",
157
+ filter_variable_key="difficulty",
158
+ filter_variable_value="intermediate",
159
+ filter_variable_operator="="
160
+ )
161
+ print(f"✓ Updated filter variable")
162
+
163
+ # Step 7: Cleanup
164
+ print("\n[7/7] Cleaning up...")
165
+
166
+ # Delete filter variables
167
+ client.delete_filter_variable(dataset_id=dataset_id, dataset_row_id=row1_id, filter_variable_id=filter1_id)
168
+ client.delete_filter_variable(dataset_id=dataset_id, dataset_row_id=row1_id, filter_variable_id=filter2_id)
169
+ print(f"✓ Deleted filter variables")
170
+
171
+ # Delete expected source
172
+ client.delete_expected_source(dataset_id=dataset_id, dataset_row_id=row1_id, expected_source_id=source1_id)
173
+ print(f"✓ Deleted expected source")
174
+
175
+ # Delete rows
176
+ client.delete_dataset_row(dataset_id=dataset_id, dataset_row_id=row1_id)
177
+ client.delete_dataset_row(dataset_id=dataset_id, dataset_row_id=row2_id)
178
+ print(f"✓ Deleted rows")
179
+
180
+ # Delete dataset
181
+ client.delete_dataset(dataset_id=dataset_id)
182
+ print(f"✓ Deleted dataset")
183
+
184
+ print("\n" + "="*60)
185
+ print("Workflow completed successfully!")
186
+ print("="*60)
187
+
188
+
189
+ if __name__ == "__main__":
190
+ try:
191
+ main()
192
+ except Exception as e:
193
+ print(f"\n❌ Error occurred: {e}")
194
+ import traceback
195
+ traceback.print_exc()
@@ -0,0 +1,26 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ response = client.create_dataset(
6
+ dataset_name="My Test Dataset",
7
+ dataset_description="A dataset for testing purposes",
8
+ dataset_type="T",
9
+ dataset_active=True,
10
+ rows=[
11
+ {
12
+ "dataSetRowInput": "What is the capital of France?",
13
+ "dataSetRowExpectedAnswer": "Paris",
14
+ "dataSetRowContextDocument": "France is a country in Europe."
15
+ },
16
+ {
17
+ "dataSetRowInput": "What is 2+2?",
18
+ "dataSetRowExpectedAnswer": "4",
19
+ "dataSetRowContextDocument": ""
20
+ }
21
+ ]
22
+ )
23
+
24
+ print(f"Created dataset: {response}")
25
+ dataset_id = response.get('dataSetId')
26
+ print(f"Dataset ID: {dataset_id}")
@@ -0,0 +1,11 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ file_path = "path/to/dataset.json"
6
+
7
+ response = client.create_dataset_from_file(file_path=file_path)
8
+
9
+ print(f"Created dataset from file: {response}")
10
+ dataset_id = response.get('dataSetId')
11
+ print(f"Dataset ID: {dataset_id}")
@@ -0,0 +1,17 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+
7
+ row = {
8
+ "dataSetRowInput": "What is AI?",
9
+ "dataSetRowExpectedAnswer": "Artificial Intelligence is the simulation of human intelligence by machines.",
10
+ "dataSetRowContextDocument": "AI enables computers to perform tasks that typically require human intelligence."
11
+ }
12
+
13
+ response = client.create_dataset_row(dataset_id=dataset_id, row=row)
14
+
15
+ print(f"Created row: {response}")
16
+ row_id = response.get('dataSetRowId')
17
+ print(f"Row ID: {row_id}")
@@ -0,0 +1,18 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.create_expected_source(
9
+ dataset_id=dataset_id,
10
+ dataset_row_id=row_id,
11
+ expected_source_name="Documentation PDF",
12
+ expected_source_value="This is the content from the source document...",
13
+ expected_source_extension="pdf"
14
+ )
15
+
16
+ print(f"Created expected source: {response}")
17
+ source_id = response.get('dataSetExpectedSourceId')
18
+ print(f"Expected Source ID: {source_id}")
@@ -0,0 +1,19 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.create_filter_variable(
9
+ dataset_id=dataset_id,
10
+ dataset_row_id=row_id,
11
+ metadata_type="V",
12
+ filter_variable_key="category",
13
+ filter_variable_value="science",
14
+ filter_variable_operator="="
15
+ )
16
+
17
+ print(f"Created filter variable: {response}")
18
+ filter_var_id = response.get('dataSetRowFilterVarId')
19
+ print(f"Filter Variable ID: {filter_var_id}")
@@ -0,0 +1,9 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+
7
+ response = client.delete_dataset(dataset_id=dataset_id)
8
+
9
+ print(f"Deleted dataset: {response}")
@@ -0,0 +1,10 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.delete_dataset_row(dataset_id=dataset_id, dataset_row_id=row_id)
9
+
10
+ print(f"Deleted row: {response}")
@@ -0,0 +1,15 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+ source_id = "your-expected-source-id-here"
8
+
9
+ response = client.delete_expected_source(
10
+ dataset_id=dataset_id,
11
+ dataset_row_id=row_id,
12
+ expected_source_id=source_id
13
+ )
14
+
15
+ print(f"Deleted expected source: {response}")
@@ -0,0 +1,15 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+ filter_var_id = "your-filter-variable-id-here"
8
+
9
+ response = client.delete_filter_variable(
10
+ dataset_id=dataset_id,
11
+ dataset_row_id=row_id,
12
+ filter_variable_id=filter_var_id
13
+ )
14
+
15
+ print(f"Deleted filter variable: {response}")
@@ -0,0 +1,9 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+
7
+ response = client.get_dataset(dataset_id=dataset_id)
8
+
9
+ print(f"Dataset details: {response}")
@@ -0,0 +1,10 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.get_dataset_row(dataset_id=dataset_id, dataset_row_id=row_id)
9
+
10
+ print(f"Row details: {response}")
@@ -0,0 +1,15 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+ source_id = "your-expected-source-id-here"
8
+
9
+ response = client.get_expected_source(
10
+ dataset_id=dataset_id,
11
+ dataset_row_id=row_id,
12
+ expected_source_id=source_id
13
+ )
14
+
15
+ print(f"Expected source details: {response}")
@@ -0,0 +1,15 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+ filter_var_id = "your-filter-variable-id-here"
8
+
9
+ response = client.get_filter_variable(
10
+ dataset_id=dataset_id,
11
+ dataset_row_id=row_id,
12
+ filter_variable_id=filter_var_id
13
+ )
14
+
15
+ print(f"Filter variable details: {response}")
@@ -0,0 +1,9 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+
7
+ response = client.list_dataset_rows(dataset_id=dataset_id)
8
+
9
+ print(f"Dataset rows: {response}")
@@ -0,0 +1,6 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ response = client.list_datasets()
6
+ print(f"Datasets: {response}")
@@ -0,0 +1,10 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.list_expected_sources(dataset_id=dataset_id, dataset_row_id=row_id)
9
+
10
+ print(f"Expected sources: {response}")
@@ -0,0 +1,10 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ response = client.list_filter_variables(dataset_id=dataset_id, dataset_row_id=row_id)
9
+
10
+ print(f"Filter variables: {response}")
@@ -0,0 +1,15 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+
7
+ response = client.update_dataset(
8
+ dataset_id=dataset_id,
9
+ dataset_name="Updated Dataset Name",
10
+ dataset_description="Updated description",
11
+ dataset_type="E",
12
+ dataset_active=False
13
+ )
14
+
15
+ print(f"Updated dataset: {response}")
@@ -0,0 +1,20 @@
1
+ from pygeai.evaluation.dataset.clients import EvaluationDatasetClient
2
+
3
+ client = EvaluationDatasetClient()
4
+
5
+ dataset_id = "your-dataset-id-here"
6
+ row_id = "your-row-id-here"
7
+
8
+ updated_row = {
9
+ "dataSetRowInput": "Updated question: What is Machine Learning?",
10
+ "dataSetRowExpectedAnswer": "Updated answer: ML is a subset of AI",
11
+ "dataSetRowContextDocument": "Updated context about ML"
12
+ }
13
+
14
+ response = client.update_dataset_row(
15
+ dataset_id=dataset_id,
16
+ dataset_row_id=row_id,
17
+ row=updated_row
18
+ )
19
+
20
+ print(f"Updated row: {response}")