MaMaL-Gen / app.py
hanbin's picture
Update app.py
ecdaf0b
import streamlit as st
import os
import openai
import backoff
# lucaslane5h8a@hotmail.com----hK4H0M64ihK4H0M64i----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
# os.environ["http_proxy"]="127.0.0.1:7890"
# os.environ["https_proxy"]="127.0.0.1:7890"
openai.api_key="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"
st.set_page_config(
page_title="首页",
page_icon="🚀",
layout="centered",
initial_sidebar_state="auto",
)
# set_page_config配置Streamlit应用程序的页面设置。自定义应用程序的标题、图标、布局等方面,以提供更好的用户体验。
# 注意:set_page_config必须在应用程序的所有其他元素之前调用,否则会引发异常。
# 参数说明:
# page_title:可选参数,用于设置应用程序的标题,通常显示在浏览器的标签页上。
# page_icon:可选参数,用于设置应用程序的图标,通常显示在浏览器标签页和书签栏中。
# layout:可选参数,用于设置应用程序的布局方式,可以是"centered"(居中)或"wide"(宽屏)。
# initial_sidebar_state:可选参数,用于设置侧边栏的初始状态。可以是"auto"(自动展开)或"collapsed"(折叠)
yuan = '''
袁隆平(Yuan Longping)是中国著名的农业科学家,被誉为"杂交水稻之父"。以下是他的一些重要事迹:
杂交水稻的研究: 袁隆平在20世纪60年代开始着手研究杂交水稻,通过对水稻的杂交育种,成功地研发出高产、抗病、抗逆的杂交水稻品种,极大地提高了水稻的产量。
高产水稻的突破: 1973年,袁隆平成功培育出中国第一个高产的杂交水稻品种——"超级稻"。这一成果使得水稻的产量大幅度提高,对于缓解中国的粮食问题具有重要意义。
水稻基因工程: 袁隆平在水稻领域的研究不仅限于传统育种方法,他还参与了水稻基因工程的研究,探索利用生物技术手段改良水稻的方法。
国际合作: 袁隆平不仅在中国做出了巨大的贡献,还在国际上推动了水稻领域的合作。他在多个国际组织和科研机构担任要职,为世界范围内的粮食安全问题提供了有益的解决方案。
'''
jingshen = '''
劳模精神通常指的是一种积极向上、奋发向前、勤奋努力的工作态度和价值观。这种精神体现在个体在工作和学习中克服困难,不怕艰苦,努力拼搏,追求卓越的过程中。以下是劳模精神的一些主要特征:
勤奋努力: 劳模精神强调个体对工作的高度负责和投入,持之以恒地为自己的事业而努力奋斗。
团结协作: 劳模精神不仅关注个体的奋斗,还强调团队的力量,倡导团结协作,共同努力实现共同目标。
不怕困难: 具有劳模精神的人在面对困难和挑战时不退缩,相反,他们会努力克服困难,找到解决问题的方法。
追求卓越: 劳模精神追求卓越,不满足于平庸,持续不断地追求更高的目标和更好的成就。
敬业精神: 劳模精神体现了对工作的高度敬业态度,对待工作充满热情,为了事业而全身心地投入。
责任心: 具有劳模精神的人对自己的工作和社会责任感强烈,能够为自己的行为负责,积极履行自己的社会角色。
不断学习: 劳模精神鼓励个体不断学习和进步,通过不断提升自己的知识和技能,保持竞争力。
总体而言,劳模精神是一种积极向上的职业态度,它有助于提高工作效率,促进事业发展,同时也有益于个人的成长与进步。
'''
daxuesheng = '''
大学生学习劳模精神是非常重要的,因为这将有助于他们更好地适应职场和未来的挑战。以下是一些建议,帮助大学生培养和学习劳模精神:
设定明确的目标: 确定自己的学业和职业目标,并为之努力。明确的目标有助于激发学习的动力和方向感。
制定计划: 制定合理的学习计划,包括每天、每周和每月的任务。有组织的学习有助于高效利用时间,养成良好的学习习惯。
保持积极的态度: 面对困难和挑战时保持乐观的态度。劳模精神注重积极的心态,相信自己的能力,勇往直前。
注重团队合作: 在团队项目和社会活动中积极参与,培养团队协作的能力。团队合作是实现共同目标的重要方式。
不怕失败: 接受失败是成长的一部分。从失败中学到经验教训,不畏惧挫折,勇于尝试新的事物。
发展自我管理能力: 学会有效地管理自己的时间和资源,提高自我约束和计划执行能力。这有助于更高效地完成任务和项目。
'''
def init_sidebar():
"""
初始化侧边栏
:return:
"""
st.sidebar.title("关于我们")
markdown = """
汇报人:高洺策
其他小组成员:周小渲(组长)、王瑞琪、杨畔、宣乐卓、雷友素、单宁、王钦、刘亭秀、吴林泽、武俊呈
"""
st.sidebar.info(markdown)
logo = "./image/laomo.png"
st.sidebar.image(logo)
st.sidebar.title("劳模风范")
st.sidebar.image("./image/title.png", use_column_width=True)
st.sidebar.image("./image/laomo1.png", use_column_width=True)
st.sidebar.image("./image/laomo2.png", use_column_width=True)
st.sidebar.image("./image/laomo3.png", use_column_width=True)
st.sidebar.image("./image/gongjiang1.png", use_column_width=True)
st.sidebar.image("./image/gongjiang2.png", use_column_width=True)
st.sidebar.image("./image/gongjiang3.png", use_column_width=True)
def init_content():
"""
初始化内容
:return:
"""
# Customize page title
st.image("./image/logo.png", use_column_width=True)
st.title("劳模智能体(Agent)")
st.markdown(
"""
劳模Agent,即劳模智能体,该智能体可以讲述相关劳模的事迹以及与人类进行沟通,可以作为劳模学习和教学的辅助工具。
"""
)
# 插入图片,让图片自适应
# st.header("Instructions")
#
# markdown = """
# 1. For the [GitHub repository](https://github.com/giswqs/geemap-apps) or [use it as a template](https://github.com/new?template_name=geemap-apps&template_owner=giswqs) for your own project.
# 2. Customize the sidebar by changing the sidebar text and logo in each Python files.
# 3. Find your favorite emoji from https://emojipedia.org.
# 4. Add a new app to the `pages/` directory with an emoji in the file name, e.g., `1_🚀_Chart.py`.
# """
#
# st.markdown(markdown)
# 我要构建一个交互式的应用程序,让用户可以在应用程序中输入一些内容,然后应用程序会根据用户的输入做出相应的响应。
# 输入框,让用户输入内容
st.header("输入--")
text_area = st.text_area("", "在这里输入你的需求~~~~~~~~比如 你是谁?")
# 如果文本内容等于“你是谁?”,则输出“我是劳模智能体,我可以讲述相关劳模的事迹以及与人类进行沟通,可以作为劳模学习和教学的辅助工具。”
# 写一个标题
st.header("输出--")
# 定义一个输出框,默认输出“在这里输出模型回复~~~~~~~~”
text = st.empty()
# 修改输出框为多行文本框
# output_area = st.text_area("", "在这里输出模型回复~~~~~~~~")
# text.text("在这里输出模型回复~~~~~~~~")
if "你是谁?" in text_area:
# st.success("我是劳模智能体,我可以讲述相关劳模的事迹以及与人类进行沟通,可以作为劳模学习和教学的辅助工具。")
# 在输出框output_area中显示文本内容"我是劳模智能体,我可以讲述相关劳模的事迹以及与人类进行沟通,可以作为劳模学习和教学的辅助工具。你可以随意向我提出问题,我会尽力回答你的问题。"
st.write("我是劳模智能体,我可以讲述相关劳模的事迹以及与人类进行沟通,可以作为劳模学习和教学的辅助工具。你可以随意向我提出问题,我会尽力回答你的问题。")
elif "袁隆平" in text_area:
st.write(yuan)
elif "劳模精神" in text_area:
st.write(jingshen)
elif "大学生" in text_area:
st.write(daxuesheng)
else:
@backoff.on_exception(
backoff.fibo,
# https://platform.openai.com/docs/guides/error-codes/python-library-error-types
(
openai.error.APIError,
openai.error.Timeout,
openai.error.RateLimitError,
openai.error.ServiceUnavailableError,
openai.error.APIConnectionError,
KeyError,
),
)
def call_lm(model,messages,max_tokens,temperature,stop_words):
response = openai.ChatCompletion.create(
model=model,
messages=messages,
max_tokens=max_tokens,
temperature=temperature,
stop=stop_words,
)
return response.choices[0].message["content"].strip()
model = "gpt-3.5-turbo-0613"
messages=[
{"role": "system", "content": "你是一个劳模智能体,了解中国的劳模事迹。下面你需要回答用户提出的问题"},
{"role": "user", "content": text_area},
]
print("messages",messages)
max_tokens = 256
temperature = 0.9
stop_words = []
response = call_lm(model,messages,max_tokens,temperature,stop_words)
print("response",response)
st.write(response)
if __name__ == '__main__':
init_sidebar()
init_content()
pass