Skip to content

The all-in-one LLMOps platform: prompt management, evaluation, human feedback, and deployment all in one place.

License

Notifications You must be signed in to change notification settings

seungduk-yanolja/agenta

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shows the logo of agenta
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. PRs welcome Contributors Last Commit Commits per month





Mockup agenta



About β€’ Demo β€’ Quick Start β€’ Installation β€’ Features β€’ Documentation β€’ Support β€’ Community β€’ Contributing


ℹ️ About

Building production-ready LLM-powered applications is currently very difficult. It involves countless iterations of prompt engineering, parameter tuning, and architectures.

Agenta provides you with the tools to quickly do prompt engineering and πŸ§ͺ experiment, βš–οΈ evaluate, and πŸš€ deploy your LLM apps. All without imposing any restrictions on your choice of framework, library, or model.

Overview agenta

Demo

agenta-demo.mp4

Quick Start

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.
playground_1024_30.07.2023.mp4

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 localhost:3000

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

Support

Talk with the founders for any commercial inquiries.

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

⚠️

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

Attribution: Testing icons created by Freepik - Flaticon

About

The all-in-one LLMOps platform: prompt management, evaluation, human feedback, and deployment all in one place.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 58.9%
  • Python 39.5%
  • HCL 0.6%
  • Shell 0.5%
  • Dockerfile 0.3%
  • JavaScript 0.1%
  • Other 0.1%