diff --git a/backend/ee/onyx/server/tenants/provisioning.py b/backend/ee/onyx/server/tenants/provisioning.py index cdbef110e..861062a03 100644 --- a/backend/ee/onyx/server/tenants/provisioning.py +++ b/backend/ee/onyx/server/tenants/provisioning.py @@ -200,25 +200,6 @@ async def rollback_tenant_provisioning(tenant_id: str) -> None: def configure_default_api_keys(db_session: Session) -> None: - if OPENAI_DEFAULT_API_KEY: - open_provider = LLMProviderUpsertRequest( - name="OpenAI", - provider=OPENAI_PROVIDER_NAME, - api_key=OPENAI_DEFAULT_API_KEY, - default_model_name="gpt-4", - fast_default_model_name="gpt-4o-mini", - model_names=OPEN_AI_MODEL_NAMES, - ) - try: - full_provider = upsert_llm_provider(open_provider, db_session) - update_default_provider(full_provider.id, db_session) - except Exception as e: - logger.error(f"Failed to configure OpenAI provider: {e}") - else: - logger.error( - "OPENAI_DEFAULT_API_KEY not set, skipping OpenAI provider configuration" - ) - if ANTHROPIC_DEFAULT_API_KEY: anthropic_provider = LLMProviderUpsertRequest( name="Anthropic", @@ -227,6 +208,7 @@ def configure_default_api_keys(db_session: Session) -> None: default_model_name="claude-3-7-sonnet-20250219", fast_default_model_name="claude-3-5-sonnet-20241022", model_names=ANTHROPIC_MODEL_NAMES, + display_model_names=["claude-3-5-sonnet-20241022"], ) try: full_provider = upsert_llm_provider(anthropic_provider, db_session) @@ -238,6 +220,26 @@ def configure_default_api_keys(db_session: Session) -> None: "ANTHROPIC_DEFAULT_API_KEY not set, skipping Anthropic provider configuration" ) + if OPENAI_DEFAULT_API_KEY: + open_provider = LLMProviderUpsertRequest( + name="OpenAI", + provider=OPENAI_PROVIDER_NAME, + api_key=OPENAI_DEFAULT_API_KEY, + default_model_name="gpt-4o", + fast_default_model_name="gpt-4o-mini", + model_names=OPEN_AI_MODEL_NAMES, + display_model_names=["o1", "o3-mini", "gpt-4o", "gpt-4o-mini"], + ) + try: + full_provider = upsert_llm_provider(open_provider, db_session) + update_default_provider(full_provider.id, db_session) + except Exception as e: + logger.error(f"Failed to configure OpenAI provider: {e}") + else: + logger.error( + "OPENAI_DEFAULT_API_KEY not set, skipping OpenAI provider configuration" + ) + if COHERE_DEFAULT_API_KEY: cloud_embedding_provider = CloudEmbeddingProviderCreationRequest( provider_type=EmbeddingProvider.COHERE, diff --git a/backend/onyx/server/documents/cc_pair.py b/backend/onyx/server/documents/cc_pair.py index 281ab125d..aa85d7438 100644 --- a/backend/onyx/server/documents/cc_pair.py +++ b/backend/onyx/server/documents/cc_pair.py @@ -646,7 +646,6 @@ def associate_credential_to_connector( ) return response - except ValidationError as e: # If validation fails, delete the connector and commit the changes # Ensures we don't leave invalid connectors in the database @@ -660,10 +659,14 @@ def associate_credential_to_connector( ) except IntegrityError as e: logger.error(f"IntegrityError: {e}") + delete_connector(db_session, connector_id) + db_session.commit() + raise HTTPException(status_code=400, detail="Name must be unique") except Exception as e: logger.exception(f"Unexpected error: {e}") + raise HTTPException(status_code=500, detail="Unexpected error")