File size: 1,334 Bytes
c3f6e1f
 
9880c71
872c8d7
8fe72f7
fc0ca9a
c3f6e1f
 
 
 
 
 
 
 
 
 
 
 
8fe72f7
 
 
fc0ca9a
8fe72f7
9880c71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7724f0f
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
import os
import subprocess
import gradio as gr
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForCausalLM

# 下载模型
base_dir = "/root/.cache/huggingface/hub"
if not os.path.isdir(base_dir):
    os.makedirs(base_dir)

cmd_list = ["cd", "base_dir", "&&", "git clone", "https://huggingface.co/gpt2", "models"]
cmd_str = "".join(cmd)
print("cmd_str:", cmd_str)
ret, out = subprocess.getstatusoutput(cmd_str)
print("ret:", ret)
print("out:", out)

tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path="/root/.cache/huggingface/hub/models")
model = AutoModelForCausalLM.from_pretrained(pretrained_model_name_or_path="/root/.cache/huggingface/hub/models")
generator = pipeline('text-generation', model=model, tokenizer=tokenizer)

# generator = pipeline('text-generation', model='gpt2')

def generate(text):
    result = generator(text, max_length=30, num_return_sequences=1)
    return result[0]["generated_text"]

examples = [
    ["The Moon's orbit around Earth has"],
    ["The smooth Borealis basin in the Northern Hemisphere covers 40%"],
]

demo = gr.Interface(
    fn=generate,
    inputs=gr.inputs.Textbox(lines=5, label="Input Text"),
    outputs=gr.outputs.Textbox(label="Generated Text"),
    examples=examples
)

demo.launch(server_name="0.0.0.0", server_port=7860)