Framework to create a custom AI agent.
Welcome to the Custom AI Agent Framework, a powerful tool designed to create personalized chat interactions using a variety of language model (LLM) engines such as GPT, LLaMA, Gemini, and more. This framework enables developers to build AI agents that engage users through text and voice inputs, gradually constructing user profiles to enhance contextual interactions. π€π¬π
Ailixirβ empowers users to create and incrementally refine custom AI agents that are specialized in specific domains. It assists users in gaining useful, reliable and timely answers to domain specific questions they are interested in, eventually becoming a dependable companion in the journey to navigate effectively within the field of their choice.
Ailixir aims to produce an MVP for a prototyping tool that allows users, who are entrepreneurs / developers to create, refine and compare the results of custom AI agents. Ailixir can be thought of a combination of three pieces that come together to achive its goals:
Before you begin, make sure you have the following prerequisites installed:
Prerequisite | Version | Installation Guide | Required |
---|---|---|---|
Python | 3.12 | β | |
PDM | 2.15 | β | |
Docker | 26.0 | β |
Click on the installation guide links to download and install the required software.
β¨ Downloading the Code
To get started, download the code using one of the following links:
Normal HTTPS Link:
git clone https://github.com/amosproj/amos2024ss06-health-ai-framework.git
SSH Link:
git clone git@github.com:amosproj/amos2024ss06-health-ai-framework.git
π§ Installation and Dependency Setup
Run the following command in project directory to install dependencies:
pdm install
No extra setup is required! pdm
will handle the creation of a virtual environment and installation of all dependencies for you.
βΆοΈ Running Your Code
Execute your code using the scripts defined in the pyproject.toml
file with the command:
pdm run <<script_name>>
Once you've completed the setup steps, you're all set to dive into development work! You have everything you need to begin coding and building your project. Happy coding! π»π
π βββ Deliverables π¦ (Contains project deliverables)
βΒ Β βββ README.md π (Readme file for deliverables)
βΒ Β βββ sprint-01 πββοΈ (Sprint 01 deliverables)
βΒ Β βββ Dummy.md π (Dummy markdown file)
βΒ Β βββ feature-board.csv π (Feature board in CSV format)
βΒ Β βββ feature-board.png πΌοΈ (Feature board image)
βΒ Β βββ imp-squared-backlog.csv π (Imp squared backlog in CSV format)
βΒ Β βββ imp-squared-backlog.png πΌοΈ (Imp squared backlog image)
βΒ Β βββ planning-document.pdf π (Planning document in PDF format)
βΒ Β βββ team-logo.png πΌοΈ (Team logo in PNG format)
βΒ Β βββ team-logo.svg πΌοΈ (Team logo in SVG format)
π βββ Dockerfile π³ (Dockerfile for containerization)
π βββ Documentation π (Contains project documentation)
βΒ Β βββ README.md π (Readme file for documentation)
π βββ LICENSE π (License file)
π βββ pdm.lock π (Lock file for Python dependency management)
π βββ pyproject.toml π (Pyproject configuration file)
π βββ README.md π (Main Readme file for the repository)
π βββ ruff.toml π οΈ (Ruff configuration file)
We've implemented Ruff and pre-commit to ensure the consistency of our codebase's style. With this setup, when you attempt to commit changes, pre-commit hooks will automatically run to check the code style. If the code style passes, the commit will proceed as usual.
However, if there are any style errors detected, you have two options:
This workflow helps maintain code quality while allowing for human oversight before changes are finalized and committed. π