The 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
Agenta is an end-to-end LLMOps platform. It provides the tools for prompt engineering and management, βοΈ evaluation, and π 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.
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. |
playground_1024_30.07.2023.mp4
When you are ready, deploy your LLM applications as APIs in one click.
- π¨ 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.
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
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.
Contact us here for enterprise support and early access to agenta self-managed enterprise with Kubernetes support.
To disable anonymized telemetry, set the following environment variable:
- For web: Set
TELEMETRY_TRACKING_ENABLED
tofalse
in youragenta-web/.env
file. - For CLI: Set
telemetry_tracking_enabled
tofalse
in your~/.agenta/config.toml
file.
After making this change, restart agenta compose.
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.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind are welcome!
Attribution: Testing icons created by Freepik - Flaticon