Spaces:
Running
Running
File size: 2,609 Bytes
1859ea0 0170f28 8e0846e 0170f28 8e0846e 0337ce6 8e0846e 0170f28 81bb13b 8e0846e 0337ce6 8e0846e 0337ce6 8e0846e 1859ea0 39ae643 81bb13b 0337ce6 1859ea0 0337ce6 81bb13b 0337ce6 4b1477c 81bb13b 4b1477c 4fb49a4 4b1477c |
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 67 68 69 70 71 72 73 74 |
import gradio as gr
import requests
import json
import os
# Retrieve the API key from environment variables
API_KEY = os.getenv('API_KEY')
if not API_KEY:
raise ValueError("API_KEY environment variable not set")
API_URL = "https://api-inference.huggingface.co/models/Salesforce/codegen-350M-mono"
headers = {"Authorization": f"Bearer {API_KEY}"}
def generate_response(prompt, max_length=500, temperature=0.5):
data = {
"inputs": prompt,
"parameters": {
"max_length": max_length,
"temperature": temperature,
}
}
response = requests.post(API_URL, headers=headers, json=data)
if response.status_code == 200:
result = response.json()
return result[0]['generated_text'] if result else "No response received"
else:
return f"Error: {response.status_code}\n{response.text}"
def main(prompt, max_length=500, temperature=0.5):
response = generate_response(prompt, max_length, temperature)
return response
# Adding real-time feedback
def real_time_feedback(prompt):
# Validate prompt and provide feedback
if len(prompt) < 10:
return "Please enter a longer prompt..."
else:
return "Ready to generate code!"
# Adding rich text formatting
def format_code(code):
# Add syntax highlighting to the generated code using HTML tags
formatted_code = "<pre><code>" + code + "</code></pre>"
return formatted_code
# Adding interactive elements
def interactive_elements(prompt, max_length=500, temperature=0.5):
# Provide interactive feedback and formatting
feedback = real_time_feedback(prompt)
code = main(prompt, max_length, temperature)
formatted_code = format_code(code)
return feedback, formatted_code
# Enhanced Gradio Interface with interactive elements
interactive_iface = gr.Interface(
fn=interactive_elements,
inputs=[
gr.Textbox(label="Enter your prompt", placeholder="Enter your prompt here...", lines=5),
gr.Slider(label="Max Length", minimum=50, maximum=2000, value=500, step=10),
gr.Slider(label="Temperature", minimum=0.1, maximum=1.0, value=0.5, step=0.1)
],
outputs=[
gr.Textbox(label="Real-Time Feedback", placeholder="Real-time feedback will appear here...", lines=1),
gr.HTML(label="Generated Code")
],
title="Enhanced Code Assistant",
description="Enter your prompt and get responses from the code generation model. Adjust the max length and temperature to customize the output."
)
# Launch the Gradio Interface
if __name__ == "__main__":
interactive_iface.launch()
|