diff --git a/README.md b/README.md
deleted file mode 100644
index 35f446f..0000000
--- a/README.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# AI Talks
-
-[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://agi-talks.streamlit.app)
-
-![](ai_talks/assets/img/ai_face.png)
-
-A ChatGPT API wrapper, providing a user-friendly Streamlit web interface.
-
-Enhance your ChatGPT experience with our user-friendly API wrapper, featuring a seamless Streamlit web interface. Effortlessly interact with ChatGPT, while enjoying an intuitive and responsive design. Discover simplified access to advanced AI technology in just a few clicks.
-
-Demo
-
-![](ai_talks/assets/demo/ai-talks.gif)
-
-Tokens counting
-
-![](ai_talks/assets/demo/ai-talks-tokens.gif)
-
-Support project
-
-`AI Talks` collects donations solely for the purpose of paying for the `Open AI` API.
-This allows you to provide access to communication with AI for all users.
-Support us for joint development and interaction with the intelligence of the future!
-
-**Crypto:**
-
-- Bitcoin (BTC)
-
-```
-1HRDUif7oKDw9XJFXZ14TZZazokf4QH9fb
-```
-
-- USD Tether (USDT TRC20):
-
-```
-TMQ5RiyQ7bv3XjB6Wf6JbPHVrGkhBKtmfA
-```
-
-- Toncoin (TON):
-
-```
-UQDbnx17N2iOmxfQF0k55QScDMB0MHL9rsq-iGB93RMqDhIH
-```
-
-**World:**
-- [Buy Me A Coffee](https://www.buymeacoffee.com/aitalks)
-- [ko-fi](https://ko-fi.com/ai_talks)
-- [PayPal](https://www.paypal.com/paypalme/aitalks)
-
-**Russia:**
-- [Tinkoff](https://www.tinkoff.ru/cf/4Ugsr5kQ1sR)
-- [donationalerts](https://www.donationalerts.com/r/if_ai)
-- [boosty](https://boosty.to/ai-talks/donate)
-- [CloudTips](https://pay.cloudtips.ru/p/eafa15b2)
-
-![](ai_talks/assets/qr/tink.png)
-
-
- - - -
- - - diff --git a/ai_talks/assets/demo/ai-talks-tokens-ru.gif b/ai_talks/assets/demo/ai-talks-tokens-ru.gif deleted file mode 100644 index 7c92158..0000000 Binary files a/ai_talks/assets/demo/ai-talks-tokens-ru.gif and /dev/null differ diff --git a/ai_talks/assets/demo/ai-talks-tokens.gif b/ai_talks/assets/demo/ai-talks-tokens.gif deleted file mode 100644 index b0e942d..0000000 Binary files a/ai_talks/assets/demo/ai-talks-tokens.gif and /dev/null differ diff --git a/ai_talks/assets/demo/ai-talks.gif b/ai_talks/assets/demo/ai-talks.gif deleted file mode 100644 index 3e27360..0000000 Binary files a/ai_talks/assets/demo/ai-talks.gif and /dev/null differ diff --git a/ai_talks/assets/demo/tokens-ru.png b/ai_talks/assets/demo/tokens-ru.png deleted file mode 100644 index 1e05ec1..0000000 Binary files a/ai_talks/assets/demo/tokens-ru.png and /dev/null differ diff --git a/ai_talks/assets/demo/tokens.png b/ai_talks/assets/demo/tokens.png deleted file mode 100644 index 0b8a3d4..0000000 Binary files a/ai_talks/assets/demo/tokens.png and /dev/null differ diff --git a/ai_talks/assets/icons/favicons/0.png b/ai_talks/assets/icons/favicons/0.png new file mode 100644 index 0000000..a4128ce Binary files /dev/null and b/ai_talks/assets/icons/favicons/0.png differ diff --git a/ai_talks/assets/icons/favicons/1.png b/ai_talks/assets/icons/favicons/1.png new file mode 100644 index 0000000..6d04b09 Binary files /dev/null and b/ai_talks/assets/icons/favicons/1.png differ diff --git a/ai_talks/assets/icons/favicons/2.png b/ai_talks/assets/icons/favicons/2.png new file mode 100644 index 0000000..7561a34 Binary files /dev/null and b/ai_talks/assets/icons/favicons/2.png differ diff --git a/ai_talks/assets/icons/favicons/3.png b/ai_talks/assets/icons/favicons/3.png new file mode 100644 index 0000000..00402e6 Binary files /dev/null and b/ai_talks/assets/icons/favicons/3.png differ diff --git a/ai_talks/assets/icons/rec_on.gif b/ai_talks/assets/icons/rec_on.gif deleted file mode 100644 index bf5c58a..0000000 Binary files a/ai_talks/assets/icons/rec_on.gif and /dev/null differ diff --git a/ai_talks/assets/icons/tg.svg b/ai_talks/assets/icons/tg.svg deleted file mode 100644 index 326c99f..0000000 --- a/ai_talks/assets/icons/tg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ai_talks/assets/img/ai.jpg b/ai_talks/assets/img/ai.jpg deleted file mode 100644 index ae09ad7..0000000 Binary files a/ai_talks/assets/img/ai.jpg and /dev/null differ diff --git a/ai_talks/assets/img/ai_face.png b/ai_talks/assets/img/ai_face.png deleted file mode 100644 index 93a046f..0000000 Binary files a/ai_talks/assets/img/ai_face.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face2.png b/ai_talks/assets/img/ai_face2.png deleted file mode 100644 index 565c69f..0000000 Binary files a/ai_talks/assets/img/ai_face2.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face3.png b/ai_talks/assets/img/ai_face3.png deleted file mode 100644 index fe1688a..0000000 Binary files a/ai_talks/assets/img/ai_face3.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face4.png b/ai_talks/assets/img/ai_face4.png deleted file mode 100644 index 0deb0ba..0000000 Binary files a/ai_talks/assets/img/ai_face4.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face5.png b/ai_talks/assets/img/ai_face5.png deleted file mode 100644 index 4c37b6e..0000000 Binary files a/ai_talks/assets/img/ai_face5.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face6.png b/ai_talks/assets/img/ai_face6.png deleted file mode 100644 index 46b74cd..0000000 Binary files a/ai_talks/assets/img/ai_face6.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face7.png b/ai_talks/assets/img/ai_face7.png deleted file mode 100644 index f462495..0000000 Binary files a/ai_talks/assets/img/ai_face7.png and /dev/null differ diff --git a/ai_talks/assets/img/ai_face8.png b/ai_talks/assets/img/ai_face8.png deleted file mode 100644 index 3111ddb..0000000 Binary files a/ai_talks/assets/img/ai_face8.png and /dev/null differ diff --git a/ai_talks/assets/img/ia_face9.jpg b/ai_talks/assets/img/ia_face9.jpg deleted file mode 100644 index 9bc0aa0..0000000 Binary files a/ai_talks/assets/img/ia_face9.jpg and /dev/null differ diff --git a/ai_talks/assets/qr/tink.png b/ai_talks/assets/qr/tink.png deleted file mode 100644 index 0a10414..0000000 Binary files a/ai_talks/assets/qr/tink.png and /dev/null differ diff --git a/ai_talks/chat.py b/ai_talks/chat.py index c58f47f..40c6bb8 100644 --- a/ai_talks/chat.py +++ b/ai_talks/chat.py @@ -1,13 +1,11 @@ from pathlib import Path from random import randrange +import graphviz import streamlit as st -from src.styles.menu_styles import FOOTER_STYLES, HEADER_STYLES +from PIL import Image from src.utils.conversation import get_user_input, show_chat_buttons, show_conversation -from src.utils.footer import show_donates, show_info -from src.utils.helpers import get_files_in_dir, get_random_img -from src.utils.lang import en, ru -from streamlit_option_menu import option_menu +from src.utils.lang import en # --- PATH SETTINGS --- current_dir: Path = Path(__file__).parent if "__file__" in locals() else Path.cwd() @@ -16,34 +14,23 @@ assets_dir: Path = current_dir / "assets" icons_dir: Path = assets_dir / "icons" img_dir: Path = assets_dir / "img" tg_svg: Path = icons_dir / "tg.svg" - +favicon: Path = icons_dir / "favicons/0.png" # --- GENERAL SETTINGS --- -PAGE_TITLE: str = "AI Talks" -PAGE_ICON: str = "🤖" -LANG_EN: str = "En" -LANG_RU: str = "Ru" +LANG_PL: str = "Pl" AI_MODEL_OPTIONS: list[str] = [ "gpt-3.5-turbo", "gpt-4", "gpt-4-32k", ] -st.set_page_config(page_title=PAGE_TITLE, page_icon=PAGE_ICON) +CONFIG = {"page_title": "AMUsebot", "page_icon": Image.open(favicon)} + +st.set_page_config(**CONFIG) # --- LOAD CSS --- with open(css_file) as f: st.markdown(f"", unsafe_allow_html=True) -selected_lang = option_menu( - menu_title=None, - options=[LANG_EN, LANG_RU, ], - icons=["globe2", "translate"], - menu_icon="cast", - default_index=0, - orientation="horizontal", - styles=HEADER_STYLES -) - # Storing The Context if "locale" not in st.session_state: st.session_state.locale = en @@ -58,13 +45,31 @@ if "user_text" not in st.session_state: if "input_kind" not in st.session_state: st.session_state.input_kind = st.session_state.locale.input_kind_1 if "seed" not in st.session_state: - st.session_state.seed = randrange(10**3) # noqa: S311 + st.session_state.seed = randrange(10 ** 3) # noqa: S311 if "costs" not in st.session_state: st.session_state.costs = [] if "total_tokens" not in st.session_state: st.session_state.total_tokens = [] +def show_graph(): + # Create a graphlib graph object + if st.session_state.generated: + user, chatbot = [], [] + graph = graphviz.Digraph() + for i in range(len(st.session_state.generated)): + user.append(st.session_state.past[i]) + chatbot.append(st.session_state.generated[i]) + for x in range(len(user)): + graph.edge(st.session_state.past[x], st.session_state.generated[x]) + try: + graph.edge(st.session_state.generated[x], st.session_state.past[x+1]) + except: + pass + + st.graphviz_chart(graph) + + def main() -> None: c1, c2 = st.columns(2) with c1, c2: @@ -87,45 +92,14 @@ def main() -> None: c2.text_input(label=st.session_state.locale.select_placeholder3, key="role") if st.session_state.user_text: + show_graph() show_conversation() - st.session_state.user_text = "" + get_user_input() + show_chat_buttons() -def run_agi(): - match selected_lang: - case "En": - st.session_state.locale = en - case "Ru": - st.session_state.locale = ru - case _: - st.session_state.locale = en - st.markdown(f"