A Personal Chatbot Interface with Elasticsearch & Streamlit

A Personal Chatbot Interface with Elasticsearch & Streamlit

This project lives in this github repo along with set-up instructions.

Features

  1. Select an LLM and a custom system prompt
  2. Save conversations to an Elasticsearch index
  3. Load conversations from that Elasticsearch index
  4. Enable RAG mode on indices of your choice. Multiple indices allowed
  5. Select conversation history with estimated wordcounts
  6. Clear chat history
  7. Streaming output


I thought it would be a good learning exercise to make my own LLM Chatapp. I figured writing my own chat app would allow me to fiddle with the internals in a way that commercial aggregators like Poe.com wouldn't let me do.

I can add connectivity to Elastic to save and load my conversations, do RAG, use it as a basis for demos to clients, and as a frontend for more involved and complicated use-cases beyond RAG and chat.

At the risk of sounding like a cave-dweller, I recently discovered Streamlit, and oh my god is it ever so convenient. Now, for a personal application which gets no webtraffic but my own, I figured it would be a pretty easy and quick way to get a UI up and running. I admit I'm pretty new to Streamlit in general, so I can make no comments about its worthiness as a production-grade web dev framework. However, it is incredibly easy to setup, which is a big plus when you've already got an endlessly growing list of things to do.

Feel free to check it out and let me know what you think!



Jianwei Lee

Associate Director at Bank of Singapore, Asia's Global Private Bank

6 个月

Streamlit ftw

回复
Jie-Hong Lim

Digital First, Securely Advocate for Public Sector | Solutions Engineering

6 个月

Yeah, streamlit is dead simple! It’s meant for rapid prototyping with few lines of python. No frontend skills required!

要查看或添加评论,请登录

Han Xiang Choong的更多文章

社区洞察

其他会员也浏览了