Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import torch | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer | |
| from diffusers import StableDiffusionPipeline, DiffusionPipeline | |
| from huggingface_hub import HfApi | |
| # Set up Hugging Face API | |
| api = HfApi() | |
| # Define a function to load a language model | |
| def load_language_model(model_name): | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| return model, tokenizer | |
| # Define a function to generate text with a language model | |
| def generate_text(model, tokenizer, prompt): | |
| inputs = tokenizer(prompt, return_tensors="pt") | |
| outputs = model(**inputs) | |
| return tokenizer.decode(outputs.logits[0], skip_special_tokens=True) | |
| # Define a function to generate an image with Stable Diffusion | |
| def generate_image(prompt, model_name): | |
| pipe = StableDiffusionPipeline.from_pretrained(model_name) | |
| image = pipe(prompt, num_inference_steps=50).images[0] | |
| return image | |
| # Define a function to generate video or music with other diffusion models | |
| def generate_media(prompt, model_name, media_type): | |
| pipe = DiffusionPipeline.from_pretrained(model_name) | |
| if media_type == "video": | |
| output = pipe(prompt, num_inference_steps=50).videos[0] | |
| elif media_type == "music": | |
| output = pipe(prompt, num_inference_steps=50).audios[0] | |
| return output | |
| # Create a Gradio interface | |
| with gr.Blocks() as demo: | |
| with gr.Tab("Chat"): | |
| language_model_input = gr.Dropdown(label="Language Model", choices=[model.modelId for model in api.list_models()]) | |
| chat_input = gr.Textbox(label="Chat Input") | |
| chat_output = gr.Textbox(label="Chat Output", interactive=False) | |
| generate_button = gr.Button("Generate Text") | |
| chat_history = gr.Chatbot(label="Chat History") | |
| with gr.Tab("Image Generation"): | |
| image_input = gr.Textbox(label="Image Prompt") | |
| image_model_input = gr.Textbox(label="Image Model") | |
| generate_image_button = gr.Button("Generate Image") | |
| image_output = gr.Image(label="Generated Image") | |
| with gr.Tab("Media Generation"): | |
| media_input = gr.Textbox(label="Media Prompt") | |
| media_model_input = gr.Textbox(label="Media Model") | |
| media_type_input = gr.Radio(label="Media Type", choices=["video", "music"]) | |
| generate_media_button = gr.Button("Generate Media") | |
| media_output = gr.Video(label="Generated Media") if media_type_input == "video" else gr.Audio(label="Generated Media") | |
| # Generate text with a language model | |
| generate_button.click(fn=generate_text, inputs=[language_model_input, chat_input], outputs=[chat_output, chat_history]) | |
| # Generate an image with Stable Diffusion | |
| generate_image_button.click(fn=generate_image, inputs=[image_input, image_model_input], outputs=image_output) | |
| # Generate video or music with other diffusion models | |
| generate_media_button.click(fn=generate_media, inputs=[media_input, media_model_input, media_type_input], outputs=media_output) | |
| demo.launch() |