In Alfabet Expand, go to the Presentation tab, expand the XML Objects > Integration Solutions node and double-click AIServicesConfig. The definition of the connection depends on the service provider.
-
You can connect to Amazon Bedrock® either via an access key, or via a Cognito user pool. The configuration required at Amazon Bedrock for the authentication methods is not part of this documentation.
Amazon Bedrock AI Guardrail® blocks harmful content and protects private data in generative AI applications. The AI text generation feature available in Alfabet can be configured to optionally protect requests to the AI service via AI Guardrail. Responses are directly routed back to the Alfabet application. Customers using a connection to an own AI service account on Amazon Bedrock can configure the connection to use AI Guardrail.
In the XML editor, define the following XML structure:
- <AIServicesConfig>
- <AIServices>
- <AIService Name='' Type='TextGenerate' Enable='true' Provider='' Authentication='' Guardrail='' Model='' TimeOut=''/>
- </AIServices>
- <AIAuthentications>
- <AIAuthentication Name='' Type='' Flow=''>
- </AIAuthentication>
- </AIAuthentications>
- <AIGuardrailDefs>
- <AIGuardrailDef Name=''>
- <AIGuardrail ID='' Version='' Enable=''/>
- </AIGuardrailDef>
- <AIGuardrailDef Name=''>
- </AIGuardrailDefs>
- </AIServicesConfig>
If the AIServicesConfig , AI Services , and AIAuthentications XML elements already exist, you must only add an AIService child XML element to the existing AIServices XML element and an AIAuthentication child XML element to the existing AIAuthentications XML element.
Set the attributes of the AIService XML element:
- Name: (Mandatory) Define a unique name for the service definition.
- Type: (Mandatory) Set to TextGenerate.
- Enable: (Mandatory) Set to true to activate the AI service connection. You can define multiple AI service connections of the type TextGenerate, but you can only activate one at a time.
- Provider: (Mandatory) Set to AmazonBedrock.
- Authentication: (Mandatory) For access via Cognito User Pools or access key, authentication is defined separately in an AIAuthentication XML element. Each AIAuthentication XML element has a unique name. If you want to use either Cognito User Pools or access key for access to Amazon Bedrock, enter the name you will use for the authentication specification in the next step. The Guardrail attribute must not be set for these authentication methods.
- Guardrail: For access via AI Guardrails, authentication is defined separately in an AIGuardrailDef XML element. Each AIGuardrailDef XML element has a unique name. If you want to use authentication via AI Guardrail, enter the name you will use for the guardrail specification in the next step. The Authentication attribute must not be set for guardrail authentication.
- Model: (Mandatory) Enter the Amazon Bedrock Model ID of the AI model you want to access.
- TimeOut: Define the timeout of inactive connections to Amazon Bedrock in seconds. The default is 60 seconds.
Define authentication in the AIAuthentication XML element.
Define the general XML attributes of the AIAuthentication XML element:
- Name: (Mandatory) Enter the name you specified in the Authentication XML attribute of the AIService XML element.
- Type: (Mandatory) Select either AWSCognitoUserPool or AWSAccess Key
- Flow: (Mandatory) Set to USER_PASSWORD_AUTH.
Define the XML child elements of the AIAuthentication XML element for login with Cognito User Pools:
You can use server variables for the definition of authentication parameters. Server variables are defined in the configuration file of the Alfabet Web Application and can be stored encrypted. The configuration in the XML object contains the server variable names instead of the values behind them. This method is recommended to specify security critical information like user IDs and passwords.
- Region: (Mandatory) Enter the region of the Amazon web Services you are using.
- AuthorizationUrl: (Mandatory) Enter the authorization URL for access to the Cognito User Pools.
- ClientId: (Mandatory) Enter the client ID of the Cognito user pool.
- UserPoolId: (Mandatory) Enter the ID of the Cognito user pool for user authentication.
- IdentityPoolId: (Mandatory) Enter the ID of the Cognito identity pool for user authorization.
- Username: (Mandatory) Enter the Cognito user name for login.
- Password: (Mandatory) Enter the Cognito user's password.
Define the XML child elements of the AIAuthentication XML element for login with user access key.:
You can use server variables for the definition of authentication parameters. Server variables are defined in the configuration file of the Alfabet Web Application and can be stored encrypted. The configuration in the XML object contains the server variable names instead of the values behind them. This method is recommended to specify security critical information like user IDs and passwords.
- Region: (Mandatory) Enter the region of the Amazon Web Services you are using.
- AccessKey: (Mandatory) Enter the Amazon Web Services access key.
- SecretKey: (Mandatory) Enter the Amazon Web Services secret key.
Optionally define use of Amazon Bedrock AI Guardrail.
XML attribute settings of the AIGuardrailDef XML element:
- Name: (Mandatory) Enter the name you specified in the Guardrail XML attribute of the AIService XML element.
XML attribute settings of the AIGuardrail child XML element of the AIGuardrailDef XML element:
- ID: (Mandatory) Enter the AI Guardrail ID provided by Amazon Bedrock.
- Version: (Mandatory) Enter the version of the AI Guardrail.
- Enable: (Mandatory) Set to true to enable the AI Guardrail definition. You can only one AIGuardrail XML element as child of the AIGuardrailDef XML element. If you set Enable to false, the use of AI Guardrail is disabled.
-
You can connect to Microsoft Foundry® via API key access to Microsoft Azure®. The configuration required at Microsoft Azure for the authentication method is not part of this documentation.
In the XML editor, define the following XML structure:
- <AIServicesConfig>
- <AIServices>
- <AIService Name='' Type='TextGenerate' Enable='true' Provider='' Authentication='' Model='' TimeOut=''/>
- </AIServices>
- <AIAuthentications>
- <AIAuthentication Name='' Type='' Flow=''>
- </AIAuthentication>
- </AIAuthentications>
- </AIServicesConfig>
If the AIServicesConfig , AI Services , and AIAuthentications XML elements already exist, you must only add an AIService child XML element to the existing AIServices XML element and an AIAuthentication child XML element to the existing AIAuthentications XML element.
Set the attributes of the AIService XML element:
- Name: (Mandatory) Define a unique name for the service definition.
- Type: (Mandatory) Set to TextGenerate.
- Enable: (Mandatory) Set to true to activate the AI service connection. You can define multiple AI service connections of the type TextGenerate, but you can only activate one at a time.
- Provider: (Mandatory) Set to MicrosoftFoundry.
- EndPoint: (Mandatory) Enter the Target URI of your model deployment endpoint on Microsoft Azure.
- Authentication: (Mandatory) Authentication is defined separately in an AIAuthentication XML element. Each AIAuthentication XML element has a unique name. Enter the name you will use for the authentication specification in the next step.
- Model: (Mandatory) Enter the Microsoft Foundry model name of the AI model you want to access.
- TimeOut: Define the timeout of inactive connections to Microsoft Azure in seconds. The default is 60 seconds.
Define authentication for access of Microsoft Azure in the AIAuthentication XML element.
Define the XML attributes of the AIAuthentication XML element:
- Name: (Mandatory) Enter the name you specified in the Authentication XML attribute of the AIService XML element.
- Type: (Mandatory) Select APIKey
Define the XML child elements of the AIAuthentication XML element:
You can use server variables for the definition of authentication parameters. Server variables are defined in the configuration file of the Alfabet Web Application and can be stored encrypted. The configuration in the XML object contains the server variable names instead of the values behind them. This method is recommended to specify security critical information like user IDs and passwords.
- APIKey: (Mandatory) Enter the Authentication Key for access to your model deployment endpoint on Microsoft Azure.
-
In the XML editor, define the following XML structure:
- <AIServicesConfig>
- <AIServices>
- <AIService Name='' Type='TextGenerate' Enable='true' Provider='' ServiceHost='' Model='' TimeOut=''/>
- </AIServices>
- </AIServicesConfig>
If the AIServicesConfig and AI Services XML elements already exist, you must only add an AIService child XML element to the existing AIServices XML element.
Set the attributes of the AIService XML element:
- Name: (Mandatory) Define a unique name for the service definition.
- Type: (Mandatory) Set to TextGenerate.
- Enable: (Mandatory) Set to true to activate the AI service connection. You can define multiple AI service connections of the type TextGenerate, but you can only activate one at a time.
- Provider: (Mandatory) Set to Ollama.
- ServiceHost: (Mandatory) Enter the URL for access of the Ollama AI service.
- Model: (Mandatory) Enter the Ollama model name of the AI model you want to access.
- TimeOut: Define the timeout of inactive connections to Ollama in seconds. The default is 60 seconds.
Route the connection via a proxy
Optionally, you can configure the connection to the AI service to be routed via a proxy server. This requires the following additional configuration in the XML object AIServicesConfig:
- Add a child XML element Proxies to the AIServicesConfig XML element.
- Add a child XML element Proxy to the Proxies XML element.
- Define the following XML attributes for the Proxy XML element:
- Name: (Mandatory) Define a unique name for the proxy. This name is used to refer to the proxy in the data connection configuration.
- url: (Mandatory) Define the URL of the proxy server.
- user: If required, enter the user name for access to the proxy server. The domain name for authentication is defined separately with the XML attribute domain and must not be specified as part of the user name.
- psw: If required, enter the password for access to the proxy server.
- Domain: If required, define the domain name that shall be used as part of the user name for authentication at the proxy server.
- BypassOnLocal: Set this XML attribute to true if requests to local Internet resources (http://localhost, http://loopback, or http://127.0.0.1) shall not use the proxy server. If the XML attribute is set to false, all requests are sent via the proxy server.
- Add an XML attribute Proxy to the AIService XML element specifying the connection that shall be routed via the proxy server. Set the XML attribute Proxy to the name of the proxy definition.
You can define multiple proxy definitions and route each defined AI service via a different proxy.
If you have configured multiple repository connections and each repository connection shall use a different proxy, you can add additional proxies to your proxy configuration and refer to one of the proxies in the repository connection configuration. The proxy definition above will be used as default if no proxy is assigned to a data connection. The use of an additional proxy requires the following configuration:
- <AIServicesConfig>
- <Proxies>
- <Proxy Name='Proxy1' url='http://proxy1:8080' user='proxyuser' psw='proxypw' BypassOnLocal='true'/>
- <Proxy Name='Proxy2' url='http://proxy2:8080' user='proxy2user' psw='proxy2pw' BypassOnLocal='false'/>
- </Proxies>
- <AIServices>
- <AIService Name='AITextService' Type='TextGenerate' Enable='true' Provider='' Authentication='' Model='' TimeOut='60' Proxy='Proxy1'/>
- </AIServices>
- [...]
- </AIServicesConfig>