chrisandrei commited on
Commit
aa7290f
·
verified ·
1 Parent(s): 605565f

Added functionality to detect missing keys

Browse files
Files changed (1) hide show
  1. helpers.py +31 -7
helpers.py CHANGED
@@ -20,11 +20,31 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter
20
  from langchain.vectorstores import Pinecone
21
  from langchain_openai import OpenAIEmbeddings
22
  from langchain_openai import OpenAI
23
- from langchain import hub
24
 
25
- os.environ['LANGCHAIN_TRACING_V2'] = 'true'
26
- os.environ['LANGCHAIN_ENDPOINT'] = 'https://api.smith.langchain.com'
27
- os.environ['USER_AGENT'] = 'myagent'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
 
30
  def file_uploader() -> List[Document]:
@@ -107,7 +127,11 @@ def upload_button(documents: List[Document], vector_store: Pinecone):
107
  self.message = message
108
  super().__init__(self.message)
109
 
110
- if st.sidebar.button('Store to the Database', key='vector-store'):
 
 
 
 
111
 
112
  try:
113
  if documents is None:
@@ -155,14 +179,14 @@ def match_resumes(job_description: str, vector_store: Pinecone):
155
 
156
  class NoResults(Exception):
157
  """
158
- A custom exception for when an no API keys are available.
159
  """
160
  def __init__(self, message = 'No matched results found'):
161
  self.message = message
162
  super().__init__(self.message)
163
 
164
  try:
165
- if st.button('Match resumes'):
166
  with st.status("Fetching matching resumes...", expanded=True):
167
 
168
  if job_description == '':
 
20
  from langchain.vectorstores import Pinecone
21
  from langchain_openai import OpenAIEmbeddings
22
  from langchain_openai import OpenAI
 
23
 
24
+ def check_missing_keys():
25
+ try:
26
+
27
+ st.session_state.KEYS_ARE_MISSING = False
28
+
29
+ keys = {
30
+ "OpenAI": os.getenv("OPENAI_API_KEY"),
31
+ "Pinecone": os.getenv("PINECONE_API_KEY")
32
+ }
33
+
34
+ missing_keys = []
35
+ for key, value in keys.items():
36
+ if not value:
37
+ missing_keys.append(key)
38
+
39
+ if len(missing_keys) > 0:
40
+ st.session_state.KEYS_ARE_MISSING = True
41
+ raise KeyError(f"Missing required API keys: {', '.join(missing_keys)}")
42
+
43
+ except KeyError as e:
44
+ st.error(e)
45
+
46
+
47
+
48
 
49
 
50
  def file_uploader() -> List[Document]:
 
127
  self.message = message
128
  super().__init__(self.message)
129
 
130
+ if st.sidebar.button(
131
+ 'Store to the Database',
132
+ key='vector-store',
133
+ disabled=st.session_state.KEYS_ARE_MISSING
134
+ ):
135
 
136
  try:
137
  if documents is None:
 
179
 
180
  class NoResults(Exception):
181
  """
182
+ A custom exception for when there no results retrieved.
183
  """
184
  def __init__(self, message = 'No matched results found'):
185
  self.message = message
186
  super().__init__(self.message)
187
 
188
  try:
189
+ if st.button('Match resumes', disabled=st.session_state.KEYS_ARE_MISSING):
190
  with st.status("Fetching matching resumes...", expanded=True):
191
 
192
  if job_description == '':