Release - 2023-07-26
Why we made an Open Source Chatbot with Metal
by Taylor Lowe

Ozzy talking to an llm robot
Like many in the AI and LLM space, weâve seen an explosion of one kind of application in particular: the chatbot. This is not surprising, as the launch of LLMs like ChatGPT are responsible for kickstarting the massive amount of building taking place today.
Chatbots are a great way to start learning how to use LLMs. These applications help developers understand the building blocks of the stack, incorporating the elements of data (embeddings, vector storage), querying (information retrieval) and observability (logging and analytics) into a single application.
But if youâre just getting started with the stack, having to manually code a chatbot every time can be tedious or downright inefficient. We know this from experience, as our team is hands-on with every customer â often helping users build their first application with Metal to learn the stack alongside our team. Translation: we made lots of chatbots. So we asked how we can help developers move faster.
Introducing Metal Chat OSS
Metalâs open source AI Chatbot is designed to be pulled off the shelf and directly integrated into Metalâs vector storage and information retrieval capabilities. You can think of it as a âstarter kitâ, helping developers ship their first LLM application in a fraction of the time.
Whatâs in Metal Chat today?
For starters, there would be no chatbot without chat capabilities! You can use ChatGPT-3.5 or 4, depending on your use case.

Chatbot experience
We also provide tooling to customize the chat experience.

Chatbot Configuration
Temperature allows you to control how creative your chatbot will be in generating responses. Lower temperatureâs will keep the LLMâs answers as close to the indexed data as possible, making the answers more deterministic and focused.
Max tokens allows you to configure the maximum amount of tokens returned in a response, limiting the number of characters the LLM will output. While not a 1-1 comparison, you can think of a single token as ~4 characters in English.
Chunk Count limits the number of relevant embedding chunks that will be returned given a query. While Metal Chat can currently return up to 100 chunks, please note that this may produce an error as the total size of chunks may exceed GPTâs context window limit.
Export makes it easy to create transcripts of your chatbotâs responses to user queries. The export feature will create a .txt file of a conversation, which can be easily shared and reviewed.
Clear History allows you to clear the current conversation from the chatbot.
Prompt Libary allows you to update the system message for the chatbot. These are essentially instructions for how the chatbot should respond to queries.

Chatbot Prompt Library
The view sources feature will show you which chunks of embeddings were used to generate a response from the LLM. These are sorted by relevancy, with the most relevant chunks at the top of the list. When you select the chunk by embedding ID, you can view the entirety of the chunkâs text in Metalâs platform.

Chatbot View Sources
Whatâs does the future hold for Metal Chat?
The future is what we make it! Developers are more than welcome to contribute to this project and the goal will remain the same â helping developers build and ship LLM chat apps faster.
For our part, we will maintain the project and add new functionality as itâs released. Some of the features we have planned involve more powerful ways to index and store data, more powerful retrieval mechanisms that can work with structured data, and more.
If you would like to see a feature in this project, feel free to open an issue or drop us a line here.