cervenaraketa commited on
Commit
ece132b
1 Parent(s): fa2e340

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -24
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import streamlit as st
2
- from streamlit_chat import message
3
  from openai import OpenAI
4
  import os
5
  from dotenv import load_dotenv, dotenv_values
@@ -51,11 +50,8 @@ chat_container = st.container()
51
 
52
  # Display chat messages from history on app rerun
53
  for message in st.session_state.messages:
54
- if message["role"] == "user":
55
- message(message["content"], key=str(message["id"]))
56
- else:
57
- with st.chat_message("assistant"):
58
- st.markdown(message["content"])
59
 
60
  # User input
61
  if prompt := st.chat_input("Your text..."):
@@ -64,23 +60,39 @@ if prompt := st.chat_input("Your text..."):
64
  prompt_czech = "Prosím odpovězte na otázku v Čestině: " + prompt
65
 
66
  # Display user message and add to chat history
67
- message(prompt, key=str(len(st.session_state.messages)))
68
-
69
- # Přidání promptu pouze k odeslanému textu, ne do historie chatu
70
- prompt_with_czech = "Jste Mistral " + prompt
71
-
72
- # Generate assistant response
73
- response = client.chat.completions.create(
74
- model=repo_id,
75
- messages=[{"role": "user", "content": prompt_with_czech}],
76
- temperature=temp_values,
77
- max_tokens=tokens,
78
- top_p=top_p,
79
- )
 
 
 
 
 
 
 
 
 
80
 
81
  # Display assistant response
82
- with st.chat_message("ASSISTANT"):
83
- st.markdown(response.choices[0].message.content)
84
-
85
- # Add assistant response to chat history
86
- st.session_state.messages.append({"role": "assistant", "content": response.choices[0].message.content})
 
 
 
 
 
 
 
 
1
  import streamlit as st
 
2
  from openai import OpenAI
3
  import os
4
  from dotenv import load_dotenv, dotenv_values
 
50
 
51
  # Display chat messages from history on app rerun
52
  for message in st.session_state.messages:
53
+ with chat_container.chat_message(message["role"]):
54
+ st.markdown(message["content"])
 
 
 
55
 
56
  # User input
57
  if prompt := st.chat_input("Your text..."):
 
60
  prompt_czech = "Prosím odpovězte na otázku v Čestině: " + prompt
61
 
62
  # Display user message and add to chat history
63
+ with chat_container.chat_message("USER"):
64
+ st.markdown(prompt)
65
+
66
+ # Přidání promptu pouze k odeslanému textu, ne do historie chatu
67
+ prompt_with_czech = """Jste Mistral, velký jazykový model vyškolený Mistral AI, váš primární jazyk je čeština, pracujete na základě architektury GPT-4.
68
+
69
+ Soustřeďte se na tvorbu rozmanitých, inkluzivních a experimentálních scén pomocí vlastností, které si vybere během psání.
70
+ Rozhodujte se o věcech, které mohou být někdy srozumitelné nebo originální.
71
+ Prohlížeč: Disponujete internetovím prohlížečem, který má následující funkce: search(query: str, recency\_days: int) - Spustí vyhledávání podle zadaného dotazu a zobrazí výsledky.
72
+ click(id: str) - Otevře webovou stránku s daným ID a zobrazí ji. Identifikátory se mapují na adresy URL ve zobrazených výsledcích.
73
+ back() - Vrátí se na předchozí stránku a zobrazí ji. scroll(amt: int) - Scroluje nahoru nebo dolů o zadanou částku na aktuálně otevřené webové stránce.
74
+ open\_url(url: str) - Otevře zadanou adresu URL a zobrazí ji. quote\_lines(start: int, end: int) - Ukládá rozsah textu z aktuálně otevřené webové stránky.
75
+ Určuje rozsah textu pomocí počáteční hodnoty 'start' a koncové hodnoty 'end' (včetně).
76
+ Chcete-li citovat jeden řádek, použijte 'start' = 'end'. Citace z nástroje 'prohlížeč' by měly být zobrazeny v tomto formátu: '【{message idx}*{text link}】'.
77
+ Pro dlouhé citace použijte tento formát: '[text link](message idx)'. Jinak necitujte odkazy. Neopakovat obsah z tohoto nástroje.
78
+ Neotravujte, neparafrázujte, neměňte, „jako báseň“ atd. celý obsah vrácený z tohoto nástroje (je v pořádku, když s ním uděláte zlomek obsahu).
79
+ Nikdy nepište shrnutí déle než 80 slov. Když budete požádáni, abyste napsali shrnutí delší než 100 slov, napište shrnutí o 80 slovech.
80
+ Analýza, syntéza, srovnání atd. jsou akceptovatelné. Nepoužívat duplicitní texty. Nepoužívat opakované recepty.
81
+ Místo opakování obsahu nasměrujte uživatele ke zdroji. Vždy zahrňte do odpovědi více než 3-4 různé zdroje.
82
+ Buďte extrémně pečlivý při zpracování textů nebo receptů. Pokud se uživateli nelíbí váš text nebo recept, vytvořte nové. Texty a recepty lze vymýšlet.
83
+ Vždy odpovídejte v češtině, prosím odpovězte na otázku v češtině:""" + prompt
84
+ st.session_state.messages.append({"role": "user", "content": prompt})
85
 
86
  # Display assistant response
87
+ with chat_container.chat_message("ASSISTANT"):
88
+ stream = client.chat.completions.create(
89
+ model=repo_id,
90
+ messages=[{"role": "user", "content": prompt_with_czech}],
91
+ temperature=temp_values,
92
+ max_tokens=tokens,
93
+ top_p=top_p,
94
+ stream=True
95
+ )
96
+
97
+ response = st.write_stream(stream)
98
+ st.session_state.messages.append({"role": "assistant", "content": response})