Skip to main content

The SDK for agenta is an open-source LLMOps platform.

Project description

Shows the logo of agenta

Home Page | Slack | Documentation

Quickly iterate, debug, and evaluate your LLM apps
The open-source LLMOps platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps.

MIT license. Doc PRs welcome Contributors Last Commit Commits per month PyPI - Downloads





Mockup agenta



AboutQuick StartInstallationFeaturesDocumentationEnterpriseCommunityContributing


ℹ️ About

Agenta is an end-to-end LLMOps platform. It provides the tools for prompt 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 Code
1. Create an application using a pre-built template from our UI
2. 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 it
2. 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 Start

Try the cloud version

Create your first application in one-minute

Create an application using Langchain

Self-host agenta

Read the Documentation

Check the Cookbook

Features

Playground 🪄

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-d95efc69134c

Version 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 code

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:

Example simple application that generates baby names:

import agenta as ag
from langchain.chains import LLMChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate

default_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.entrypoint
def generate(
    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)

    return output

2.Deploy your app using the Agenta CLI

Screenshot 2023-06-19 at 15 58 34

3. Go to agenta at http://localhost

Now your team can 🔄 iterate, 🧪 experiment, and ⚖️ evaluate different versions of your app (with your code!) in the web platform.

Screenshot 2023-06-25 at 21 08 53

Enterprise Support

Contact us here for enterprise support and early access to agenta self-managed enterprise with Kubernetes support.

Book us

Disabling Anonymized Tracking

To disable anonymized telemetry, set the following environment variable:

  • For web: Set TELEMETRY_TRACKING_ENABLED to false in your agenta-web/.env file.
  • For CLI: Set telemetry_tracking_enabled to false in your ~/.agenta/config.toml file.

After making this change, restart agenta compose.

Contributing

We 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 to join our Slack and ask us anything

Check out our Contributing Guide for more information.

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):

Sameh Methnani
Sameh Methnani

💻 📖
Suad Suljovic
Suad Suljovic

💻 🎨 🧑‍🏫 👀
burtenshaw
burtenshaw

💻
Abram
Abram

💻 📖
Israel Abebe
Israel Abebe

🐛 🎨 💻
Master X
Master X

💻
corinthian
corinthian

💻 🎨
Pavle Janjusevic
Pavle Janjusevic

🚇
Kaosi Ezealigo
Kaosi Ezealigo

🐛 💻
Alberto Nunes
Alberto Nunes

🐛
Maaz Bin Khawar
Maaz Bin Khawar

💻 👀 🧑‍🏫
Nehemiah Onyekachukwu Emmanuel
Nehemiah Onyekachukwu Emmanuel

💻 💡 📖
Philip Okiokio
Philip Okiokio

📖
Abhinav Pandey
Abhinav Pandey

💻
Ramchandra Warang
Ramchandra Warang

💻 🐛
Biswarghya Biswas
Biswarghya Biswas

💻
Uddeepta Raaj Kashyap
Uddeepta Raaj Kashyap

💻
Nayeem Abdullah
Nayeem Abdullah

💻
Kang Suhyun
Kang Suhyun

💻
Yoon
Yoon

💻
Kirthi Bagrecha Jain
Kirthi Bagrecha Jain

💻
Navdeep
Navdeep

💻
Rhythm Sharma
Rhythm Sharma

💻
Osinachi Chukwujama
Osinachi Chukwujama

💻
莫尔索
莫尔索

📖
Agunbiade Adedeji
Agunbiade Adedeji

💻
Emmanuel Oloyede
Emmanuel Oloyede

💻 📖
Dhaneshwarguiyan
Dhaneshwarguiyan

💻
Priyanshu Prajapati
Priyanshu Prajapati

📖
Raviteja
Raviteja

💻
Arijit
Arijit

💻
Yachika9925
Yachika9925

📖
Aldrin
Aldrin

⚠️
seungduk.kim.2304
seungduk.kim.2304

💻
Andrei Dragomir
Andrei Dragomir

💻
diego
diego

💻
brockWith
brockWith

💻
Dennis Zelada
Dennis Zelada

💻
Romain Brucker
Romain Brucker

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!

Attribution: Testing icons created by Freepik - Flaticon

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agenta-0.10.1.tar.gz (69.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agenta-0.10.1-py3-none-any.whl (107.2 kB view details)

Uploaded Python 3

File details

Details for the file agenta-0.10.1.tar.gz.

File metadata

  • Download URL: agenta-0.10.1.tar.gz
  • Upload date:
  • Size: 69.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1019-azure

File hashes

Hashes for agenta-0.10.1.tar.gz
Algorithm Hash digest
SHA256 1a8dd91264e3671394ebf71cefbb6437d8a8f0cb440dc4f88a232fd9a7cc31f3
MD5 5c4982aa0aca67e0801771894b1f2f0b
BLAKE2b-256 cf5757a628e708486382b116d5c54dfc1f0293eb22152a524146f6df33e6ca70

See more details on using hashes here.

File details

Details for the file agenta-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: agenta-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 107.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1019-azure

File hashes

Hashes for agenta-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85020e343cfe1f7de7b71b82ebe3a30d90a125d2f4a7148204c9b4fdb1efdc39
MD5 9c5e6f47ac34ac695d69e5008e19088a
BLAKE2b-256 194afb9a2500f157837da17aa371f93d1f5a219be65512e8b088b2e8a2b37e49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page