File size: 2,574 Bytes
c31b7fb
 
 
139dc75
c31b7fb
 
139dc75
 
c31b7fb
 
139dc75
c31b7fb
 
 
 
139dc75
c31b7fb
 
 
 
 
 
139dc75
c31b7fb
 
139dc75
c31b7fb
 
139dc75
c31b7fb
139dc75
c31b7fb
 
 
139dc75
c31b7fb
 
ae4f900
 
 
c31b7fb
 
 
 
 
 
 
 
 
 
 
 
8d3dced
c31b7fb
 
 
 
8d3dced
c31b7fb
 
 
 
 
 
8d3dced
c31b7fb
 
8d3dced
c31b7fb
 
8d3dced
c31b7fb
8d3dced
c31b7fb
 
 
8d3dced
c31b7fb
 
ae4f900
c31b7fb
 
 
ae4f900
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# pip install transformers 依赖在requirements.txt里文件安装
import streamlit as st
from transformers import pipeline, set_seed

# 设置全局随机种子,确保每次生成的结果相同
set_seed(42)


options = ['中文','英文']
choice = st.radio('不同语言使用不同模型:', options)

input_text = st.text_input("请输入您要生成的文本", value="")
maxlen = st.text_input("请输入生成文本的最大长度,越长越慢,不要超过1000", value="30")
button_generate = st.button("生成")
output_text = st.empty()

def generate_text(input_text):
    # 加载预训练模型
    if choice == '中文':
        model = 'uer/gpt2-chinese-cluecorpussmall' # 纠正后的应该可以
        #model = 'gpt2-chinese-cluecorpussmall' # 会自动下载
    generator = pipeline("text-generation", model)

    # 生成文本
    output = generator(input_text, max_length=int(maxlen), num_return_sequences=1)

    # 提取生成的文本
    generated_text = output[0]["generated_text"].strip()

    return generated_text

if button_generate:
    # 生成文本
    generated_text = generate_text(input_text)

    # 显示生成的文本
    output_text.success(generated_text)



# import streamlit as st
# from transformers import pipeline, set_seed

# # 设置全局随机种子,确保每次生成的结果相同
# set_seed(42)

# def app():
#     # 创建Streamlit应用程序
#     st.title("使用gpt2的文本生成")

#     options = ['中文','英文']
#     choice = st.radio('不同语言使用不同模型:', options)

#     input_text = st.text_input("请输入您要生成的文本", value="")
#     maxlen = st.text_input("请输入生成文本的最大长度,越长越慢,不要超过1000", value="30")
#     button_generate = st.button("生成")
#     output_text = st.empty()

#     def generate_text(input_text):
#         # 加载预训练模型
#         model="gpt2"
#         if choice == '中文':
#             model = 'uer/gpt2-chinese-cluecorpussmall'
#         generator = pipeline("text-generation", model)

#         # 生成文本
#         output = generator(input_text, max_length=int(maxlen), num_return_sequences=1)

#         # 提取生成的文本
#         generated_text = output[0]["generated_text"].strip()

#         return generated_text

#     if button_generate:
#         # 生成文本
#         generated_text = generate_text(input_text)

#         # 显示生成的文本
#         output_text.success(generated_text)

# if __name__ == "__main__":
#     # 运行应用程序
#     app()