Понимание состояния сеанса и потока управления в приложении Streamlit ChatbotPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Понимание состояния сеанса и потока управления в приложении Streamlit Chatbot

Сообщение Anonymous »

Ссылка на код Github
Ссылка выше — это код GitHub приложения чат-бота, использующегоstreamlit. Хотя он работает нормально, у меня есть несколько вопросов относительно Streamlit.
  • Какова цель фразы «если «сообщений» нет в st.session_state:» ?
    Почему я не могу просто использовать st.session_state['messages'] = [{'role': 'assistant', 'content': 'Hello?'}]
    Потому что, когда я запускаю приложение впервые, я думаю, очевидно, что сообщения нет. Так какой в ​​этом смысл?
  • Я не понимаю, почему этот код должен быть в операторе if. Насколько я знаю, если оператор выполняется один раз. Но в приложенииstreamlit оно запускается несколько раз
    и продолжает диалог. Я предполагаю, что внутри или снаружи оператора if должен быть цикл for, но без него он работает нормально. Можете ли вы объяснить, почему?
if prompt := st.chat_input():
st.session_state['messages'].append({'role': 'user', 'content': prompt})
st.chat_message('user').write(prompt)

response = client.chat.completions.create(
model='gemma2-9b-it',
messages=context + st.session_state['messages']
)

msg = response.choices[0].message.content
st.session_state['messages'].append({'role': 'assistant', 'content': msg})
st.chat_message('assistant').write(msg)


Подробнее здесь: https://stackoverflow.com/questions/789 ... hatbot-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»