RAG项目第五集:前端页面的开发和展示

589 阅读1分钟

前端页面,我们使用streamlit架构开发,页面内容可根据实际情况调整,如下代码可参考

with st.sidebar:
    job_id = st.text_input("工号", key="job_id")
    name = st.text_input("姓名", key="name")
    tips = st.checkbox("温馨提示:您与大模型的对话都会被记录,并有可能被用于训练该大模型,勾选即表示您知情并同意",
                       value=False, key=None)
st.title("💬 RAG大模型")
st.caption("🚀 聊天机器人developed by IT")
if "messages" not in st.session_state:
    st.session_state["messages"] = [{"role": "assistant", "content": "您好,有什么可以帮您?"}]

for msg in st.session_state.messages:
    st.chat_message(msg["role"]).write(msg["content"])


def clear_chat_history():
    st.session_state.messages = [{"role": "assistant", "content": "您好,有什么可以帮您?"}]
st.sidebar.button('清空聊天记录', on_click=clear_chat_history)


if prompt := st.chat_input():
    if not job_id:
        st.info("请输入工号.")
        st.stop()
    if not name:
        st.info("请输入姓名.")
        st.stop()
    if not tips:
        st.info("请先选中知情同意书.")
        st.stop()

    st.session_state.messages.append({"role": "user", "content": prompt})
    st.chat_message("user").write(prompt)
    # 调用RAG类
    msg = Rag(prompt)
    st.session_state.messages.append({"role": "assistant", "content": msg})
    st.chat_message("assistant").write(msg)

在命令行使用

streamlit run St.py

即可打开本地电脑的8501端口,可以在本地用浏览器访问,也可以远端浏览器用ip加端口的形式访问,页面是这样的

RAG.jpg

我们可以输入问题和大模型进行对话了。。


这个项目代码我已经开源到GitHub上了,可以点这个链接,直接下载整个项目代码:"github.com/davidhandso…"

到此,整个RAG项目算开发完毕,可以交付了。后续运维上的问题可根据实际情况进行调整。。