Hugging Face Gradio Demo
时间: 2025-02-13 21:21:55 浏览: 44
### Hugging Face Gradio 演示示例
Hugging Face 平台提供了多种方式来展示机器学习模型的功能,其中Gradio是一个非常受欢迎的选择,因为它可以快速创建交互式的Web界面[^1]。
#### 文本生成图像 (Text-to-Image)
对于想要尝试文本到图像转换的应用场景,可以通过如下Python代码构建一个简单的Gradio应用:
```python
import gradio as gr
from PIL import Image
from transformers import pipeline
def text_to_image(prompt):
pipe = pipeline('text-to-image', model='model_name') # 替换为实际使用的模型名称
image = pipe(prompt)[0]['generated_image']
return image
gr.Interface(fn=text_to_image, inputs="text", outputs="image").launch()
```
此段代码定义了一个函数`text_to_image`接收用户输入的文字提示作为参数,并调用Transformers库中的pipeline接口完成图片生成的任务。之后通过Gradio的Interface类封装该逻辑,指定输入组件为文字框(`inputs="text"`), 输出则显示为一张图片(`outputs="image"`)。最后调用了`.launch()`方法启动服务[^2]。
#### 聊天机器人 (Chatbot)
另一个常见的例子是基于预训练的语言模型实现聊天对话功能:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import gradio as gr
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-0.5B-Instruct")
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2-0.5B-Instruct")
def chat_with_model(message, history=[]):
input_ids = tokenizer.encode(message + tokenizer.eos_token, return_tensors="pt")
output_ids = model.generate(input_ids, max_length=500, pad_token_id=tokenizer.pad_token_id)
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
return response[len(message):]
demo = gr.Chatbot(chat_with_model).queue().launch(share=True)
```
这里先加载了特定版本的大规模语言模型及其配套词表(tokenizer),接着实现了名为`chat_with_model`的方法用于处理用户的每条消息并返回相应的回复内容。为了使这个过程更加友好易用,再次利用到了Gradio框架下的Chatbot组件,它能够自动管理会话历史记录以及提供更直观的消息传递体验。
阅读全文
相关推荐




















