gradio-app--gradio
adf0d17497
publish / version_or_publish (push) Has been cancelled
storybook-build / changes (push) Has been cancelled
storybook-build / :storybook-build (push) Has been cancelled
Sync Gradio Skills to Hugging Face / sync-skills (push) Has been cancelled
functional / changes (push) Has been cancelled
functional / build-frontend (push) Has been cancelled
functional / functional-test-SSR=false (push) Has been cancelled
functional / functional-reload (push) Has been cancelled
js / changes (push) Has been cancelled
js / js-test (push) Has been cancelled
docs-build / changes (push) Has been cancelled
docs-build / docs-build (push) Has been cancelled
docs-build / website-build (push) Has been cancelled
functional / functional-test-SSR=true (push) Has been cancelled
hygiene / hygiene-test (push) Has been cancelled
python / changes (push) Has been cancelled
python / build (push) Has been cancelled
python / test-ubuntu-latest-flaky (push) Has been cancelled
python / test-ubuntu-latest-not-flaky (push) Has been cancelled
python / test-windows-latest-flaky (push) Has been cancelled
python / test-windows-latest-not-flaky (push) Has been cancelled
45 行
1.3 KiB
Python
45 行
1.3 KiB
Python
import gradio as gr
|
|
from dataclasses import asdict
|
|
from transformers import Tool, ReactCodeAgent # type: ignore
|
|
from transformers.agents import stream_to_gradio, HfApiEngine # type: ignore
|
|
|
|
# Import tool from Hub
|
|
image_generation_tool = Tool.from_space( # type: ignore
|
|
space_id="black-forest-labs/FLUX.1-schnell",
|
|
name="image_generator",
|
|
description="Generates an image following your prompt. Returns a PIL Image.",
|
|
api_name="/infer",
|
|
)
|
|
|
|
llm_engine = HfApiEngine("Qwen/Qwen2.5-Coder-32B-Instruct")
|
|
# Initialize the agent with both tools and engine
|
|
agent = ReactCodeAgent(tools=[image_generation_tool], llm_engine=llm_engine)
|
|
|
|
|
|
def interact_with_agent(prompt, history):
|
|
messages = []
|
|
yield messages
|
|
for msg in stream_to_gradio(agent, prompt):
|
|
messages.append(asdict(msg)) # type: ignore
|
|
yield messages
|
|
yield messages
|
|
|
|
|
|
demo = gr.ChatInterface(
|
|
interact_with_agent,
|
|
chatbot= gr.Chatbot(
|
|
label="Agent",
|
|
avatar_images=(
|
|
None,
|
|
"https://em-content.zobj.net/source/twitter/53/robot-face_1f916.png",
|
|
),
|
|
),
|
|
examples=[
|
|
["Generate an image of an astronaut riding an alligator"],
|
|
["I am writing a children's book for my daughter. Can you help me with some illustrations?"],
|
|
],
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
demo.launch()
|