agenta 0.12.7__tar.gz → 0.13.0__tar.gz
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 agenta might be problematic. Click here for more details.
- {agenta-0.12.7 → agenta-0.13.0}/PKG-INFO +47 -96
- {agenta-0.12.7 → agenta-0.13.0}/README.md +45 -95
- {agenta-0.12.7 → agenta-0.13.0}/agenta/__init__.py +3 -1
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/helper.py +1 -1
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/main.py +1 -1
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/variant_commands.py +7 -5
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/api.py +1 -1
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/__init__.py +78 -18
- agenta-0.13.0/agenta/client/backend/client.py +2008 -0
- agenta-0.13.0/agenta/client/backend/resources/__init__.py +31 -0
- agenta-0.13.0/agenta/client/backend/resources/apps/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/apps/client.py +977 -0
- agenta-0.13.0/agenta/client/backend/resources/bases/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/bases/client.py +127 -0
- agenta-0.13.0/agenta/client/backend/resources/configs/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/configs/client.py +377 -0
- agenta-0.13.0/agenta/client/backend/resources/containers/__init__.py +5 -0
- agenta-0.13.0/agenta/client/backend/resources/containers/client.py +383 -0
- agenta-0.13.0/agenta/client/backend/resources/containers/types/__init__.py +5 -0
- {agenta-0.12.7/agenta/client/backend → agenta-0.13.0/agenta/client/backend/resources/containers}/types/container_templates_response.py +1 -1
- agenta-0.13.0/agenta/client/backend/resources/environments/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/environments/client.py +131 -0
- agenta-0.13.0/agenta/client/backend/resources/evaluations/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/evaluations/client.py +1008 -0
- agenta-0.13.0/agenta/client/backend/resources/evaluators/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/evaluators/client.py +594 -0
- agenta-0.13.0/agenta/client/backend/resources/observability/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/observability/client.py +1184 -0
- agenta-0.13.0/agenta/client/backend/resources/testsets/__init__.py +1 -0
- agenta-0.13.0/agenta/client/backend/resources/testsets/client.py +689 -0
- agenta-0.13.0/agenta/client/backend/resources/variants/__init__.py +5 -0
- agenta-0.13.0/agenta/client/backend/resources/variants/client.py +796 -0
- agenta-0.13.0/agenta/client/backend/resources/variants/types/__init__.py +7 -0
- agenta-0.13.0/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py +7 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/__init__.py +54 -22
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/aggregated_result.py +2 -2
- agenta-0.13.0/agenta/client/backend/types/aggregated_result_evaluator_config.py +9 -0
- agenta-0.12.7/agenta/client/backend/types/app_variant_output.py → agenta-0.13.0/agenta/client/backend/types/app_variant_response.py +4 -2
- agenta-0.12.7/agenta/client/backend/types/trace.py → agenta-0.13.0/agenta/client/backend/types/create_span.py +20 -10
- agenta-0.13.0/agenta/client/backend/types/create_trace_response.py +37 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/environment_output.py +3 -1
- agenta-0.13.0/agenta/client/backend/types/environment_output_extended.py +45 -0
- agenta-0.13.0/agenta/client/backend/types/environment_revision.py +41 -0
- agenta-0.12.7/agenta/client/backend/types/delete_evaluation.py → agenta-0.13.0/agenta/client/backend/types/error.py +3 -2
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation.py +6 -3
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_scenario_output.py +4 -2
- agenta-0.13.0/agenta/client/backend/types/evaluation_scenario_score_update.py +36 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_status_enum.py +4 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluator.py +1 -0
- agenta-0.12.7/agenta/client/backend/types/get_config_reponse.py → agenta-0.13.0/agenta/client/backend/types/get_config_response.py +1 -2
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/human_evaluation_scenario.py +2 -2
- agenta-0.13.0/agenta/client/backend/types/human_evaluation_scenario_update.py +45 -0
- agenta-0.13.0/agenta/client/backend/types/human_evaluation_update.py +37 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/image.py +1 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/invite_request.py +1 -0
- agenta-0.12.7/agenta/client/backend/types/list_api_keys_output.py → agenta-0.13.0/agenta/client/backend/types/list_api_keys_response.py +1 -1
- agenta-0.13.0/agenta/client/backend/types/llm_tokens.py +38 -0
- agenta-0.13.0/agenta/client/backend/types/new_human_evaluation.py +42 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/organization.py +1 -0
- agenta-0.13.0/agenta/client/backend/types/permission.py +141 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/result.py +2 -0
- agenta-0.12.7/agenta/client/backend/types/human_evaluation_scenario_score.py → agenta-0.13.0/agenta/client/backend/types/score.py +1 -1
- agenta-0.13.0/agenta/client/backend/types/span.py +54 -0
- agenta-0.13.0/agenta/client/backend/types/span_detail.py +52 -0
- agenta-0.13.0/agenta/client/backend/types/span_kind.py +49 -0
- agenta-0.13.0/agenta/client/backend/types/span_status_code.py +29 -0
- agenta-0.13.0/agenta/client/backend/types/span_variant.py +38 -0
- agenta-0.13.0/agenta/client/backend/types/trace_detail.py +52 -0
- agenta-0.13.0/agenta/client/backend/types/with_pagination.py +40 -0
- agenta-0.13.0/agenta/client/backend/types/workspace_member_response.py +38 -0
- agenta-0.13.0/agenta/client/backend/types/workspace_permission.py +40 -0
- agenta-0.13.0/agenta/client/backend/types/workspace_response.py +44 -0
- agenta-0.13.0/agenta/client/backend/types/workspace_role.py +41 -0
- agenta-0.13.0/agenta/client/backend/types/workspace_role_response.py +38 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker_utils.py +1 -5
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/__init__.py +3 -1
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/agenta_decorator.py +68 -18
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/agenta_init.py +53 -21
- agenta-0.13.0/agenta/sdk/tracing/context_manager.py +13 -0
- agenta-0.13.0/agenta/sdk/tracing/decorators.py +41 -0
- agenta-0.13.0/agenta/sdk/tracing/llm_tracing.py +220 -0
- agenta-0.13.0/agenta/sdk/tracing/logger.py +19 -0
- agenta-0.13.0/agenta/sdk/tracing/tasks_manager.py +130 -0
- {agenta-0.12.7 → agenta-0.13.0}/pyproject.toml +2 -1
- agenta-0.12.7/agenta/client/backend/client.py +0 -6503
- agenta-0.12.7/agenta/client/backend/types/add_variant_from_base_and_config_response.py +0 -7
- agenta-0.12.7/agenta/client/backend/types/app_variant_output_extended.py +0 -50
- agenta-0.12.7/agenta/client/backend/types/human_evaluation_scenario_update_score.py +0 -5
- agenta-0.12.7/agenta/client/backend/types/span.py +0 -52
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/evaluation_commands.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/telemetry.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/cli/variant_configs.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/Readme.md +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/__init__.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/api_models.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/__init__.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/api_error.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/client_wrapper.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/datetime_utils.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/jsonable_encoder.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/errors/__init__.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/app.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/app_variant_revision.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/base_output.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/body_import_testset.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/config_db.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/create_app_output.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/docker_env_vars.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_scenario.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_type.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluation_webhook.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/evaluator_config.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/feedback.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/http_validation_error.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/human_evaluation.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/new_testset.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/organization_output.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/template.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/template_image_info.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/test_set_output_response.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/test_set_simple_response.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/uri.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/validation_error.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/variant_action.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/backend/types/variant_action_enum.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/client.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/client/exceptions.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/config.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/config.toml +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/Dockerfile.cloud.template +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/Dockerfile.template +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/README.md +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/entrypoint.sh +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/lambda_function.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/docker/docker-assets/main.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/context.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/router.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/types.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/utils/globals.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/utils/helper/openai_cost.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/sdk/utils/preinit.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/compose_email/README.md +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/compose_email/app.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/compose_email/env.example +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/compose_email/requirements.txt +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/compose_email/template.toml +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/extract_data_to_json/README.md +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/extract_data_to_json/app.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/extract_data_to_json/env.example +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/extract_data_to_json/requirements.txt +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/extract_data_to_json/template.toml +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/simple_prompt/README.md +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/simple_prompt/app.py +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/simple_prompt/env.example +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/simple_prompt/requirements.txt +0 -0
- {agenta-0.12.7 → agenta-0.13.0}/agenta/templates/simple_prompt/template.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: agenta
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: The SDK for agenta is an open-source LLMOps platform.
|
|
5
5
|
Home-page: https://agenta.ai
|
|
6
6
|
Keywords: LLMOps,LLM,evaluation,prompt engineering
|
|
@@ -23,6 +23,7 @@ Requires-Dist: importlib-metadata (>=6.7.0,<7.0.0)
|
|
|
23
23
|
Requires-Dist: ipdb (>=0.13)
|
|
24
24
|
Requires-Dist: posthog (>=3.1.0,<4.0.0)
|
|
25
25
|
Requires-Dist: pydantic (==1.10.13)
|
|
26
|
+
Requires-Dist: pymongo (>=4.6.3,<5.0.0)
|
|
26
27
|
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
|
|
27
28
|
Requires-Dist: python-multipart (>=0.0.6,<0.0.7)
|
|
28
29
|
Requires-Dist: questionary (>=1.10.0,<2.0.0)
|
|
@@ -35,8 +36,8 @@ Description-Content-Type: text/markdown
|
|
|
35
36
|
<a href="https://agenta.ai/">
|
|
36
37
|
<div align="center" >
|
|
37
38
|
<picture >
|
|
38
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
39
|
-
<source media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
39
|
+
<source width="500" media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cdddf5ad-2352-4920-b1d9-ae7f8d9d7735" >
|
|
40
|
+
<source width="500" media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ab75cbac-b807-496f-aab3-57463a33f726" >
|
|
40
41
|
<img alt="Shows the logo of agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/68e055d4-d7b8-4943-992f-761558c64253" >
|
|
41
42
|
</picture>
|
|
42
43
|
</div>
|
|
@@ -47,8 +48,8 @@ Description-Content-Type: text/markdown
|
|
|
47
48
|
<a href="https://docs.agenta.ai/">Documentation</a>
|
|
48
49
|
</h4>
|
|
49
50
|
<div align="center">
|
|
50
|
-
<strong>
|
|
51
|
-
The open-source
|
|
51
|
+
<strong> <h2> Collaborate on prompts, evaluate, and deploy LLM applications with confidence </h2></strong>
|
|
52
|
+
The open-source LLM developer platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps.
|
|
52
53
|
</div>
|
|
53
54
|
</br>
|
|
54
55
|
<p align="center">
|
|
@@ -67,7 +68,6 @@ Description-Content-Type: text/markdown
|
|
|
67
68
|
<a href="https://pypi.org/project/agenta/">
|
|
68
69
|
<img src="https://img.shields.io/pypi/dm/agenta" alt="PyPI - Downloads">
|
|
69
70
|
</a>
|
|
70
|
-
|
|
71
71
|
</br>
|
|
72
72
|
</p>
|
|
73
73
|
|
|
@@ -89,7 +89,7 @@ Description-Content-Type: text/markdown
|
|
|
89
89
|
|
|
90
90
|
<a href="https://cloud.agenta.ai">
|
|
91
91
|
<picture>
|
|
92
|
-
<img src="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
92
|
+
<img src="https://github.com/Agenta-AI/agenta/assets/4510758/d622f268-c295-42d4-a43c-548b611ff6f2" />
|
|
93
93
|
</picture>
|
|
94
94
|
</a>
|
|
95
95
|
|
|
@@ -99,8 +99,8 @@ Description-Content-Type: text/markdown
|
|
|
99
99
|
<br />
|
|
100
100
|
<div align="center" >
|
|
101
101
|
<picture >
|
|
102
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cf6d4713-4558-4c6c-9e1b-ee4eab261f4c" >
|
|
103
|
-
<source media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
102
|
+
<source width="800" media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cf6d4713-4558-4c6c-9e1b-ee4eab261f4c" >
|
|
103
|
+
<source width="800" media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
104
104
|
<img alt="Mockup agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
105
105
|
</picture>
|
|
106
106
|
</div>
|
|
@@ -112,126 +112,75 @@ Description-Content-Type: text/markdown
|
|
|
112
112
|
---
|
|
113
113
|
|
|
114
114
|
<h3 align="center">
|
|
115
|
-
<a href="#ℹ️-about"><b>About</b></a> •
|
|
116
115
|
<a href="#quick-start"><b>Quick Start</b></a> •
|
|
117
|
-
<a href="https://docs.agenta.ai/installation"><b>Installation</b></a> •
|
|
118
116
|
<a href="#features"><b>Features</b></a> •
|
|
119
117
|
<a href="https://docs.agenta.ai"><b>Documentation</b></a> •
|
|
120
118
|
<a href="#enterprise-support"><b>Enterprise</b></a> •
|
|
121
|
-
<a href="https://
|
|
119
|
+
<a href="https://github.com/orgs/Agenta-AI/projects/13"><b>Roadmap</b></a> •
|
|
120
|
+
<a href="https://join.slack.com/t/agenta-hq/shared_invite/zt-1zsafop5i-Y7~ZySbhRZvKVPV5DO_7IA"><b>Join Our Slack</b></a> •
|
|
122
121
|
<a href="#contributing"><b>Contributing</b></a>
|
|
123
122
|
</h3>
|
|
124
123
|
|
|
125
124
|
---
|
|
126
125
|
|
|
127
|
-
#
|
|
126
|
+
# ⭐️ Why Agenta?
|
|
127
|
+
|
|
128
|
+
Agenta is an end-to-end LLM developer platform. It provides the tools for **prompt engineering and management**, ⚖️ **evaluation**, **human annotation**, and :rocket: **deployment**. All without imposing any restrictions on your choice of framework, library, or model.
|
|
129
|
+
|
|
130
|
+
Agenta allows developers and product teams to collaborate in building production-grade LLM-powered applications in less time.
|
|
131
|
+
|
|
132
|
+
### With Agenta, you can:
|
|
128
133
|
|
|
129
|
-
|
|
134
|
+
- [🧪 **Experiment** and **compare** prompts](https://docs.agenta.ai/basic_guides/prompt_engineering) on [any LLM workflow](https://docs.agenta.ai/advanced_guides/custom_applications) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...)
|
|
135
|
+
- ✍️ Collect and [**annotate golden test sets**](https://docs.agenta.ai/basic_guides/test_sets) for evaluation
|
|
136
|
+
- 📈 [**Evaluate** your application](https://docs.agenta.ai/basic_guides/automatic_evaluation) with pre-existing or [**custom evaluators**](https://docs.agenta.ai/advanced_guides/using_custom_evaluators)
|
|
137
|
+
- [🔍 **Annotate** and **A/B test**](https://docs.agenta.aibasic_guides/human_evaluation) your applications with **human feedback**
|
|
138
|
+
- [🤝 **Collaborate with product teams**](https://docs.agenta.ai/basic_guides/team_management) for prompt engineering and evaluation
|
|
139
|
+
- [🚀 **Deploy your application**](https://docs.agenta.ai/basic_guides/deployment) in one-click in the UI, through CLI, or through github workflows.
|
|
130
140
|
|
|
131
|
-
|
|
141
|
+
### Works with any LLM app workflow
|
|
132
142
|
|
|
133
|
-
|
|
143
|
+
Agenta enables prompt engineering and evaluation on any LLM app architecture:
|
|
144
|
+
- Chain of prompts
|
|
145
|
+
- RAG
|
|
146
|
+
- Agents
|
|
147
|
+
- ...
|
|
134
148
|
|
|
135
|
-
|
|
136
|
-
| ------------- | ------------- |
|
|
137
|
-
|1. [Create an application using a pre-built template from our UI](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github)<br />2. Access a playground where you can test and compare different prompts and configurations side-by-side.<br /> 3. Systematically evaluate your application using pre-built or custom evaluators.<br /> 4. Deploy the application to production with one click. |1. [Add a few lines to any LLM application code to automatically create a playground for it](https://docs.agenta.ai/developer_guides/tutorials/first-app-with-langchain) <br />2. Experiment with prompts and configurations, and compare them side-by-side in the playground. <br />3. Systematically evaluate your application using pre-built or custom evaluators. <br />4. Deploy the application to production with one click. |
|
|
149
|
+
It works with any framework such as [Langchain](https://langchain.com), [LlamaIndex](https://www.llamaindex.ai/) and any LLM provider (openAI, Cohere, Mistral).
|
|
138
150
|
|
|
139
|
-
|
|
151
|
+
[Jump here to see how to use your own custom application with agenta](/advanced_guides/custom_applications)
|
|
140
152
|
|
|
141
153
|
# Quick Start
|
|
142
154
|
|
|
143
|
-
### [
|
|
144
|
-
### [
|
|
145
|
-
### [Create
|
|
155
|
+
### [Get started for free](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github)
|
|
156
|
+
### [Explore the Docs](https://docs.agenta.ai)
|
|
157
|
+
### [Create your first application in one-minute](https://docs.agenta.ai/quickstart/getting-started-ui)
|
|
158
|
+
### [Create an application using Langchain](https://docs.agenta.ai/tutorials/first-app-with-langchain)
|
|
146
159
|
### [Self-host agenta](https://docs.agenta.ai/self-host/host-locally)
|
|
147
|
-
### [Read the Documentation](https://docs.agenta.ai)
|
|
148
160
|
### [Check the Cookbook](https://docs.agenta.ai/cookbook)
|
|
149
161
|
|
|
150
162
|
# Features
|
|
151
163
|
|
|
152
|
-
<h3>Playground 🪄 <br/></h3>
|
|
153
|
-
With just a few lines of code, define the parameters and prompts you wish to experiment with. You and your team can quickly experiment and test new variants on the web UI. <br/>
|
|
154
|
-
|
|
155
|
-
https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134c
|
|
156
|
-
|
|
157
|
-
<h3>Version Evaluation 📊 <br/></h3>
|
|
158
|
-
Define test sets, then evaluate manually or programmatically your different variants.<br/>
|
|
159
|
-
|
|
160
|
-

|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
<h3>API Deployment 🚀<br/></h3>
|
|
164
|
-
When you are ready, deploy your LLM applications as APIs in one click.<br/>
|
|
165
|
-
|
|
166
|
-

|
|
167
|
-
|
|
168
|
-
## Why choose Agenta for building LLM-apps?
|
|
169
|
-
|
|
170
|
-
- 🔨 **Build quickly**: You need to iterate many times on different architectures and prompts to bring apps to production. We streamline this process and allow you to do this in days instead of weeks.
|
|
171
|
-
- 🏗️ **Build robust apps and reduce hallucination**: We provide you with the tools to systematically and easily evaluate your application to make sure you only serve robust apps to production.
|
|
172
|
-
- 👨💻 **Developer-centric**: We cater to complex LLM-apps and pipelines that require more than one simple prompt. We allow you to experiment and iterate on apps that have complex integration, business logic, and many prompts.
|
|
173
|
-
- 🌐 **Solution-Agnostic**: You have the freedom to use any libraries and models, be it Langchain, llma_index, or a custom-written alternative.
|
|
174
|
-
- 🔒 **Privacy-First**: We respect your privacy and do not proxy your data through third-party services. The platform and the data are hosted on your infrastructure.
|
|
175
|
-
|
|
176
|
-
## How Agenta works:
|
|
177
|
-
|
|
178
|
-
**1. Write your LLM-app code**
|
|
179
|
-
|
|
180
|
-
Write the code using any framework, library, or model you want. Add the `agenta.post` decorator and put the inputs and parameters in the function call just like in this example:
|
|
181
|
-
|
|
182
|
-
_Example simple application that generates baby names:_
|
|
183
|
-
|
|
184
|
-
```python
|
|
185
|
-
import agenta as ag
|
|
186
|
-
from langchain.chains import LLMChain
|
|
187
|
-
from langchain.llms import OpenAI
|
|
188
|
-
from langchain.prompts import PromptTemplate
|
|
189
|
-
|
|
190
|
-
default_prompt = "Give me five cool names for a baby from {country} with this gender {gender}!!!!"
|
|
191
|
-
ag.init()
|
|
192
|
-
ag.config(prompt_template=ag.TextParam(default_prompt),
|
|
193
|
-
temperature=ag.FloatParam(0.9))
|
|
194
|
-
|
|
195
|
-
@ag.entrypoint
|
|
196
|
-
def generate(
|
|
197
|
-
country: str,
|
|
198
|
-
gender: str,
|
|
199
|
-
) -> str:
|
|
200
|
-
llm = OpenAI(temperature=ag.config.temperature)
|
|
201
|
-
prompt = PromptTemplate(
|
|
202
|
-
input_variables=["country", "gender"],
|
|
203
|
-
template=ag.config.prompt_template,
|
|
204
|
-
)
|
|
205
|
-
chain = LLMChain(llm=llm, prompt=prompt)
|
|
206
|
-
output = chain.run(country=country, gender=gender)
|
|
207
|
-
|
|
208
|
-
return output
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
**2.Deploy your app using the Agenta CLI**
|
|
212
|
-
|
|
213
|
-
<img width="650" alt="Screenshot 2023-06-19 at 15 58 34" src="https://github.com/Agenta-AI/agenta/assets/4510758/eede3e78-0fe1-42a0-ad4e-d880ddb10bf0">
|
|
214
|
-
|
|
215
|
-
**3. Go to agenta at http://localhost**
|
|
216
|
-
|
|
217
|
-
Now your team can 🔄 iterate, 🧪 experiment, and ⚖️ evaluate different versions of your app (with your code!) in the web platform.</summary>
|
|
218
|
-
<br/>
|
|
219
|
-
|
|
220
|
-
<img width="900" alt="Screenshot 2023-06-25 at 21 08 53" src="https://github.com/Agenta-AI/agenta/assets/57623556/7e07a988-a36a-4fb5-99dd-9cc13a678434">
|
|
221
164
|
|
|
165
|
+
| Playground | Evaluation |
|
|
166
|
+
| ------- | ------- |
|
|
167
|
+
| Compare and version prompts for any LLM app, from single prompt to agents. <br/> <video src="https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134c" controls="controls" style="max-width:100%;"> | Define test sets, then evaluate manually or programmatically your different variants.<br/> <video src="https://github.com/Agenta-AI/agenta/assets/4510758/8c6997c6-da87-46ad-a81f-e15e277263d2" controls="controls" style="max-width:100%;">|
|
|
168
|
+
| Human annotation | Deployment |
|
|
169
|
+
| Use Human annotator to A/B test and score your LLM apps. <br/> <img width="750" alt="Screenshot 2024-01-28 at 12 57 46" src="https://github.com/Agenta-AI/agenta/assets/4510758/bf62a697-bf19-4ba9-850e-742fbfb75424"> | When you are ready, deploy your LLM applications as APIs in one click.<br/> |
|
|
222
170
|
|
|
223
171
|
# Enterprise Support
|
|
224
172
|
Contact us here for enterprise support and early access to agenta self-managed enterprise with Kubernetes support. <br/><br/>
|
|
225
173
|
<a href="https://cal.com/mahmoud-mabrouk-ogzgey/demo"><img src="https://cal.com/book-with-cal-dark.svg" alt="Book us"></a>
|
|
226
174
|
|
|
227
175
|
# Disabling Anonymized Tracking
|
|
176
|
+
By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information.
|
|
228
177
|
|
|
229
|
-
To disable anonymized telemetry,
|
|
178
|
+
To disable anonymized telemetry, follow these steps:
|
|
230
179
|
|
|
231
180
|
- For web: Set `TELEMETRY_TRACKING_ENABLED` to `false` in your `agenta-web/.env` file.
|
|
232
181
|
- For CLI: Set `telemetry_tracking_enabled` to `false` in your `~/.agenta/config.toml` file.
|
|
233
182
|
|
|
234
|
-
After making this change, restart
|
|
183
|
+
After making this change, restart Agenta Compose.
|
|
235
184
|
|
|
236
185
|
# Contributing
|
|
237
186
|
|
|
@@ -244,7 +193,7 @@ Check out our [Contributing Guide](https://docs.agenta.ai/contributing/getting-s
|
|
|
244
193
|
## Contributors ✨
|
|
245
194
|
|
|
246
195
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
247
|
-
[](#contributors-)
|
|
248
197
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
249
198
|
|
|
250
199
|
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
|
@@ -304,6 +253,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
304
253
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brockWith"><img src="https://avatars.githubusercontent.com/u/105627491?v=4?s=100" width="100px;" alt="brockWith"/><br /><sub><b>brockWith</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=brockWith" title="Code">💻</a></td>
|
|
305
254
|
<td align="center" valign="top" width="14.28%"><a href="http://denniszelada.wordpress.com/"><img src="https://avatars.githubusercontent.com/u/219311?v=4?s=100" width="100px;" alt="Dennis Zelada"/><br /><sub><b>Dennis Zelada</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=denniszelada" title="Code">💻</a></td>
|
|
306
255
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/romainrbr"><img src="https://avatars.githubusercontent.com/u/10381609?v=4?s=100" width="100px;" alt="Romain Brucker"/><br /><sub><b>Romain Brucker</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=romainrbr" title="Code">💻</a></td>
|
|
256
|
+
<td align="center" valign="top" width="14.28%"><a href="http://heonheo.com"><img src="https://avatars.githubusercontent.com/u/76820291?v=4?s=100" width="100px;" alt="Heon Heo"/><br /><sub><b>Heon Heo</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=HeonHeo23" title="Code">💻</a></td>
|
|
257
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Drewski2222"><img src="https://avatars.githubusercontent.com/u/39228951?v=4?s=100" width="100px;" alt="Drew Reisner"/><br /><sub><b>Drew Reisner</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=Drewski2222" title="Code">💻</a></td>
|
|
307
258
|
</tr>
|
|
308
259
|
</tbody>
|
|
309
260
|
</table>
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<a href="https://agenta.ai/">
|
|
3
3
|
<div align="center" >
|
|
4
4
|
<picture >
|
|
5
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
6
|
-
<source media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
5
|
+
<source width="500" media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cdddf5ad-2352-4920-b1d9-ae7f8d9d7735" >
|
|
6
|
+
<source width="500" media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ab75cbac-b807-496f-aab3-57463a33f726" >
|
|
7
7
|
<img alt="Shows the logo of agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/68e055d4-d7b8-4943-992f-761558c64253" >
|
|
8
8
|
</picture>
|
|
9
9
|
</div>
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
<a href="https://docs.agenta.ai/">Documentation</a>
|
|
15
15
|
</h4>
|
|
16
16
|
<div align="center">
|
|
17
|
-
<strong>
|
|
18
|
-
The open-source
|
|
17
|
+
<strong> <h2> Collaborate on prompts, evaluate, and deploy LLM applications with confidence </h2></strong>
|
|
18
|
+
The open-source LLM developer platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps.
|
|
19
19
|
</div>
|
|
20
20
|
</br>
|
|
21
21
|
<p align="center">
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
<a href="https://pypi.org/project/agenta/">
|
|
35
35
|
<img src="https://img.shields.io/pypi/dm/agenta" alt="PyPI - Downloads">
|
|
36
36
|
</a>
|
|
37
|
-
|
|
38
37
|
</br>
|
|
39
38
|
</p>
|
|
40
39
|
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
|
|
57
56
|
<a href="https://cloud.agenta.ai">
|
|
58
57
|
<picture>
|
|
59
|
-
<img src="https://github.com/Agenta-AI/agenta/assets/4510758/
|
|
58
|
+
<img src="https://github.com/Agenta-AI/agenta/assets/4510758/d622f268-c295-42d4-a43c-548b611ff6f2" />
|
|
60
59
|
</picture>
|
|
61
60
|
</a>
|
|
62
61
|
|
|
@@ -66,8 +65,8 @@
|
|
|
66
65
|
<br />
|
|
67
66
|
<div align="center" >
|
|
68
67
|
<picture >
|
|
69
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cf6d4713-4558-4c6c-9e1b-ee4eab261f4c" >
|
|
70
|
-
<source media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
68
|
+
<source width="800" media="(prefers-color-scheme: dark)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/cf6d4713-4558-4c6c-9e1b-ee4eab261f4c" >
|
|
69
|
+
<source width="800" media="(prefers-color-scheme: light)" srcset="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
71
70
|
<img alt="Mockup agenta" src="https://github.com/Agenta-AI/agenta/assets/4510758/ae9cf11f-8ef9-4b67-98c7-4a40341fa87a" >
|
|
72
71
|
</picture>
|
|
73
72
|
</div>
|
|
@@ -79,126 +78,75 @@
|
|
|
79
78
|
---
|
|
80
79
|
|
|
81
80
|
<h3 align="center">
|
|
82
|
-
<a href="#ℹ️-about"><b>About</b></a> •
|
|
83
81
|
<a href="#quick-start"><b>Quick Start</b></a> •
|
|
84
|
-
<a href="https://docs.agenta.ai/installation"><b>Installation</b></a> •
|
|
85
82
|
<a href="#features"><b>Features</b></a> •
|
|
86
83
|
<a href="https://docs.agenta.ai"><b>Documentation</b></a> •
|
|
87
84
|
<a href="#enterprise-support"><b>Enterprise</b></a> •
|
|
88
|
-
<a href="https://
|
|
85
|
+
<a href="https://github.com/orgs/Agenta-AI/projects/13"><b>Roadmap</b></a> •
|
|
86
|
+
<a href="https://join.slack.com/t/agenta-hq/shared_invite/zt-1zsafop5i-Y7~ZySbhRZvKVPV5DO_7IA"><b>Join Our Slack</b></a> •
|
|
89
87
|
<a href="#contributing"><b>Contributing</b></a>
|
|
90
88
|
</h3>
|
|
91
89
|
|
|
92
90
|
---
|
|
93
91
|
|
|
94
|
-
#
|
|
92
|
+
# ⭐️ Why Agenta?
|
|
93
|
+
|
|
94
|
+
Agenta is an end-to-end LLM developer platform. It provides the tools for **prompt engineering and management**, ⚖️ **evaluation**, **human annotation**, and :rocket: **deployment**. All without imposing any restrictions on your choice of framework, library, or model.
|
|
95
|
+
|
|
96
|
+
Agenta allows developers and product teams to collaborate in building production-grade LLM-powered applications in less time.
|
|
97
|
+
|
|
98
|
+
### With Agenta, you can:
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
- [🧪 **Experiment** and **compare** prompts](https://docs.agenta.ai/basic_guides/prompt_engineering) on [any LLM workflow](https://docs.agenta.ai/advanced_guides/custom_applications) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...)
|
|
101
|
+
- ✍️ Collect and [**annotate golden test sets**](https://docs.agenta.ai/basic_guides/test_sets) for evaluation
|
|
102
|
+
- 📈 [**Evaluate** your application](https://docs.agenta.ai/basic_guides/automatic_evaluation) with pre-existing or [**custom evaluators**](https://docs.agenta.ai/advanced_guides/using_custom_evaluators)
|
|
103
|
+
- [🔍 **Annotate** and **A/B test**](https://docs.agenta.aibasic_guides/human_evaluation) your applications with **human feedback**
|
|
104
|
+
- [🤝 **Collaborate with product teams**](https://docs.agenta.ai/basic_guides/team_management) for prompt engineering and evaluation
|
|
105
|
+
- [🚀 **Deploy your application**](https://docs.agenta.ai/basic_guides/deployment) in one-click in the UI, through CLI, or through github workflows.
|
|
97
106
|
|
|
98
|
-
|
|
107
|
+
### Works with any LLM app workflow
|
|
99
108
|
|
|
100
|
-
|
|
109
|
+
Agenta enables prompt engineering and evaluation on any LLM app architecture:
|
|
110
|
+
- Chain of prompts
|
|
111
|
+
- RAG
|
|
112
|
+
- Agents
|
|
113
|
+
- ...
|
|
101
114
|
|
|
102
|
-
|
|
103
|
-
| ------------- | ------------- |
|
|
104
|
-
|1. [Create an application using a pre-built template from our UI](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github)<br />2. Access a playground where you can test and compare different prompts and configurations side-by-side.<br /> 3. Systematically evaluate your application using pre-built or custom evaluators.<br /> 4. Deploy the application to production with one click. |1. [Add a few lines to any LLM application code to automatically create a playground for it](https://docs.agenta.ai/developer_guides/tutorials/first-app-with-langchain) <br />2. Experiment with prompts and configurations, and compare them side-by-side in the playground. <br />3. Systematically evaluate your application using pre-built or custom evaluators. <br />4. Deploy the application to production with one click. |
|
|
115
|
+
It works with any framework such as [Langchain](https://langchain.com), [LlamaIndex](https://www.llamaindex.ai/) and any LLM provider (openAI, Cohere, Mistral).
|
|
105
116
|
|
|
106
|
-
|
|
117
|
+
[Jump here to see how to use your own custom application with agenta](/advanced_guides/custom_applications)
|
|
107
118
|
|
|
108
119
|
# Quick Start
|
|
109
120
|
|
|
110
|
-
### [
|
|
111
|
-
### [
|
|
112
|
-
### [Create
|
|
121
|
+
### [Get started for free](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github)
|
|
122
|
+
### [Explore the Docs](https://docs.agenta.ai)
|
|
123
|
+
### [Create your first application in one-minute](https://docs.agenta.ai/quickstart/getting-started-ui)
|
|
124
|
+
### [Create an application using Langchain](https://docs.agenta.ai/tutorials/first-app-with-langchain)
|
|
113
125
|
### [Self-host agenta](https://docs.agenta.ai/self-host/host-locally)
|
|
114
|
-
### [Read the Documentation](https://docs.agenta.ai)
|
|
115
126
|
### [Check the Cookbook](https://docs.agenta.ai/cookbook)
|
|
116
127
|
|
|
117
128
|
# Features
|
|
118
129
|
|
|
119
|
-
<h3>Playground 🪄 <br/></h3>
|
|
120
|
-
With just a few lines of code, define the parameters and prompts you wish to experiment with. You and your team can quickly experiment and test new variants on the web UI. <br/>
|
|
121
|
-
|
|
122
|
-
https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134c
|
|
123
|
-
|
|
124
|
-
<h3>Version Evaluation 📊 <br/></h3>
|
|
125
|
-
Define test sets, then evaluate manually or programmatically your different variants.<br/>
|
|
126
|
-
|
|
127
|
-

|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<h3>API Deployment 🚀<br/></h3>
|
|
131
|
-
When you are ready, deploy your LLM applications as APIs in one click.<br/>
|
|
132
|
-
|
|
133
|
-

|
|
134
|
-
|
|
135
|
-
## Why choose Agenta for building LLM-apps?
|
|
136
|
-
|
|
137
|
-
- 🔨 **Build quickly**: You need to iterate many times on different architectures and prompts to bring apps to production. We streamline this process and allow you to do this in days instead of weeks.
|
|
138
|
-
- 🏗️ **Build robust apps and reduce hallucination**: We provide you with the tools to systematically and easily evaluate your application to make sure you only serve robust apps to production.
|
|
139
|
-
- 👨💻 **Developer-centric**: We cater to complex LLM-apps and pipelines that require more than one simple prompt. We allow you to experiment and iterate on apps that have complex integration, business logic, and many prompts.
|
|
140
|
-
- 🌐 **Solution-Agnostic**: You have the freedom to use any libraries and models, be it Langchain, llma_index, or a custom-written alternative.
|
|
141
|
-
- 🔒 **Privacy-First**: We respect your privacy and do not proxy your data through third-party services. The platform and the data are hosted on your infrastructure.
|
|
142
|
-
|
|
143
|
-
## How Agenta works:
|
|
144
|
-
|
|
145
|
-
**1. Write your LLM-app code**
|
|
146
|
-
|
|
147
|
-
Write the code using any framework, library, or model you want. Add the `agenta.post` decorator and put the inputs and parameters in the function call just like in this example:
|
|
148
|
-
|
|
149
|
-
_Example simple application that generates baby names:_
|
|
150
|
-
|
|
151
|
-
```python
|
|
152
|
-
import agenta as ag
|
|
153
|
-
from langchain.chains import LLMChain
|
|
154
|
-
from langchain.llms import OpenAI
|
|
155
|
-
from langchain.prompts import PromptTemplate
|
|
156
|
-
|
|
157
|
-
default_prompt = "Give me five cool names for a baby from {country} with this gender {gender}!!!!"
|
|
158
|
-
ag.init()
|
|
159
|
-
ag.config(prompt_template=ag.TextParam(default_prompt),
|
|
160
|
-
temperature=ag.FloatParam(0.9))
|
|
161
|
-
|
|
162
|
-
@ag.entrypoint
|
|
163
|
-
def generate(
|
|
164
|
-
country: str,
|
|
165
|
-
gender: str,
|
|
166
|
-
) -> str:
|
|
167
|
-
llm = OpenAI(temperature=ag.config.temperature)
|
|
168
|
-
prompt = PromptTemplate(
|
|
169
|
-
input_variables=["country", "gender"],
|
|
170
|
-
template=ag.config.prompt_template,
|
|
171
|
-
)
|
|
172
|
-
chain = LLMChain(llm=llm, prompt=prompt)
|
|
173
|
-
output = chain.run(country=country, gender=gender)
|
|
174
|
-
|
|
175
|
-
return output
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
**2.Deploy your app using the Agenta CLI**
|
|
179
|
-
|
|
180
|
-
<img width="650" alt="Screenshot 2023-06-19 at 15 58 34" src="https://github.com/Agenta-AI/agenta/assets/4510758/eede3e78-0fe1-42a0-ad4e-d880ddb10bf0">
|
|
181
|
-
|
|
182
|
-
**3. Go to agenta at http://localhost**
|
|
183
|
-
|
|
184
|
-
Now your team can 🔄 iterate, 🧪 experiment, and ⚖️ evaluate different versions of your app (with your code!) in the web platform.</summary>
|
|
185
|
-
<br/>
|
|
186
|
-
|
|
187
|
-
<img width="900" alt="Screenshot 2023-06-25 at 21 08 53" src="https://github.com/Agenta-AI/agenta/assets/57623556/7e07a988-a36a-4fb5-99dd-9cc13a678434">
|
|
188
130
|
|
|
131
|
+
| Playground | Evaluation |
|
|
132
|
+
| ------- | ------- |
|
|
133
|
+
| Compare and version prompts for any LLM app, from single prompt to agents. <br/> <video src="https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134c" controls="controls" style="max-width:100%;"> | Define test sets, then evaluate manually or programmatically your different variants.<br/> <video src="https://github.com/Agenta-AI/agenta/assets/4510758/8c6997c6-da87-46ad-a81f-e15e277263d2" controls="controls" style="max-width:100%;">|
|
|
134
|
+
| Human annotation | Deployment |
|
|
135
|
+
| Use Human annotator to A/B test and score your LLM apps. <br/> <img width="750" alt="Screenshot 2024-01-28 at 12 57 46" src="https://github.com/Agenta-AI/agenta/assets/4510758/bf62a697-bf19-4ba9-850e-742fbfb75424"> | When you are ready, deploy your LLM applications as APIs in one click.<br/> |
|
|
189
136
|
|
|
190
137
|
# Enterprise Support
|
|
191
138
|
Contact us here for enterprise support and early access to agenta self-managed enterprise with Kubernetes support. <br/><br/>
|
|
192
139
|
<a href="https://cal.com/mahmoud-mabrouk-ogzgey/demo"><img src="https://cal.com/book-with-cal-dark.svg" alt="Book us"></a>
|
|
193
140
|
|
|
194
141
|
# Disabling Anonymized Tracking
|
|
142
|
+
By default, Agenta automatically reports anonymized basic usage statistics. This helps us understand how Agenta is used and track its overall usage and growth. This data does not include any sensitive information.
|
|
195
143
|
|
|
196
|
-
To disable anonymized telemetry,
|
|
144
|
+
To disable anonymized telemetry, follow these steps:
|
|
197
145
|
|
|
198
146
|
- For web: Set `TELEMETRY_TRACKING_ENABLED` to `false` in your `agenta-web/.env` file.
|
|
199
147
|
- For CLI: Set `telemetry_tracking_enabled` to `false` in your `~/.agenta/config.toml` file.
|
|
200
148
|
|
|
201
|
-
After making this change, restart
|
|
149
|
+
After making this change, restart Agenta Compose.
|
|
202
150
|
|
|
203
151
|
# Contributing
|
|
204
152
|
|
|
@@ -211,7 +159,7 @@ Check out our [Contributing Guide](https://docs.agenta.ai/contributing/getting-s
|
|
|
211
159
|
## Contributors ✨
|
|
212
160
|
|
|
213
161
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
214
|
-
[](#contributors-)
|
|
215
163
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
216
164
|
|
|
217
165
|
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
|
@@ -271,6 +219,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
271
219
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brockWith"><img src="https://avatars.githubusercontent.com/u/105627491?v=4?s=100" width="100px;" alt="brockWith"/><br /><sub><b>brockWith</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=brockWith" title="Code">💻</a></td>
|
|
272
220
|
<td align="center" valign="top" width="14.28%"><a href="http://denniszelada.wordpress.com/"><img src="https://avatars.githubusercontent.com/u/219311?v=4?s=100" width="100px;" alt="Dennis Zelada"/><br /><sub><b>Dennis Zelada</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=denniszelada" title="Code">💻</a></td>
|
|
273
221
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/romainrbr"><img src="https://avatars.githubusercontent.com/u/10381609?v=4?s=100" width="100px;" alt="Romain Brucker"/><br /><sub><b>Romain Brucker</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=romainrbr" title="Code">💻</a></td>
|
|
222
|
+
<td align="center" valign="top" width="14.28%"><a href="http://heonheo.com"><img src="https://avatars.githubusercontent.com/u/76820291?v=4?s=100" width="100px;" alt="Heon Heo"/><br /><sub><b>Heon Heo</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=HeonHeo23" title="Code">💻</a></td>
|
|
223
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Drewski2222"><img src="https://avatars.githubusercontent.com/u/39228951?v=4?s=100" width="100px;" alt="Drew Reisner"/><br /><sub><b>Drew Reisner</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=Drewski2222" title="Code">💻</a></td>
|
|
274
224
|
</tr>
|
|
275
225
|
</tbody>
|
|
276
226
|
</table>
|
|
@@ -13,8 +13,10 @@ from .sdk.types import (
|
|
|
13
13
|
FileInputURL,
|
|
14
14
|
BinaryParam,
|
|
15
15
|
)
|
|
16
|
+
from .sdk.tracing.decorators import span
|
|
16
17
|
from .sdk.utils.preinit import PreInitObject
|
|
17
|
-
from .sdk.agenta_init import Config, init
|
|
18
|
+
from .sdk.agenta_init import Config, init, llm_tracing
|
|
18
19
|
from .sdk.utils.helper.openai_cost import calculate_token_usage
|
|
19
20
|
|
|
21
|
+
|
|
20
22
|
config = PreInitObject("agenta.config", Config)
|
|
@@ -188,7 +188,7 @@ def init(app_name: str, backend_host: str):
|
|
|
188
188
|
|
|
189
189
|
# Get app_id after creating new app in the backend server
|
|
190
190
|
try:
|
|
191
|
-
app_id = client.create_app(
|
|
191
|
+
app_id = client.apps.create_app(
|
|
192
192
|
app_name=app_name,
|
|
193
193
|
organization_id=filtered_org.id if filtered_org else None,
|
|
194
194
|
).app_id
|
|
@@ -126,7 +126,7 @@ def add_variant(
|
|
|
126
126
|
)
|
|
127
127
|
)
|
|
128
128
|
with tar_path.open("rb") as tar_file:
|
|
129
|
-
built_image: Image = client.build_image(
|
|
129
|
+
built_image: Image = client.containers.build_image(
|
|
130
130
|
app_id=app_id,
|
|
131
131
|
base_name=base_name,
|
|
132
132
|
tar_file=tar_file,
|
|
@@ -147,7 +147,7 @@ def add_variant(
|
|
|
147
147
|
)
|
|
148
148
|
)
|
|
149
149
|
variant_id = config["variant_ids"][config["variants"].index(variant_name)]
|
|
150
|
-
client.update_variant_image(
|
|
150
|
+
client.variants.update_variant_image(
|
|
151
151
|
variant_id=variant_id,
|
|
152
152
|
request=image, # because Fern code uses "request: Image" instead of "image: Image"
|
|
153
153
|
) # this automatically restarts
|
|
@@ -259,7 +259,9 @@ def start_variant(variant_id: str, app_folder: str, host: str):
|
|
|
259
259
|
api_key=api_key,
|
|
260
260
|
)
|
|
261
261
|
|
|
262
|
-
endpoint = client.start_variant(
|
|
262
|
+
endpoint = client.variants.start_variant(
|
|
263
|
+
variant_id=variant_id, action={"action": "START"}
|
|
264
|
+
)
|
|
263
265
|
click.echo("\n" + click.style("Congratulations! 🎉", bold=True, fg="green"))
|
|
264
266
|
click.echo(
|
|
265
267
|
click.style("Your app has been deployed locally as an API. 🚀", fg="cyan")
|
|
@@ -327,7 +329,7 @@ def remove_variant(variant_name: str, app_folder: str, host: str):
|
|
|
327
329
|
)
|
|
328
330
|
|
|
329
331
|
try:
|
|
330
|
-
client.remove_variant(variant_id=variant_id)
|
|
332
|
+
client.variants.remove_variant(variant_id=variant_id)
|
|
331
333
|
except Exception as ex:
|
|
332
334
|
click.echo(
|
|
333
335
|
click.style(
|
|
@@ -365,7 +367,7 @@ def list_variants(app_folder: str, host: str):
|
|
|
365
367
|
)
|
|
366
368
|
|
|
367
369
|
try:
|
|
368
|
-
variants: List[AppVariant] = client.list_app_variants(app_id=app_id)
|
|
370
|
+
variants: List[AppVariant] = client.apps.list_app_variants(app_id=app_id)
|
|
369
371
|
except Exception as ex:
|
|
370
372
|
raise ex
|
|
371
373
|
|