Skip to content

Commit 3034592

Browse files
authored
Merge pull request #150 from OpenFn/vocab-mapper-apikeys-fix
fix key retrieval for production env
2 parents 2f54a78 + 4b2b45f commit 3034592

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

services/vocab_mapper/vocab_mapper.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from vocab_mapper.prompts import *
77
from vocab_mapper.tools import process_inputs
88
from vocab_mapper.dataset_tools import format_google_sheets_input, format_google_sheets_output
9-
from util import create_logger
9+
from util import create_logger, ApolloError
1010

1111
logger = create_logger("vocab_mapper")
1212
logging.getLogger('pinecone_plugin_interface.logging').setLevel(logging.WARNING)
@@ -140,20 +140,29 @@ def main(data):
140140
from datasets import load_dataset
141141

142142
logger.info(f"Input data: {data}")
143+
143144
# Format Google Sheets data
144145
input_data, column_indices, original_values = format_google_sheets_input(data)
145146
logger.info(f"Formatted input data: {input_data}")
146147

147-
# Get API key
148-
if 'anthropic_key' in data:
149-
ANTHROPIC_API_KEY = data['anthropic_key']
150-
else:
151-
load_dotenv(override=True)
152-
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
153-
if ANTHROPIC_API_KEY is None:
154-
msg = "No API key found in data or environment variables"
155-
logger.error(msg)
156-
raise ValueError(msg)
148+
load_dotenv(override=True)
149+
ANTHROPIC_API_KEY = data.get('anthropicApiKey') or os.environ.get('ANTHROPIC_API_KEY')
150+
OPENAI_API_KEY = data.get('openaiApiKey') or os.environ.get('OPENAI_API_KEY')
151+
PINECONE_API_KEY = data.get('pineconeApiKey') or os.environ.get('PINECONE_API_KEY')
152+
153+
# Check for missing keys
154+
missing_keys = []
155+
if not ANTHROPIC_API_KEY:
156+
missing_keys.append("ANTHROPIC_API_KEY")
157+
if not OPENAI_API_KEY:
158+
missing_keys.append("OPENAI_API_KEY")
159+
if not PINECONE_API_KEY:
160+
missing_keys.append("PINECONE_API_KEY")
161+
162+
if missing_keys:
163+
msg = f"Missing API keys: {', '.join(missing_keys)}"
164+
logger.error(msg)
165+
raise ApolloError(500, f"Missing API keys: {', '.join(missing_keys)}", type="BAD_REQUEST")
157166

158167
# Initialize mapper
159168
loinc_df = load_dataset("awacke1/LOINC-Clinical-Terminology")

0 commit comments

Comments
 (0)