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()