提示
阅读构建一个基本的LLM聊天应用教程,学习如何使用st.chat_message
和st.chat_input
来构建基于聊天的应用。
函数签名[source] | |
---|---|
st.chat_input(placeholder="您的消息", *, key=None, max_chars=None, disabled=False, on_submit=None, args=None, kwargs=None) | |
参数 | |
placeholder (str) | 当聊天输入为空时显示的占位符文本。默认为 "您的消息"。出于可访问性原因,您不应使用 空字符串。 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。任何两个小部件都不能有相同的键。 |
max_chars (int or None) | 可以输入的最大字符数。如果为None(默认值),则没有最大限制。 |
disabled (bool) | 是否应禁用聊天输入。默认为 False。 |
on_submit (callable) | 一个可选的回调函数,当聊天输入的值被提交时调用。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的kwargs字典,用于传递给回调函数。 |
返回 | |
(str or None) | 应用程序最后一次运行时文本输入小部件的当前(非空)值。否则为None。 |
示例
当st.chat_input在应用的主体中使用时,它将被固定在页面底部。
import streamlit as st prompt = st.chat_input("Say something") if prompt: st.write(f"User has sent the following prompt: {prompt}")聊天输入也可以通过将其嵌套在任何布局容器(容器、列、选项卡、侧边栏等)或片段中来内联使用。创建嵌入在其他内容旁边的聊天界面,或者拥有多个聊天机器人!
import streamlit as st with st.sidebar: messages = st.container(height=300) if prompt := st.chat_input("Say something"): messages.chat_message("user").write(prompt) messages.chat_message("assistant").write(f"Echo: {prompt}")
有关st.chat_input
和st.chat_message
API的概述,请查看由Streamlit的高级开发者倡导者Chanin Nantasenamat(@dataprofessor)提供的视频教程。
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。