Spaces:
Running
Running
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| from e2b_code_interpreter import Sandbox | |
| from .utils import run_interactive_notebook | |
| message_history = None | |
| def execute_jupyter_agent(sytem_prompt, user_input): | |
| client = InferenceClient(api_key=HF_TOKEN) | |
| max_new_tokens = 512 | |
| model = "meta-llama/Llama-3.1-8B-Instruct" | |
| sbx = Sandbox(api_key=E2B_API_KEY) | |
| messages = [ | |
| {"role": "system", "content": "Environment: ipython\nYou are a helpful coding assistant. Always first explain what you are going to do before writing code."}, | |
| {"role": "user", "content": "What is 2+1? Use Python to solve."} | |
| ] | |
| for notebook_html, messages in run_interactive_notebook(client, model, messages, sbx): | |
| message_history = messages | |
| yield notebook_html | |
| # Create the interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# HTML Generator") | |
| with gr.Row(): | |
| system_input = gr.Textbox(label="System prompt", placeholder="Environment: ipython\nYou are a helpful coding assistant. Always first explain what you are going to do before writing code.") | |
| user_input = gr.Textbox(label="User prompt", placeholder="What is 2+1? Use Python to solve.", lines=3) | |
| generate_btn = gr.Button("Let's go!") | |
| output = gr.HTML(label="Jupyter Notebook") | |
| generate_btn.click( | |
| fn=combine_inputs, | |
| inputs=[system_input, user_input], | |
| outputs=output | |
| ) | |
| demo.launch() |