如何用AI写小说(二):Gradio 超简单的网页前端交互

上一篇写了基本的生成小说的脚本,但脚本终归是很丑的代码,不符合优雅的调性,在 huggingface 大家经常用一个叫 gradio 的东西来写交互,虽然我没有什么前端基础,但是这个gradio最大的特点就是简单!简单!简单!下面的这些UI都是用Gradio写出来在这里插入图片描述

在这里插入图片描述
可以说这样的UI已经完全能够满足我们大部分的需求了,所以我决定给之前这个丑丑的代码包一个简单的皮。同样的,我们让 ai 给我们写一个最简单的 demo

最简单的 demo

【】
GPT给到的代码是这样的

import gradio as gr

# 文本操作函数
def text_operations(input_text, operation):
    if operation == "转为大写":
        return input_text.upper()
    elif operation == "转为小写":
        return input_text.lower()
    elif operation == "计算字符数":
        return len(input_text)
    elif operation == "反转文本":
        return input_text
### 基于 GradioAI 交互式代码示例 #### 创建一个简单的图像分类应用程序 为了展示如何利用 Gradio 构建交互式的机器学习应用,下面提供了一个具体的实例——构建一个用于图片分类的应用程序。此应用允许用户上传一张照片并返回预测类别。 ```python import gradio as gr import torch from torchvision import transforms, models def predict_image(img): # 加载预训练模型 model = models.resnet50(pretrained=True) model.eval() # 定义转换操作 preprocess = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), ]) img_tensor = preprocess(img).unsqueeze(0) with torch.no_grad(): output = model(img_tensor) _, predicted_idx = torch.max(output, 1) return str(predicted_idx.item()) # 使用 Gradio 接口创建 Web 应用 image_interface = gr.Interface(fn=predict_image, inputs=gr.Image(type="pil"), outputs='text', title="Image Classifier", description="Upload an image and get its classification.") if __name__ == "__main__": image_interface.launch() # 启动服务端 ``` 这段代码定义了一种方法 `predict_image` 来接收输入的 PIL 图像对象作为参数,并对其进行预处理以便送入 ResNet50 进行推理;最后将最高概率对应的索引值转化为字符串形式输出给前端显示[^3]。 #### 文本翻译器的例子 另一个常见的应用场景是自然语言处理(NLP),比如实现一个多语种之间的即时在线互译工具: ```python import gradio as gr from transformers import pipeline translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-zh") def translate_text(text_input): result = translator(text_input)[0]['translation_text'] return result demo = gr.Interface( fn=translate_text, inputs=["text"], outputs="text" ) demo.launch() ``` 这里使用 Hugging Face 提供的 `transformers` 库加载了一个名为 "Helsinki-NLP/opus-mt-en-zh" 的多语言翻译模型,它能够把英文句子转成中文表达[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值