(sap) update docs, solve merge conflict in transformation.py

This commit is contained in:
Vasilisa Parshikova 2026-03-05 13:17:20 +04:00 • committed by Sameer Kankute
parent fe390e0b3c
commit 41d5072b5f
No known key found for this signature in database
2 changed files with 58 additions and 0 deletions

View file

@ -680,6 +680,58 @@ except Exception as e:
```
For more information about all available content filtering configurations, see the [documentation](https://help.sap.com/docs/sap-ai-core/generative-ai/content-filtering?locale=en-US)
#### List of moduls configuration for fallback
SAP GEN AI Hub supports a fallback mechanism for handling errors. This mechanism allows you to specify a list of fallback modules to use in case of errors. The fallback modules should contain all parameters that are required for configuring the request.
Required parameters:
- `model`
- `messages`
Optional parameters:
- `filterings`
- `groundings`
- `translations`
- `masking`
- `tools`
- and any of model's specific parameters.
```python showLineNumbers title="Fallback Example"
from litellm import completion
from litellm import completion
translation_config = {
'input':
{'type': 'sap_document_translation',
'config':
{'source_language': 'en-US',
'target_language': 'de-DE'}
},
'output':
{'type': 'sap_document_translation',
'config':
{'source_language': 'de-DE',
'target_language': 'fr-FR'}
}
}
response = completion(model="sap/gpt-4o",
messages=[{"role": "user", "content": "Hello world!"}],
translation=translation_config,
fallback_sap_modules=[{
"model":"sap/gemini-2.5-flash",
"messages":[{"role": "user", "content": "Hello world!"}],
"translation":translation_config
}])
# In case of error with the first configuration (model gpt-4o), the fallback module is used.
print(response.choices[0].message.content)
```
## Reference

View file

@ -220,6 +220,12 @@ class GenAIHubOrchestrationConfig(OpenAIGPTConfig):
) -> dict:
optional_params.pop("deployment_url", None)
# Filter strict for GPT models only - SAP AI Core doesn't accept it as a model param
# LangChain agents pass strict=true at top level, which fails for GPT models
# Anthropic models accept strict, so preserve it for them
if model.startswith("gpt") and "strict" in optional_params:
optional_params.pop("strict")
def _build_prompt_module(
*,
model_name: str,