Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| # Title of the app | |
| st.title("Enhanced Q&A Chatbot With OpenAI") | |
| # Sidebar for settings | |
| st.sidebar.title("Settings") | |
| api_key = st.sidebar.text_input("Enter your OpenAI API Key:", type="password") | |
| # Select the OpenAI model | |
| engine = st.sidebar.selectbox("Select OpenAI model", ["gpt-4", "gpt-4-turbo", "gpt-4o"]) | |
| # Adjust response parameters | |
| temperature = st.sidebar.slider("Temperature", min_value=0.0, max_value=1.0, value=0.7) | |
| max_tokens = st.sidebar.slider("Max Tokens", min_value=50, max_value=300, value=150) | |
| # Main interface for user input | |
| st.write("Go ahead and ask any question:") | |
| user_input = st.text_input("You:") | |
| # Function to generate responses | |
| def generate_response(user_input, api_key, engine, temperature, max_tokens): | |
| import openai | |
| openai.api_key = api_key | |
| response = openai.Completion.create( | |
| engine=engine, | |
| prompt=user_input, | |
| temperature=temperature, | |
| max_tokens=max_tokens, | |
| ) | |
| return response.choices[0].text.strip() | |
| # Display response | |
| if user_input and api_key: | |
| try: | |
| response = generate_response(user_input, api_key, engine, temperature, max_tokens) | |
| st.write(response) | |
| except Exception as e: | |
| st.error(f"Error: {e}") | |
| elif user_input: | |
| st.warning("Please enter the OpenAI API Key in the sidebar.") | |
| else: | |
| st.write("Please provide user input.") | |