上几次我们已经将一些必备的内容进行了快速的梳理,让我们掌握了streanlit的凯快速上手,接下来我们将其它的一些基础函数再做简单的梳理,以顺便回顾我们未来可能用到的更丰富的函数来实现应用的制作。

st.write_stream

将生成器、迭代器或类似流的序列串流到应用程序中。

st.write_stream 对给定序列进行迭代,并将所有序列块写入应用程序。字符串块将使用打字机效果写入。其他数据类型将使用 st.write 写入。

st.write_stream(stream)

Returns

(str or list)

The full response. If the streamed output only contains text, this is a string. Otherwise, this is a list of all the streamed objects. The return value is fully compatible as input for st.write.

Parameters

stream (Callable, Generator, Iterable, OpenAI Stream, or LangChain Stream)

The generator or iterable to stream.

Note

To use additional LLM libraries, you can create a wrapper to manually define a generator function and include custom output parsing.

示例

您可以按照我们的教程 “构建一个基本的 LLM 聊天应用程序 “所示,传递一个 OpenAI 数据流。或者,您也可以将通用生成器函数作为输入:

#导入必备的函数库

import time
import numpy as np
import pandas as pd
import streamlit as st

#输入指定的语句
_LOREM_IPSUM = """
Lorem ipsum dolor sit amet, **consectetur adipiscing** elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"""

#定义一个函数来实现指定行列的展示
def stream_data():
    for word in _LOREM_IPSUM.split(" "):
        yield word + " "
        time.sleep(0.02)

    yield pd.DataFrame(
        np.random.randn(5, 10),
        columns=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
    )

    for word in _LOREM_IPSUM.split(" "):
        yield word + " "
        time.sleep(0.02)

#点击按钮展示函数

if st.button("Stream data"):
    st.write_stream(stream_data)

结果

Python应用开发——30天学习Streamlit Python包进行APP的构建(5)插图

本站无任何商业行为
个人在线分享 » Python应用开发——30天学习Streamlit Python包进行APP的构建(5)
E-->