我正在使用chatgpt3.5
和streamlit
应用程序构建chatbot
。我可以把Input text
放在屏幕底部。但是随着文本查询的增长,我的input text area
也下降了。streamlit_chat
https://github.com/AI-Yash/st-chat/blob/main/streamlit_chat/frontend/src/stChat.tsx的前端代码
代码如下:
import openai
import streamlit as st
from streamlit_chat import message
openai.api_key='API_KEY'
def generate_response(prompt):
completion=openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.6,
)
message=completion.choices[0].text
return message
st.title("ChatGPT3.5 BOT")
if 'generated' not in st.session_state:
st.session_state['generated'] = []
if 'past' not in st.session_state:
st.session_state['past'] = []
def inputchange():
inp={
"inputs": {
"past_user_inputs": st.session_state.past,
"generated_responses": st.session_state.generated,
"text": st.session_state.input,
},
}
output=generate_response(inp['inputs']['text'])
# append user_input and output to state
st.session_state['past'].append(st.session_state.input)
st.session_state['generated'].append(output)
# If responses have been generated by the model
if st.session_state['generated']:
# Reverse iteration through the list
for i in range(len(st.session_state['generated']) - 1, -1, -1):
# message from streamlit_chat
# message(st.session_state['past'][::-1][i], is_user=True, key=str(i) + '_user', )
message(st.session_state['past'][::-1][i], is_user=True, key=str(i) + '_user', )
message(st.session_state['generated'][::-1][i], key=str(i),avatar_style="adventurer",seed=123,)
user_input = st.text_input("Input Message: ", "", key="input", on_change=inputchange)
如何为message
添加滚动,就像ChatGPT3.5一样,可以向上滚动消息而不是滚动页面。
1条答案
按热度按时间oxf4rvwz1#
这是一些工作,为我,将尝试和更新,一旦我确定这工作。这样做:
1.现在从git repo安装源代码
1.在这个tax应用程序中为你的container设置scroll=true
1.为prod构建此文件并生成构建文件夹
1.转到源安装并将您的构建文件夹替换为那里的文件夹
1.导入并运行包
我想这应该对你的案子有用https://github.com/AI-Yash/st-chat/blob/main/streamlit_chat/frontend/src/stChat.tsx
这是您要更改的代码文件。
希望这有帮助;它在更改URL时工作。