From 7bf1c1a994ab5e9557527f0bbac2a0c218c9c35e Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Wed, 27 Nov 2024 16:35:40 +0100 Subject: [PATCH 1/7] added new command dev:turbo --- agenta-web/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/agenta-web/package.json b/agenta-web/package.json index e9718c1907..4d165b7954 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -8,6 +8,7 @@ "scripts": { "dev": "next dev", "dev:local": "ENV_FILE=.local.env next dev", + "dev:turbo": "ENV_FILE=.local.env next dev --turbo", "build": "next build", "start": "next start", "lint": "next lint", From 70c2e4a3d9a0a266dccc14dbad30860a1e85c149 Mon Sep 17 00:00:00 2001 From: aakrem <6608260+aakrem@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:42:41 +0000 Subject: [PATCH 2/7] v0.27.7 --- agenta-backend/pyproject.toml | 2 +- agenta-cli/pyproject.toml | 2 +- agenta-web/package-lock.json | 4 ++-- agenta-web/package.json | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 031bdedae5..ed9c7969b6 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.27.6" +version = "0.27.7" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index fd116463ca..ccf34f0e53 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.27.6" +version = "0.27.7" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index f8b0f23031..9cbcd047d3 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "agenta", - "version": "0.27.3", + "version": "0.27.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agenta", - "version": "0.27.3", + "version": "0.27.7", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.3.7", diff --git a/agenta-web/package.json b/agenta-web/package.json index ed4563d39e..e4d4fed3e5 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.27.6", + "version": "0.27.7", "private": true, "engines": { "node": ">=18" @@ -99,4 +99,4 @@ "node-mocks-http": "^1.12.2", "prettier": "^3.2.5" } -} \ No newline at end of file +} From 9fd16fccd4fca8d838dece7a914a7d58ee3cd235 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Wed, 27 Nov 2024 17:03:06 +0100 Subject: [PATCH 3/7] Remove deprecated icon attribution README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index b32e8f506e..64b753f81b 100644 --- a/README.md +++ b/README.md @@ -222,5 +222,3 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind are welcome! - -**Attribution**: Testing icons created by [Freepik - Flaticon](https://www.flaticon.com/free-icons/testing) From 9636dc4bd188799a66da6c99373045abad60799e Mon Sep 17 00:00:00 2001 From: aakrem <6608260+aakrem@users.noreply.github.com> Date: Wed, 27 Nov 2024 19:00:06 +0000 Subject: [PATCH 4/7] v0.28.0 --- agenta-backend/pyproject.toml | 2 +- agenta-cli/pyproject.toml | 2 +- agenta-web/package-lock.json | 4 ++-- agenta-web/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index ed9c7969b6..4e592b15d5 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.27.7" +version = "0.28.0" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index ccf34f0e53..8f40ad817e 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.27.7" +version = "0.28.0" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 9cbcd047d3..38c3616a2a 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "agenta", - "version": "0.27.7", + "version": "0.28.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agenta", - "version": "0.27.7", + "version": "0.28.0", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.3.7", diff --git a/agenta-web/package.json b/agenta-web/package.json index e4d4fed3e5..b56d320ba8 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.27.7", + "version": "0.28.0", "private": true, "engines": { "node": ">=18" From 0cc9f1476d3cb491602ec1bde1eb18beee76481b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 28 Nov 2024 10:32:16 +0100 Subject: [PATCH 5/7] fix latency in observability traces(frontend) --- agenta-web/src/components/Playground/Views/TestView.tsx | 4 ++-- .../components/pages/observability/ObservabilityDashboard.tsx | 4 ++-- .../components/pages/observability/drawer/TraceContent.tsx | 4 ++-- .../src/components/pages/observability/drawer/TraceTree.tsx | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/agenta-web/src/components/Playground/Views/TestView.tsx b/agenta-web/src/components/Playground/Views/TestView.tsx index 5c725cb15c..95a0a72690 100644 --- a/agenta-web/src/components/Playground/Views/TestView.tsx +++ b/agenta-web/src/components/Playground/Views/TestView.tsx @@ -219,7 +219,7 @@ const BoxComponent: React.FC = ({ } }, [traceSpans]) - const activeTrace = useMemo(() => (traces ? traces[0] ?? null : null), [traces]) + const activeTrace = useMemo(() => (traces ? (traces[0] ?? null) : null), [traces]) const [selected, setSelected] = useState("") useEffect(() => { @@ -623,7 +623,7 @@ const App: React.FC = ({ const firstTraceNode = tree.nodes[0] newDataList[index] = { cost: firstTraceNode?.metrics?.acc?.costs?.total ?? null, - latency: firstTraceNode?.metrics?.acc?.duration?.total / 1000 ?? null, + latency: firstTraceNode?.metrics?.acc?.duration?.total / 1000 || null, usage: firstTraceNode?.metrics?.acc?.tokens?.total ?? null, } } diff --git a/agenta-web/src/components/pages/observability/ObservabilityDashboard.tsx b/agenta-web/src/components/pages/observability/ObservabilityDashboard.tsx index 917b3848ea..eef5893e46 100644 --- a/agenta-web/src/components/pages/observability/ObservabilityDashboard.tsx +++ b/agenta-web/src/components/pages/observability/ObservabilityDashboard.tsx @@ -182,8 +182,8 @@ const ObservabilityDashboard = () => {
{formatLatency( record?.metrics?.acc?.duration?.total - ? record?.metrics?.acc?.duration?.total - : record?.metrics?.acc?.tokens?.total / 1000, + ? record?.metrics?.acc?.duration?.total / 1000 + : null, )}
), diff --git a/agenta-web/src/components/pages/observability/drawer/TraceContent.tsx b/agenta-web/src/components/pages/observability/drawer/TraceContent.tsx index 5b0c6d0adf..fab6e3e258 100644 --- a/agenta-web/src/components/pages/observability/drawer/TraceContent.tsx +++ b/agenta-web/src/components/pages/observability/drawer/TraceContent.tsx @@ -299,8 +299,8 @@ const TraceContent = ({activeTrace}: TraceContentProps) => { {" "} {formatLatency( activeTrace?.metrics?.acc?.duration?.total - ? activeTrace?.metrics?.acc?.duration?.total - : activeTrace?.metrics?.acc?.tokens?.total / 1000, + ? activeTrace?.metrics?.acc?.duration?.total / 1000 + : null, )} } diff --git a/agenta-web/src/components/pages/observability/drawer/TraceTree.tsx b/agenta-web/src/components/pages/observability/drawer/TraceTree.tsx index 4d4c2f76fa..2738667d14 100644 --- a/agenta-web/src/components/pages/observability/drawer/TraceTree.tsx +++ b/agenta-web/src/components/pages/observability/drawer/TraceTree.tsx @@ -98,8 +98,8 @@ const TreeContent = ({value}: {value: _AgentaRootsResponse}) => { {formatLatency( metrics?.acc?.duration?.total - ? metrics?.acc?.duration?.total - : metrics?.acc?.tokens?.total / 1000, + ? metrics?.acc?.duration?.total / 1000 + : null, )} From a61b9cecc8105d651cd4e010d93f9ab9fa0f4cb2 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 28 Nov 2024 10:47:20 +0100 Subject: [PATCH 6/7] fixed prettier(frontend) --- agenta-web/src/components/Playground/Views/TestView.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/Playground/Views/TestView.tsx b/agenta-web/src/components/Playground/Views/TestView.tsx index 95a0a72690..2f0cc86450 100644 --- a/agenta-web/src/components/Playground/Views/TestView.tsx +++ b/agenta-web/src/components/Playground/Views/TestView.tsx @@ -219,7 +219,7 @@ const BoxComponent: React.FC = ({ } }, [traceSpans]) - const activeTrace = useMemo(() => (traces ? (traces[0] ?? null) : null), [traces]) + const activeTrace = useMemo(() => (traces ? traces[0] ?? null : null), [traces]) const [selected, setSelected] = useState("") useEffect(() => { From 7237192b2c1a253f609189c868fc49c212bcdec0 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Thu, 28 Nov 2024 11:04:15 +0100 Subject: [PATCH 7/7] Update README.md in cli folder --- agenta-cli/README.md | 173 +++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 107 deletions(-) diff --git a/agenta-cli/README.md b/agenta-cli/README.md index 2763e5c22b..64b753f81b 100644 --- a/agenta-cli/README.md +++ b/agenta-cli/README.md @@ -1,40 +1,25 @@ - -
-
- -
-
- - We are hiring! Join our team! - -
- - - -

- Home Page | - Slack | - Documentation -

+

+

+ Documentation | + Website | + Slack +

-

Collaborate on prompts, evaluate, and deploy LLM applications with confidence

- The open-source LLM developer platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps. +

The Open source LLMOps Platform

+ Prompt playground, prompt management, evaluation, and observability

MIT license. - + Doc @@ -63,25 +48,26 @@

-
- - - - - - - -
-

- + +

+
+
+


@@ -89,83 +75,58 @@ ---

- Quick Start • - Features • - Documentation • - Enterprise • - Roadmap • - Join Our Slack • - Contributing + Documentation • + Changelog • + Website • + Agenta Cloud +

--- -# โญ๏ธ Why Agenta? - -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. - -Agenta allows developers and product teams to collaborate in building production-grade LLM-powered applications in less time. - -### With Agenta, you can: - -- [๐Ÿงช **Experiment** and **compare** prompts](https://docs.agenta.ai/prompt_management/prompt_engineering) on [any LLM workflow](https://docs.agenta.ai/prompt_management/setting_up/custom_applications) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...) -- โœ๏ธ Collect and [**annotate golden test sets**](https://docs.agenta.ai/evaluation/test_sets) for evaluation -- ๐Ÿ“ˆ [**Evaluate** your application](https://docs.agenta.ai/evaluation/automatic_evaluation) with pre-existing or [**custom evaluators**](https://docs.agenta.ai/evaluation/custom_evaluator) -- [๐Ÿ” **Annotate** and **A/B test**](https://docs.agenta.ai/evaluation/human_evaluation) your applications with **human feedback** -- [๐Ÿค **Collaborate with product teams**](https://docs.agenta.ai/misc/team_management) for prompt engineering and evaluation -- [๐Ÿš€ **Deploy your application**](https://docs.agenta.ai/prompt_management/deployment) in one-click in the UI, through CLI, or through github workflows. +# What is Agenta? -### Works with any LLM app workflow +Agenta is a platform for building production-grade LLM applications. It helps **engineering and product teams** create reliable LLM apps faster. -Agenta enables prompt engineering and evaluation on any LLM app architecture: -- Chain of prompts -- RAG -- Agents - -It works with any framework such as [Langchain](https://www.langchain.com/), [LlamaIndex](https://www.llamaindex.ai/) and any LLM provider (openAI, Cohere, Mistral). - -# Quick Start - -### [Get started for free](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github) - -### [Explore the Docs](https://docs.agenta.ai/) - -### [Create your first application in one-minute](https://docs.agenta.ai/getting_started/quick-start) - -### [Create an application using Langchain](https://docs.agenta.ai/guides/tutorials/first-app-with-langchain) - -### [Self-host agenta](https://docs.agenta.ai/self-host/host-locally) - -### [Check the Cookbook](https://docs.agenta.ai/guides/cookbooks/evaluations_with_sdk) +Agenta provides end-to-end tools for the entire LLMOps workflow: building (**LLM playground**, **evaluation**), deploying (**prompt and configuration management**), and monitoring (**LLM observability and tracing**). # Features - -| Playground | Evaluation | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Compare and version prompts for any LLM app, from single prompt to agents.