Spaces:
Runtime error
Runtime error
File size: 2,247 Bytes
d59cc6b 20a8d5c ca2c2ed 137c3a1 d59cc6b 137c3a1 d59cc6b 137c3a1 d59cc6b 20a8d5c 137c3a1 d59cc6b 137c3a1 20a8d5c 137c3a1 d59cc6b 20a8d5c d59cc6b 137c3a1 d59cc6b ca2c2ed d59cc6b ca2c2ed 137c3a1 ca2c2ed 137c3a1 ca2c2ed 137c3a1 ca2c2ed 137c3a1 ca2c2ed 137c3a1 d59cc6b ca2c2ed d59cc6b ca2c2ed |
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 |
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
from playwright.async_api import async_playwright
import json
# Define model and inference parameters
MODEL_NAME = "HuggingFaceH4/zephyr-7b-beta"
MAX_LENGTH = 512
NUM_BEAMS = 5
TEMPERATURE = 0.7
# Function to generate actions using Zephyr-7b-beta model
def generate_actions(input_text):
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
# Use pipeline for text generation
generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
outputs = generator(input_text, max_length=MAX_LENGTH, num_beams=NUM_BEAMS, temperature=TEMPERATURE)
response = outputs[0]['generated_text']
actions = response.split("\n")
return actions
# Function to initialize browser and page (now asynchronous)
async def initialize_browser():
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
return browser, page
# Gradio interface (now using the asynchronous function)
async def run_agent(input_text):
async with async_playwright() as p:
browser, page = await initialize_browser()
actions = generate_actions(input_text)
for action in actions:
if "open website" in action:
website = action.split(" ")[-1]
await page.goto(website)
elif "click" in action:
selector = action.split(" ")[-1]
await page.click(selector)
elif "type" in action:
text = action.split(" ")[-1]
await page.type(text)
elif "submit" in action:
await page.press("Enter")
else:
print(f"Action not recognized: {action}")
return f"Successfully executed actions based on: {input_text}"
iface = gr.Interface(
fn=run_agent, # Pass the async function directly
inputs=gr.Textbox(label="Enter your request"),
outputs=gr.Textbox(label="Response"),
title="Automated Agent",
description="Enter a task or instruction for the agent to perform."
)
iface.launch(share=True) # Enable sharing |