Ensure you have the following environment variables:
- APP_OPENAI_API_KEY, create an account on OpenAI to get your API key
- APP_REPLICATE_API_TOKEN, create an account on Replicate to get your API key
- APP_ELEVENLABS_API_KEY, create an account on Elevenlabs to get your API key
- APP_GCP_PROJECT_ID, it is the ID of your project in Google Cloud Platform(https://cloud.google.com/?hl=en)
- APP_VERTEXAI_LOCATION, use a geographic location that is compatible with Vertex AI (I'm using us-central1)
Make sure to login in GCP with the command:
gcloud auth application-default login
This will allow the backend running inside the Docker container to use these credentials to authenticate with Google Cloud Services.
Ensure that you have both Docker and docker-compose installed on your system. I'm using Builtkit in the backend Dockerfile. Therefore, you must activate the corresponding environment variables to build the Docker images.
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
To start the application, simply run:
make dc-up
- FastApi - A modern, fast, web framework for building APIs with Python 3.8+
- Angular - An application-design framework and development platform for creating efficient and sophisticated singled-page apps.
- TailwindCSS - a utility-first CSS framework for rapidly building modern websites.
- Docker - a software to build and run container applications.
- Redis - An open source, in-memory data structure store, used as a database, cache and message broker.
$PROJECT_ROOT
│ # Python backend using FastApi and Redis
├── backend
│ # Angular and tailwind CSS frontend
├── frontend
│ # Docker compose config files
├── docker-compose
│ # An example to fine tune gpt3.5 turbo with a sample of data
└── example-fine-tuning
MIT License.
You can reuse any part of my work and code for free without notifying me by forking this project under the following conditions:
- Attribution: You must give appropriate credit, provide a link to my repository (https://github.com/AdrienHdz/AI_assistant_chatbot) or to my website (https://www.adrienhernandez.com/).
- For example: "This project is built based on Adrien Hernandez's AI assistant chatbot project."