medico-bot / src /auth_app.py
kap2403
"added files"
5e433de
import gradio as gr
import os
import subprocess
import webbrowser
from groq import Groq
# Function to validate and save the API key
def validate_api_key(user_api_key):
global api_key
if not user_api_key:
return "❌ Please enter your Groq Cloud API key."
try:
# Initialize Groq client
client = Groq(api_key=user_api_key)
# Make a test request
response = client.chat.completions.create(
messages=[{"role": "user", "content": "Hello"}],
model="llama-3.1-8b-instant"
)
# Save API key to env variable if successful
api_key = user_api_key
os.environ["GROQ_API_KEY"] = api_key
return "βœ… API key is valid and saved!"
except Exception as e:
return f"❌ Invalid API key: {str(e)}"
# Gradio Interface
with gr.Blocks() as demo:
gr.Markdown("## πŸ” Enter Your Groq Cloud API Key")
gr.Markdown("You can create an API key at [Groq Cloud Console](https://console.groq.com/keys)")
api_key_input = gr.Textbox(label="Groq Cloud API Key", type="password", placeholder="sk-...")
submit_button = gr.Button("Validate API Key")
output_text = gr.Textbox(label="Status", interactive=False)
# Use the validation function on button click
submit_button.click(fn=validate_api_key, inputs=api_key_input, outputs=output_text)
demo.launch()