This AI Does Not Exist: generate realistic descriptions of made-up machine learning models.
This AI Does Not Exist generates realistic descriptions of made-up machine learning models. Modelexicon is what it was called before I bought the domain.
This AI Does Not Exist is built with Oak and Torus. EleutherAI's GPT-J-6B is used for text and code generation at time of writing, though this may change as state-of-the-art models improve.
At the core of This AI Does Not Exist are two text generation pipelines:
These are both generated using a language model called GPT-J-6B, which sits somewhere between the well-known GPT-2 and GPT-3 models in terms of performance.
When you simply open thisaidoesnotexist.com
, the model names you'll see are hand curated and pre-generated by me. There are a few reasons I chose to pre-generate a set of model names:
The script in scripts/pregenerate_models.oak
pre-generates this dataset into models.json
, which the server round-robins through at runtime on each request. Any user-entered model names are obviously routed to the right APIs for text generation.
Running Modelexicon requires a config.oak
configuration file, which currently includes API access information for text generation. There are two text generation backends supported:
HuggingfaceURL
set to the right model and HuggingfaceToken
set to your API key.CalamityURL
to the API endpoint and CalamityToken
to the app-specific API token I generate for my projects.With these defined in config.oak
, oak src/main.oak
should start up the app.
Like many of my projects, Modelexicon is built and managed with Oak. There's a short Makefile that wraps common oak
commands:
make
runs the web server, and is equivalent to oak src/main.oak
mentioned abovemake fmt
or make f
auto-formats any tracked changes in the repositorymake build
or make b
builds the client JavaScript bundle from src/app.js.oak
make watch
or make w
watches for file changes and runs the make build
on any change