pygeai 0.6.0b6__py3-none-any.whl → 0.6.0b10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygeai/_docs/source/conf.py +78 -6
- pygeai/_docs/source/content/api_reference/admin.rst +161 -0
- pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
- pygeai/_docs/source/content/api_reference/auth.rst +379 -0
- pygeai/_docs/source/content/api_reference/embeddings.rst +31 -1
- pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
- pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
- pygeai/_docs/source/content/api_reference/files.rst +592 -0
- pygeai/_docs/source/content/api_reference/gam.rst +401 -0
- pygeai/_docs/source/content/api_reference/health.rst +58 -0
- pygeai/_docs/source/content/api_reference/project.rst +20 -18
- pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
- pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
- pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
- pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
- pygeai/_docs/source/content/api_reference.rst +13 -1
- pygeai/_docs/source/content/debugger.rst +376 -83
- pygeai/_docs/source/content/migration.rst +528 -0
- pygeai/_docs/source/content/modules.rst +1 -1
- pygeai/_docs/source/index.rst +59 -7
- pygeai/_docs/source/pygeai.auth.rst +29 -0
- pygeai/_docs/source/pygeai.cli.commands.rst +16 -0
- pygeai/_docs/source/pygeai.cli.rst +8 -0
- pygeai/_docs/source/pygeai.core.utils.rst +16 -0
- pygeai/_docs/source/pygeai.rst +1 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +21 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.rst +16 -0
- pygeai/_docs/source/pygeai.tests.cli.rst +16 -0
- pygeai/_docs/source/pygeai.tests.core.base.rst +8 -0
- pygeai/_docs/source/pygeai.tests.core.embeddings.rst +16 -0
- pygeai/_docs/source/pygeai.tests.core.files.rst +8 -0
- pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.rst +1 -0
- pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +8 -0
- pygeai/_docs/source/pygeai.tests.organization.rst +8 -0
- pygeai/_docs/source/pygeai.tests.rst +2 -0
- pygeai/_docs/source/pygeai.tests.snippets.auth.rst +10 -0
- pygeai/_docs/source/pygeai.tests.snippets.chat.rst +40 -0
- pygeai/_docs/source/pygeai.tests.snippets.dbg.rst +45 -0
- pygeai/_docs/source/pygeai.tests.snippets.embeddings.rst +40 -0
- pygeai/_docs/source/pygeai.tests.snippets.evaluation.dataset.rst +197 -0
- pygeai/_docs/source/pygeai.tests.snippets.evaluation.plan.rst +133 -0
- pygeai/_docs/source/pygeai.tests.snippets.evaluation.result.rst +37 -0
- pygeai/_docs/source/pygeai.tests.snippets.evaluation.rst +10 -0
- pygeai/_docs/source/pygeai.tests.snippets.organization.rst +40 -0
- pygeai/_docs/source/pygeai.tests.snippets.rst +2 -0
- pygeai/admin/clients.py +12 -32
- pygeai/assistant/clients.py +16 -44
- pygeai/assistant/data/clients.py +1 -0
- pygeai/assistant/data_analyst/clients.py +6 -13
- pygeai/assistant/rag/clients.py +24 -67
- pygeai/auth/clients.py +88 -14
- pygeai/auth/endpoints.py +4 -0
- pygeai/chat/clients.py +192 -25
- pygeai/chat/endpoints.py +2 -1
- pygeai/cli/commands/auth.py +178 -2
- pygeai/cli/commands/chat.py +227 -1
- pygeai/cli/commands/embeddings.py +56 -8
- pygeai/cli/commands/lab/ai_lab.py +0 -2
- pygeai/cli/commands/migrate.py +994 -434
- pygeai/cli/commands/organization.py +241 -0
- pygeai/cli/error_handler.py +116 -0
- pygeai/cli/geai.py +28 -10
- pygeai/cli/parsers.py +8 -2
- pygeai/core/base/clients.py +4 -1
- pygeai/core/common/exceptions.py +11 -10
- pygeai/core/embeddings/__init__.py +19 -0
- pygeai/core/embeddings/clients.py +20 -9
- pygeai/core/embeddings/mappers.py +16 -2
- pygeai/core/embeddings/responses.py +9 -2
- pygeai/core/feedback/clients.py +4 -8
- pygeai/core/files/clients.py +10 -25
- pygeai/core/files/managers.py +42 -0
- pygeai/core/llm/clients.py +11 -26
- pygeai/core/models.py +107 -0
- pygeai/core/plugins/clients.py +4 -7
- pygeai/core/rerank/clients.py +4 -8
- pygeai/core/secrets/clients.py +14 -37
- pygeai/core/services/rest.py +1 -1
- pygeai/core/utils/parsers.py +32 -0
- pygeai/core/utils/validators.py +10 -0
- pygeai/dbg/__init__.py +3 -0
- pygeai/dbg/debugger.py +565 -70
- pygeai/evaluation/clients.py +2 -1
- pygeai/evaluation/dataset/clients.py +46 -44
- pygeai/evaluation/plan/clients.py +28 -26
- pygeai/evaluation/result/clients.py +38 -5
- pygeai/gam/clients.py +10 -25
- pygeai/health/clients.py +4 -7
- pygeai/lab/agents/clients.py +21 -54
- pygeai/lab/agents/endpoints.py +2 -0
- pygeai/lab/clients.py +1 -0
- pygeai/lab/models.py +3 -3
- pygeai/lab/processes/clients.py +45 -127
- pygeai/lab/strategies/clients.py +11 -25
- pygeai/lab/tools/clients.py +23 -67
- pygeai/lab/tools/endpoints.py +3 -0
- pygeai/migration/__init__.py +31 -0
- pygeai/migration/strategies.py +404 -155
- pygeai/migration/tools.py +170 -3
- pygeai/organization/clients.py +135 -51
- pygeai/organization/endpoints.py +6 -1
- pygeai/organization/limits/clients.py +32 -91
- pygeai/organization/managers.py +157 -1
- pygeai/organization/mappers.py +76 -2
- pygeai/organization/responses.py +25 -1
- pygeai/proxy/clients.py +4 -1
- pygeai/tests/admin/test_clients.py +16 -11
- pygeai/tests/assistants/rag/test_clients.py +35 -23
- pygeai/tests/assistants/test_clients.py +22 -15
- pygeai/tests/auth/test_clients.py +191 -7
- pygeai/tests/chat/test_clients.py +211 -1
- pygeai/tests/cli/commands/test_embeddings.py +32 -9
- pygeai/tests/cli/commands/test_evaluation.py +7 -0
- pygeai/tests/cli/commands/test_migrate.py +112 -243
- pygeai/tests/cli/test_error_handler.py +225 -0
- pygeai/tests/cli/test_geai_driver.py +154 -0
- pygeai/tests/cli/test_parsers.py +5 -5
- pygeai/tests/core/embeddings/test_clients.py +144 -0
- pygeai/tests/core/embeddings/test_managers.py +171 -0
- pygeai/tests/core/embeddings/test_mappers.py +142 -0
- pygeai/tests/core/feedback/test_clients.py +2 -0
- pygeai/tests/core/files/test_clients.py +1 -0
- pygeai/tests/core/llm/test_clients.py +14 -9
- pygeai/tests/core/plugins/test_clients.py +5 -3
- pygeai/tests/core/rerank/test_clients.py +1 -0
- pygeai/tests/core/secrets/test_clients.py +19 -13
- pygeai/tests/dbg/test_debugger.py +453 -75
- pygeai/tests/evaluation/dataset/test_clients.py +3 -1
- pygeai/tests/evaluation/plan/test_clients.py +4 -2
- pygeai/tests/evaluation/result/test_clients.py +7 -5
- pygeai/tests/gam/test_clients.py +1 -1
- pygeai/tests/health/test_clients.py +1 -0
- pygeai/tests/lab/agents/test_clients.py +9 -0
- pygeai/tests/lab/processes/test_clients.py +36 -0
- pygeai/tests/lab/processes/test_mappers.py +3 -0
- pygeai/tests/lab/strategies/test_clients.py +14 -9
- pygeai/tests/migration/test_strategies.py +45 -218
- pygeai/tests/migration/test_tools.py +133 -9
- pygeai/tests/organization/limits/test_clients.py +17 -0
- pygeai/tests/organization/test_clients.py +206 -1
- pygeai/tests/organization/test_managers.py +122 -1
- pygeai/tests/proxy/test_clients.py +2 -0
- pygeai/tests/proxy/test_integration.py +1 -0
- pygeai/tests/snippets/auth/__init__.py +0 -0
- pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
- pygeai/tests/snippets/chat/get_response.py +15 -0
- pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
- pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
- pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
- pygeai/tests/snippets/dbg/__init__.py +0 -0
- pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
- pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
- pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
- pygeai/tests/snippets/dbg/stepping_example.py +40 -0
- pygeai/tests/snippets/embeddings/cache_example.py +31 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
- pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
- pygeai/tests/snippets/embeddings/openai_example.py +30 -0
- pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
- pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
- pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
- pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
- pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
- pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
- pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
- pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
- pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
- pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
- pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
- pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
- pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
- pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
- pygeai/tests/snippets/migrate/__init__.py +45 -0
- pygeai/tests/snippets/migrate/agent_migration.py +110 -0
- pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
- pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
- pygeai/tests/snippets/migrate/process_migration.py +64 -0
- pygeai/tests/snippets/migrate/project_migration.py +42 -0
- pygeai/tests/snippets/migrate/tool_migration.py +64 -0
- pygeai/tests/snippets/organization/create_project.py +2 -2
- pygeai/tests/snippets/organization/get_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_organization_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_project_roles.py +6 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/METADATA +1 -1
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/RECORD +227 -124
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/WHEEL +0 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/entry_points.txt +0 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/licenses/LICENSE +0 -0
- {pygeai-0.6.0b6.dist-info → pygeai-0.6.0b10.dist-info}/top_level.txt +0 -0
|
@@ -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,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,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,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}")
|
|
@@ -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
|
+
source_id = "your-expected-source-id-here"
|
|
8
|
+
|
|
9
|
+
response = client.update_expected_source(
|
|
10
|
+
dataset_id=dataset_id,
|
|
11
|
+
dataset_row_id=row_id,
|
|
12
|
+
expected_source_id=source_id,
|
|
13
|
+
expected_source_name="Updated Documentation",
|
|
14
|
+
expected_source_value="Updated content from the source...",
|
|
15
|
+
expected_source_extension="txt"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
print(f"Updated expected source: {response}")
|
|
@@ -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
|
+
filter_var_id = "your-filter-variable-id-here"
|
|
8
|
+
|
|
9
|
+
response = client.update_filter_variable(
|
|
10
|
+
dataset_id=dataset_id,
|
|
11
|
+
dataset_row_id=row_id,
|
|
12
|
+
filter_variable_id=filter_var_id,
|
|
13
|
+
metadata_type="V",
|
|
14
|
+
filter_variable_key="category",
|
|
15
|
+
filter_variable_value="technology",
|
|
16
|
+
filter_variable_operator="="
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
print(f"Updated filter variable: {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
|
+
file_path = "path/to/rows.json"
|
|
7
|
+
|
|
8
|
+
response = client.upload_dataset_rows_file(dataset_id=dataset_id, file_path=file_path)
|
|
9
|
+
|
|
10
|
+
print(f"Uploaded rows from file: {response}")
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from pygeai.evaluation.plan.clients import EvaluationPlanClient
|
|
2
|
+
|
|
3
|
+
client = EvaluationPlanClient()
|
|
4
|
+
|
|
5
|
+
evaluation_plan_id = "your-evaluation-plan-id"
|
|
6
|
+
|
|
7
|
+
response = client.add_evaluation_plan_system_metric(
|
|
8
|
+
evaluation_plan_id=evaluation_plan_id,
|
|
9
|
+
system_metric_id="metric-id",
|
|
10
|
+
system_metric_weight=0.5
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
print(f"Added system metric: {response}")
|