Package: agenta
Home Page|Slack|DocumentationQuickly iterate, debug, and evaluate your LLM appsThe open-source LLMOps platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps.About•Quick Start•Installation•Features•Documentation•Enterprise•Community•Contributingℹ️ AboutAgenta is an end-to-end LLMOps platform. It provides the tools forprompt engineering and management,  ⚖️evaluation, and :rocket:deployment. All without imposing any restrictions on your choice of framework, library, or model.Agenta allows developers and product teams to collaborate and build robust AI applications in less time.🔨 How does it work?Using an LLM App Template (For Non-Technical Users)Starting from Code1.Create an application using a pre-built template from our UI2. Access a playground where you can test and compare different prompts and configurations side-by-side.3. Systematically evaluate your application using pre-built or custom evaluators.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 it2. Experiment with prompts and configurations, and compare them side-by-side in the playground.3. Systematically evaluate your application using pre-built or custom evaluators.4. Deploy the application to production with one click.Quick StartTry the cloud versionCreate your first application in one-minuteCreate an application using LangchainSelf-host agentaRead the DocumentationCheck the CookbookFeaturesPlayground 🪄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.https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134cVersion Evaluation 📊Define test sets, then evaluate manually or programmatically your different variants.API Deployment 🚀When you are ready, deploy your LLM applications as APIs in one click.Why choose Agenta for building LLM-apps?🔨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.🏗️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.👨‍💻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.🌐Solution-Agnostic: You have the freedom to use any libraries and models, be it Langchain, llma_index, or a custom-written alternative.🔒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.How Agenta works:1. Write your LLM-app codeWrite the code using any framework, library, or model you want. Add theagenta.postdecorator and put the inputs and parameters in the function call just like in this example:Example simple application that generates baby names:importagentaasagfromlangchain.chainsimportLLMChainfromlangchain.llmsimportOpenAIfromlangchain.promptsimportPromptTemplatedefault_prompt="Give me five cool names for a baby from{country}with this gender{gender}!!!!"ag.init()ag.config(prompt_template=ag.TextParam(default_prompt),temperature=ag.FloatParam(0.9))@ag.entrypointdefgenerate(country:str,gender:str,)->str:llm=OpenAI(temperature=ag.config.temperature)prompt=PromptTemplate(input_variables=["country","gender"],template=ag.config.prompt_template,)chain=LLMChain(llm=llm,prompt=prompt)output=chain.run(country=country,gender=gender)returnoutput2.Deploy your app using the Agenta CLI3. Go to agenta athttp://localhostNow your team can 🔄 iterate, 🧪 experiment, and ⚖️ evaluate different versions of your app (with your code!) in the web platform.Enterprise SupportContact us here for enterprise support and early access to agenta self-managed enterprise with Kubernetes support.Disabling Anonymized TrackingTo disable anonymized telemetry, set the following environment variable:For web: SetTELEMETRY_TRACKING_ENABLEDtofalsein youragenta-web/.envfile.For CLI: Settelemetry_tracking_enabledtofalsein your~/.agenta/config.tomlfile.After making this change, restart agenta compose.ContributingWe warmly welcome contributions to Agenta. Feel free to submit issues, fork the repository, and send pull requests.We are usually hanging in our Slack. Feel free tojoin our Slack and ask us anythingCheck out ourContributing Guidefor more information.Contributors ✨Thanks goes to these wonderful people (emoji key):Sameh Methnani💻📖Suad Suljovic💻🎨🧑‍🏫👀burtenshaw💻Abram💻📖Israel Abebe🐛🎨💻Master X💻corinthian💻🎨Pavle Janjusevic🚇Kaosi Ezealigo🐛💻Alberto Nunes🐛Maaz Bin Khawar💻👀🧑‍🏫Nehemiah Onyekachukwu Emmanuel💻💡📖Philip Okiokio📖Abhinav Pandey💻Ramchandra Warang💻🐛Biswarghya Biswas💻Uddeepta Raaj Kashyap💻Nayeem Abdullah💻Kang Suhyun💻Yoon💻Kirthi Bagrecha Jain💻Navdeep💻Rhythm Sharma💻Osinachi Chukwujama💻莫尔索📖Agunbiade Adedeji💻Emmanuel Oloyede💻📖Dhaneshwarguiyan💻Priyanshu Prajapati📖Raviteja💻Arijit💻Yachika9925📖Aldrin⚠️seungduk.kim.2304💻Andrei Dragomir💻diego💻brockWith💻Dennis Zelada💻Romain Brucker💻This project follows theall-contributorsspecification. Contributions of any kind are welcome!Attribution: Testing icons created byFreepik - Flaticon