Create A ChatBot On Your Data


Are you tired of clunky chatbot interfaces that limit your creativity? Do you want to harness the power of artificial intelligence to build a conversational app that meets your unique needs? Look no further! With Bionic's OpenAI-compatible API, you can create a simple yet powerful chatbot in just a few lines of code.
The Ultimate Flexibility
Bionic offers a vast range of options, but what if you want to create a minimalist interface that still leverages the models and RAG functionality already implemented? That's where Bionic's API comes in! With just two libraries - Streamlit and OpenAI - you can unlock the full potential of AI-powered chatbots.
Get Started in Minutes
-
Obtain an API key from Bionic and unlock access to a world of AI possibilities.
-
Install the required libraries: Streamlit and OpenAI.
-
Copy and paste the code below to get started.
The Code
import streamlit as st from openai import OpenAI st.title("Bionic API example") # Set OpenAI API key from Streamlit secrets client = OpenAI(api_key=st.secrets["OPENAI_API_KEY"],base_url=st.secrets["OPENAI_API_BASE"]) # Set a default model if "openai_model" not in st.session_state: st.session_state["openai_model"] = "llama3-70b-8192" # Initialize chat history if "messages" not in st.session_state: st.session_state.messages = [] # Display chat messages from history on app rerun for message in st.session_state.messages: with st.chat_message(message["role"]): st.markdown(message["content"]) if prompt := st.chat_input("What is up?"): st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.markdown(prompt) with st.chat_message("assistant"): stream = client.chat.completions.create( model=st.session_state["openai_model"], messages=[ {"role": m["role"], "content": m["content"]} for m in st.session_state.messages ], stream=True, ) response = st.write_stream(stream) st.session_state.messages.append({"role": "assistant", "content": response})
For the above to work you need to create a secrets.toml file under a folder call .streamlit with the following contents
OPENAI_API_KEY = "bionicAPIKey" OPENAI_API_BASE= "URL of your Bionic instance /v1"
You run the code using streamlit run app.py
and you now have a web enabled chatbot for your specific needs
For further details on using Streamlit to build LLM chat apps see Build a basic LLM chat app
Note : A Bionic API key gives you full access to an AI Assistant that you create. The AI Assistant in turn specifies a model and optionally a Dataset that has been populated with your documents
The beauty of having an OpenAI compatible API means we can cut down on the code we need to write. You just have to be aware of specifying a different base address so it accesses your version of Bionic or even our SaaS offering.