Spaces:
Runtime error
Runtime error
Commit
•
ece132b
1
Parent(s):
fa2e340
Update app.py
Browse files
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 |
-
|
55 |
-
|
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 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
# Display assistant response
|
82 |
-
with
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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})
|