Check it out yourself at exmeralda.chat.
- Erlang & Elixir
- Node JS
- Postgres 17 (with pgvector)
You can install all of it (except pgvector) with asdf.
To test the chatbot locally you either need to start with a Groq API key (see 1password):
GROQ_API_KEY=abcd JINA_API_KEY=abcd iex -S mix phx.server
or install Ollama:
brew install ollama
# In a separate terminal
ollama start
# Then back to the initial terminal
ollama pull llama3.2:latest
ollama pull unclemusclez/jina-embeddings-v2-base-code
and then:
mix deps.get
mix setup
Start as usual:
# In a separate terminal
ollama start
# In another terminal
mix phx.server
or
iex -S mix phx.server
Be aware that the seeded libraries are not that useful to chat with, since it is just dummy data.
Now you can visit localhost:4000
from your browser.
- http://localhost:4000/dev/mailbox for the Swoosh dev mailbox
- http://localhost:4000/oban for the Oban dashboard
- http://localhost:4000/admin for our admin interface
The deployment is done with Fly.io.
Follow this guide to run an IEx console on production:
fly ssh console --pty -C "/app/bin/exmeralda remote"