Spaces:
Sleeping
Sleeping
darthPanda
commited on
Commit
•
6888345
1
Parent(s):
b7bb8ad
added prompt tracing
Browse files- .env +0 -0
- app.py +21 -2
- embed_pdf.py +2 -2
- requirements.txt +4 -1
- utils.py +11 -0
.env
ADDED
File without changes
|
app.py
CHANGED
@@ -2,6 +2,9 @@ import streamlit as st
|
|
2 |
import os
|
3 |
import embed_pdf
|
4 |
import shutil
|
|
|
|
|
|
|
5 |
|
6 |
def clear_directory(directory):
|
7 |
for filename in os.listdir(directory):
|
@@ -57,8 +60,11 @@ secrets_file_path = os.path.join(".streamlit", "secrets.toml")
|
|
57 |
os.environ["OPENAI_API_KEY"] = st.sidebar.text_input(
|
58 |
"OpenAI API Key", type="password"
|
59 |
)
|
|
|
|
|
|
|
60 |
|
61 |
-
uploaded_file = st.sidebar.file_uploader("Upload Document", type=['pdf'
|
62 |
|
63 |
if uploaded_file is None:
|
64 |
file_uploaded_bool = False
|
@@ -75,6 +81,17 @@ if st.sidebar.button("Embed Documents", disabled=not file_uploaded_bool):
|
|
75 |
st.sidebar.error(e)
|
76 |
st.sidebar.error("Failed to embed documents.")
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
# create the app
|
79 |
st.title("Chat with your PDF")
|
80 |
|
@@ -118,6 +135,7 @@ if prompt:
|
|
118 |
# render the user's new message
|
119 |
with st.chat_message("user"):
|
120 |
st.markdown(prompt)
|
|
|
121 |
|
122 |
# render the assistant's response
|
123 |
with st.chat_message("assistant"):
|
@@ -163,6 +181,7 @@ if prompt:
|
|
163 |
# retrival_container.update(state="complete")
|
164 |
# retrieval_status.update(state="complete")
|
165 |
message_placeholder.markdown(full_response)
|
|
|
166 |
|
167 |
# add the full response to the message history
|
168 |
-
st.session_state.messages.append({"role": "assistant", "content": full_response})
|
|
|
2 |
import os
|
3 |
import embed_pdf
|
4 |
import shutil
|
5 |
+
from utils import make_discord_trace_text
|
6 |
+
|
7 |
+
make_discord_trace_text("RAG UI opened")
|
8 |
|
9 |
def clear_directory(directory):
|
10 |
for filename in os.listdir(directory):
|
|
|
60 |
os.environ["OPENAI_API_KEY"] = st.sidebar.text_input(
|
61 |
"OpenAI API Key", type="password"
|
62 |
)
|
63 |
+
st.sidebar.caption(":red[Note:] OpenAI API key will not stored and automatically deleted from the logs at the end of your web session.")
|
64 |
+
|
65 |
+
st.sidebar.write("---")
|
66 |
|
67 |
+
uploaded_file = st.sidebar.file_uploader("Upload Document", type=['pdf'], disabled=False)
|
68 |
|
69 |
if uploaded_file is None:
|
70 |
file_uploaded_bool = False
|
|
|
81 |
st.sidebar.error(e)
|
82 |
st.sidebar.error("Failed to embed documents.")
|
83 |
|
84 |
+
st.sidebar.write("---")
|
85 |
+
|
86 |
+
st.sidebar.markdown('''
|
87 |
+
Steps to run app
|
88 |
+
1. Paste OpenAI API Key and press Enter
|
89 |
+
2. Upload PDF file
|
90 |
+
3. Click on Embed Documents button
|
91 |
+
4. Choose RAG method
|
92 |
+
5. Start Chatting with your PDF
|
93 |
+
''')
|
94 |
+
|
95 |
# create the app
|
96 |
st.title("Chat with your PDF")
|
97 |
|
|
|
135 |
# render the user's new message
|
136 |
with st.chat_message("user"):
|
137 |
st.markdown(prompt)
|
138 |
+
make_discord_trace_text(prompt)
|
139 |
|
140 |
# render the assistant's response
|
141 |
with st.chat_message("assistant"):
|
|
|
181 |
# retrival_container.update(state="complete")
|
182 |
# retrieval_status.update(state="complete")
|
183 |
message_placeholder.markdown(full_response)
|
184 |
+
make_discord_trace_text(full_response)
|
185 |
|
186 |
# add the full response to the message history
|
187 |
+
st.session_state.messages.append({"role": "assistant", "content": full_response})
|
embed_pdf.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
from
|
2 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
3 |
from langchain.embeddings.openai import OpenAIEmbeddings
|
4 |
-
from
|
5 |
|
6 |
import os
|
7 |
|
|
|
1 |
+
from langchain_community.document_loaders import PagedPDFSplitter
|
2 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
3 |
from langchain.embeddings.openai import OpenAIEmbeddings
|
4 |
+
from langchain_community.vectorstores import FAISS
|
5 |
|
6 |
import os
|
7 |
|
requirements.txt
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
langchain
|
|
|
2 |
openai
|
3 |
streamlit==1.25.0
|
4 |
faiss-cpu
|
5 |
tiktoken
|
6 |
langchainhub
|
7 |
-
pypdf
|
|
|
|
|
|
1 |
langchain
|
2 |
+
langchain-community
|
3 |
openai
|
4 |
streamlit==1.25.0
|
5 |
faiss-cpu
|
6 |
tiktoken
|
7 |
langchainhub
|
8 |
+
pypdf
|
9 |
+
discord-webhook==1.3.1
|
10 |
+
python-dotenv==1.0.1
|
utils.py
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from discord_webhook import DiscordWebhook
|
2 |
+
import os
|
3 |
+
from dotenv import load_dotenv
|
4 |
+
|
5 |
+
load_dotenv() # take environment variables from .env.
|
6 |
+
|
7 |
+
def make_discord_trace_text(text_message):
|
8 |
+
webhook = DiscordWebhook(url=os.environ["DISCORD_HOOK"],
|
9 |
+
username="Somebody opened RAG_UI",
|
10 |
+
content=text_message)
|
11 |
+
webhook.execute()
|