Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 2.86 KB

README.md

File metadata and controls

65 lines (50 loc) · 2.86 KB

Lexi, AI-Powered Customer Support

CI

Alt Text

Prerequites

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.

Use docker-compose to run the project

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

Stack

  • 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 structure

$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

License

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: