Spaces:
Sleeping
Sleeping
File size: 2,030 Bytes
5f4c22d 6f02332 5f4c22d 9b507f9 5f4c22d 6f02332 5f4c22d 9b507f9 026782a 9b507f9 5f4c22d bdacf90 6f02332 bdacf90 5f4c22d bdacf90 6f02332 5f4c22d 6f02332 5f4c22d 6f02332 5f4c22d 6f02332 9b507f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import streamlit as st
import requests
import os
# Set page configuration
st.set_page_config(
page_title="ChatGPT-like App using Groq API",
page_icon="π¬",
layout="wide",
)
def get_groq_response(prompt, max_tokens, temperature):
api_key = os.getenv('GROQ_API_KEY')
if not api_key:
st.error("API key not found. Please set the GROQ_API_KEY environment variable.")
return None
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json',
}
data = {
'prompt': prompt,
'max_tokens': max_tokens,
'temperature': temperature,
}
try:
response = requests.post('https://api.groq.com/openai/v1/chat/completions', headers=headers, json=data)
response.raise_for_status()
result = response.json()
if 'response' in result:
return result['response']
else:
st.error(f"Unexpected API response format: {result}")
return None
except requests.exceptions.HTTPError as http_err:
st.error(f"HTTP error occurred: {http_err}\nResponse Content: {response.text}")
return None
except Exception as err:
st.error(f"An error occurred: {err}")
return None
# Sidebar settings
st.sidebar.title("Settings")
max_tokens = st.sidebar.slider("Max Tokens", min_value=50, max_value=500, value=150)
temperature = st.sidebar.slider("Temperature", min_value=0.0, max_value=1.0, value=0.7)
# Main interface
st.title("ChatGPT-like App using Groq API π¬")
# Input field
user_input = st.text_input("You:")
# Send button
if st.button("Send"):
if user_input:
# Display user message
st.markdown(f"**You:** {user_input}")
# Get bot response
bot_response = get_groq_response(user_input, max_tokens, temperature)
if bot_response:
# Display bot response
st.markdown(f"**Bot:** {bot_response}")
else:
st.error("Failed to get a response from the bot.")
|