Skip to content

Hi-kue/perceptron-tkhm-fullstack

Repository files navigation

Alfred AI Logo

Alfred AI Take Home Assessment

Take home assessment for Perceptron Labs, intended for submission including a link to the deployed project and a following all requirements here.

Project Description

Warning

This project is intended to be a submission for Perceptron Labs, and is not intended to be used for commercial purposes.

This project is a take home assement for Perceptron Labs, and is intended to be a submission for the following the requirements for building a LLM Chatbot with the personality of Alfred. The project is deployed on Fly.io, and can be accessed at the following link: Alfred AI.

Alfred AI is an intelligent chatbot that embodies the persona of Alfred Pennyworth, the loyal butler from Batman. Using LangChain and OpenAI's language model, Alfred AI provides clothing recommendations based on the user's specified location and weather conditions. The chatbot maintains Alfred's characteristic wit, formality, and attention to detail in its responses.

Features

  • Natural language interaction mimicking Alfred's persona
  • Real-time weather data integration
  • Personalized clothing recommendations based on location and weather
  • Deployment on Fly.io for easy access

Getting Started

Prerequisites

To run this project locally, you'll need:

  • Python 3.12+
  • OpenAI API key
  • LangChain API key

Installation

To get started with the project simply start first with cloning the repository:

git clone https://github.com/Hi-kue/perceptron-tkhm-fullstack.git
cd alfred-ai

Set your virtual environment (or just use poetry):

# using venv
python -m venv venv
use venv\Scripts\activate

# using poetry
poetry install
poetry shell
poetry update || lock

If you did not use poetry, then install the packages:

pip install -r requirements.txt

Next, create a .env file in the project root and add your API keys:

OPENAI_API_KEY=...
LANGCHAIN_API_KEY=...
LANGCHAIN_PROJECT=...

NOTE: Follow the .env.example file for the required .env file, I will be providing it in the submission for this.

And you should be good to go! All you need to do now is run the chatbot:

py main.py

Technology Stack

  • Python
  • LangChain
  • OpenAI GPT
  • DuckDuckGo Search API (For the Weather Data)
  • Fly.io (For Deployment)

Future Considerations

  • Tavily (Engine Optimizations for LLMs)
  • Flask (For Full Website Development and Integrations)

License

Distributed under the MIT License. See LICENSE for more information.

License

About

AI LLM Chatbot actor as Alfred (Take Home Assessment for Perceptron).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published