Oracle Autonomous AI Database Select AI introduced built-in text translation last year, making it possible to translate text directly from the database using a simple SQL– and Python-driven experience. That original announcement established translation as a practical way to improve multilingual access to data and AI workflows in your Oracle database. This latest update builds on that foundation by adding support for three more translation providers: Google, AWS, and Azure.
Multilingual workflows are now a normal part of enterprise data platforms. Teams need to work with content created in different languages, support users across regions, and prepare documents for AI pipelines that often perform best when working in a common target language. While the LLMs used with Select AI can often infer language from a prompt, relying on your LLM to always return output in the language a user wants is not the same as having a dedicated translation path. That is where the translate action becomes especially useful. The Select AI translation launch also highlighted this need for stronger control over source and target language handling in database-centric AI workflows.
With this enhancement, Select AI Translate now supports Google, AWS, and Azure in addition to OCI translation services. That gives you more flexibility in how you deploy multilingual solutions and expands the range of language options available through provider-specific translation services. It also means you can align translation with the cloud provider strategy already in place for your application estate.
Why this matters
Translation in Select AI is not just about converting one phrase into another language. It is about making AI-assisted database workflows more usable and more predictable.
A user may prefer to ask questions in one language and receive results in another. A development team may want translated output for downstream applications. A RAG pipeline may need foreign-language documents translated into a language better suited to the embedding model used for retrieval. In all these cases, dedicated translation support helps you control the language of the final result instead of hoping the model interprets intent correctly.
This also makes translation easier to combine with the rest of the Select AI experience. You can use it as part of a conversational workflow, as a preprocessing step for multilingual content, or in conjunction with DBMS_CLOUD_AI.GENERATE and Select AI NARRATE when you want final output delivered in a target language.
Three ways to use Select AI Translate from SQL
Select AI Translate continues to support the same three usage patterns introduced with the original translation capability: using the SQL command line with select ai translate, calling DBMS_CLOUD_AI.TRANSLATE, or using DBMS_CLOUD_AI.GENERATE with the translate action.
That consistency is important. If you are already using Select AI, adding support for new providers does not require you to learn a new interaction model. You simply create an AI profile for the provider you want to use and continue working with the same database-native translation flow.
Users can specify the target language in the AI profile or pass it directly at runtime. Source language can also be specified when needed or left for provider-side language detection. To see which languages are available for translation and which providers support them, you can query CLOUD_AI_LANGUAGES.
What changes with Google, AWS, and Azure
The most visible change is broader provider choice.
Google, AWS, and Azure each bring their own translation coverage, configuration model, and service limits. This gives Select AI users more options when they need a provider with specific language support, regional alignment, or larger translation payload sizes. See each providers product documentation for specific details.
That matters in real deployments. Some use cases need only short prompt translation. Others need longer passages, generated text, or document fragments translated as part of a larger workflow. The new provider support makes Select AI Translate a better fit across that spectrum.
Example: using AWS for translation
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'translate.us-east-2.amazonaws.com',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'ADMIN',
principal_type => xs_acl.ptype_db)
);
END;
/
BEGIN
DBMS_CLOUD_AI.create_profile(
'aws_translate',
'{"provider": "aws",
"credential_name": "AWS_CRED",
"region": "us-east-2"}');
END;
/
declare
output clob;
BEGIN
output := DBMS_CLOUD_AI.translate(
profile_name => 'aws_translate',
text => 'hello',
target_language => 'french'
);
dbms_output.put_line('translated_text: ' || output);
END;
/
SQL> translated_text: texte a traduire
This is the same straightforward pattern Select AI users already know: define the provider in an AI profile, call DBMS_CLOUD_AI.TRANSLATE, and specify the target language you want.
Example: using Azure for translation
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'api.cognitive.microsofttranslator.com',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'ADMIN',
principal_type => xs_acl.ptype_db)
);
END;
/
BEGIN
DBMS_CLOUD_AI.create_profile(
'azure_translate',
'{"provider": "azure",
"credential_name": "AZURE_TRANSLATOR_CRED",
"region": "westus2",
"azure_resource_name": "translate",
"azure_deployment_name": "saitranslate"
}');
END;
/
declare
output clob;
BEGIN
output := DBMS_CLOUD_AI.translate(
profile_name => 'azure_translate',
text => 'text to translate',
target_language => 'french'
);
dbms_output.put_line('translated_text: ' || output);
END;
/
SQL> translated_text: texte a traduire
Azure support follows the same Select AI pattern while letting you connect to Azure’s translation service through an Autonomous AI Database profile.
Example: using Google for translation
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'translation.googleapis.com',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'ADMIN',
principal_type => xs_acl.ptype_db)
);
END;
/
BEGIN
DBMS_CLOUD_AI.create_profile(
'google_translate',
'{"provider": "google",
"credential_name": "GOOGLE_CRED"
}');
END;
/
declare
output clob;
BEGIN
output := DBMS_CLOUD_AI.translate(
profile_name => 'google_translate',
text => 'text to translate',
target_language => 'french'
);
dbms_output.put_line('translated_text: ' || output);
END;
/
SQL> translated_text: texte a traduire
For teams already standardizing on Google Cloud services, this extends Select AI Translate into a familiar provider ecosystem without changing how translation is invoked from the database.
Using Select AI for Python with Translate
By using the same AI profiles noted above, Select AI for Python translate readily uses the new translation services as shown here using the google_translate AI profile.
import os
import select_ai
user = os.getenv("SELECT_AI_USER")
pswd = os.getenv("SELECT_AI_PASSWORD")
dsn = os.getenv("SELECT_AI_DB_CONNECT_STRING")
select_ai.connect(user=user, password=pswd, dsn=dsn)
profile = select_ai.Profile(profile_name="google_translate")
response = profile.translate(text="Thank you", source_language="en", target_language="de")
print(response)
output:
Danke
A better fit for multilingual AI workflows
One compelling aspect of this enhancement is how well it fits into broader Select AI scenarios.
For RAG, translation can help normalize multilingual document collections into a language better suited to the embedding model used for retrieval. That can improve consistency across ingested content and make it easier to work with document collections originating from multiple regions.
For generated output, translation can be chained with DBMS_CLOUD_AI.GENERATE or Select AI NARRATE so users receive results in the language they actually want to read. That makes Select AI more practical for global teams, multilingual applications, and customer-facing experiences where language choice is part of usability, not an afterthought.
Closing thoughts
The original Select AI translation announcement introduced a valuable capability: translation directly from Autonomous AI Database with the same database-native experience used across Select AI. This update takes the next logical step by broadening provider support to Google, AWS, and Azure, giving you more language coverage, more deployment flexibility, and more ways to build multilingual AI solutions inside the database.
For teams building global applications, multilingual RAG pipelines, or translated AI-assisted experiences, this is the kind of enhancement that can quickly remove friction. You keep the simplicity of Select AI, but now with more provider choice behind it.
If you are already using Select AI, this is a good time to revisit your multilingual workflows and see where provider-based translation can improve user experience, document preparation, or generated output delivery.
Resources
For more information, see:
