Alexis Rondeau

Newsfeed

Repository · Sunday, April 30, 2023 · 12:36

LangChainInABox

A native macOS app for playing with LangChain that ships with a self-contained, embedded, Apple-notarisable Python 3.11 and up-to-date LangChain libraries

2 stars · Python

v1.1

Hi there, Alexis here!

I love making 👏🏻 things 👏🏻 that 👏🏻 do 👏🏻 things 👏🏻.

This project is a ‘batteries-included’ macOS UI for LangChain. It ships with a self-contained, embedded, Apple-notarisable Python 3.11 and LangChain libraries. It also includes documentation on how to update langchain dependencies over time.

Why? Access to LangChain should be easy for those who want to change the world.

I saw my girlfriend fully embrace GPT-4 via an app I built for her. Even though it’s “just a UI to GPT-4”, it comes batteries-included. This allowed her to fully focus only on her projects and not the technology.

The hard, and tedious, part - like installing brew, getting the right Python version, creating the right venv, updating langchain, choosing and learning an IDE - should not a barrier to entry for her.

UI Evolution

Here you can see the small user-facing increments.

The first (working) UI!

v1.1

Got LangChain wired up!

First Success

Development Notes

To build with XCode, please create APIConfig.xcconfig under $ROOT/EmbeddedPythonSpike/Backend with this content

$ cd $PROJECT_ROOT
$ touch ./EmbeddedPythonSpike/Backend/APIConfig.xcconfig
$ echo "OPENAI_API_KEY = your-api-key" > ./EmbeddedPythonSpike/Backend/APIConfig.xcconfig

How to update LangChain and its dependencies

See the documentation for details (Not shown in XCode, use Terminal)

Distributing the App

This project is based on my template for embedding Python in a signed macOS app, which itself stands on the shoulders of these giants: Eldar Eliav, Eddie Espinal, and this person

So far, I’ve successfully uploaded and got the bundle signed with my Developer ID.

Notarized with Developer ID Upload and Sign