Spaces:
Runtime error
Runtime error
| import os | |
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| api_key = os.getenv("HF_API_KEY") | |
| client = InferenceClient(api_key=api_key) | |
| # Create shared state for the textbox values | |
| class State: | |
| def __init__(self): | |
| self.context = "This Adrega component is designed to answer questions provided by API" | |
| self.question = "What does this component do?" | |
| state = State() | |
| '''def analyze(project_data, question): | |
| try: | |
| prompt = f"Analyze this project: {project_data}\n\nQuestion: {question}" | |
| messages = [ | |
| {"role": "system", "content": f"Context: {project_data}"}, | |
| {"role": "user", "content": question} | |
| ] | |
| response = client.chat.completions.create( | |
| model="Qwen/Qwen2.5-72B-Instruct", | |
| messages=messages, | |
| max_tokens=1000, | |
| stream=True | |
| ) | |
| answer = "" | |
| for chunk in response: | |
| answer += chunk['choices'][0]['delta']['content'] | |
| yield answer | |
| except Exception as e: | |
| print(f"Error details: {str(e)}") | |
| yield f"Error occurred: {str(e)}" | |
| ''' | |
| # Function to update textbox values | |
| def update_values(context, question): | |
| state.context = context | |
| state.question = question | |
| return state.context | |
| with gr.Blocks() as iface: | |
| # Create the components with the state values | |
| project_data = gr.Textbox(label="Project Data", lines=2, value=lambda: state.context) | |
| question = gr.Textbox(label="Question", lines=1, value=lambda: state.question) | |
| output = gr.Textbox(label="Output") | |
| # Create analyze button | |
| #analyze_btn = gr.Button("Analyze") | |
| # Connect the analyze function | |
| #analyze_btn.click( | |
| # fn=analyze, | |
| # inputs=[project_data, question], | |
| # outputs=output | |
| #) | |
| update_btn = gr.Button("Update") | |
| update_btn.click( | |
| fn=update_values, | |
| inputs=['test1', 'test2'], | |
| outputs=output | |
| ) | |
| # Add API endpoint for updating values | |
| iface.add_api_route("/update_values", update_values, methods=["POST"]) | |
| # Configure for external access | |
| iface.launch( | |
| server_name="0.0.0.0", # Allow external connections | |
| share=True, # Create public URL | |
| allowed_paths=["*"], # Allow CORS | |
| ) | |