|
6 | 6 | from vocab_mapper.prompts import * |
7 | 7 | from vocab_mapper.tools import process_inputs |
8 | 8 | 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 |
10 | 10 |
|
11 | 11 | logger = create_logger("vocab_mapper") |
12 | 12 | logging.getLogger('pinecone_plugin_interface.logging').setLevel(logging.WARNING) |
@@ -140,20 +140,29 @@ def main(data): |
140 | 140 | from datasets import load_dataset |
141 | 141 |
|
142 | 142 | logger.info(f"Input data: {data}") |
| 143 | + |
143 | 144 | # Format Google Sheets data |
144 | 145 | input_data, column_indices, original_values = format_google_sheets_input(data) |
145 | 146 | logger.info(f"Formatted input data: {input_data}") |
146 | 147 |
|
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") |
157 | 166 |
|
158 | 167 | # Initialize mapper |
159 | 168 | loinc_df = load_dataset("awacke1/LOINC-Clinical-Terminology") |
|
0 commit comments