Extract insights from text (Text AI)
Learn how to use the Exasol Text AI Extension to run text analysis inside your database.
The Exasol Text AI Extension runs AI-powered text analysis directly inside your Exasol database using SQL UDFs. You can extract named entities, generate summaries, pull out keywords, and build custom extraction workflows without moving data to an external service.
Text AI processes everything in-database. Your text data stays within the Exasol engine, which preserves data governance policies and avoids the latency and complexity of external NLP pipelines. This makes it suitable for sensitive business data like emails, contracts, support tickets, and customer feedback.
What Text AI can do
Text AI provides four core capabilities, all accessible through SQL:
| Capability | Description |
|---|---|
| Named entity recognition (NER) | Extract persons, organizations, locations, dates, and other entities from text columns |
| Information extraction | Define configurable extraction workflows to pull structured data from unstructured text |
| Text summarization | Generate concise summaries of long-form text documents |
| Keyword extraction | Identify key terms and phrases for indexing and categorization |
Each capability runs as a UDF inside Exasol’s script language container, so inference happens where the data lives.
Licensing
The Text AI Extension is proprietary software licensed under the Exasol End User License Agreement (EULA). It is not MIT-licensed like most other Exasol extensions. A free community license is available with limited features and data size. Check the GitHub repository for current license terms.
The extension is currently in pre-release status. APIs and capabilities may change before the general availability release.
Prerequisites
Before you install the Text AI Extension, you need:
- An Exasol database with a valid license
- Python 3.10
- Access to Exasol AI Lab (recommended deployment method)
Install and deploy
Deploy through Exasol AI Lab (recommended)
Exasol AI Lab is the easiest way to get Text AI running. Exasol AI Lab ships with the Text AI Extension pre-installed, along with example notebooks that walk you through each capability.
-
Start Exasol AI Lab:
Copydocker run --publish 0.0.0.0:49494:49494 exasol/ai-lab -
Open
http://localhost:49494and log in with the default passwordailab. -
Run
main_config.ipynbto configure your Exasol database connection. -
Follow the Text AI example notebooks to deploy the extension and run your first analysis.
Standalone installation
If you prefer to install outside of Exasol AI Lab, use pip:
pip install exasol_text_ai_extension
After installation, deploy the extension to your Exasol database. The deployment process installs the necessary UDF scripts and script language container (SLC):
python -m exasol_text_ai_extension.deploy <connection-options>
Replace <connection-options> with your Exasol database connection details. Check the GitHub repository for the full list of deployment parameters.
Named entity recognition
Named entity recognition (NER) identifies and classifies entities in text, such as people, companies, locations, and dates. You call it in a SELECT statement against a text column, and it returns the extracted entities alongside your original data. The UDF names and SQL syntax in the following examples illustrate the general calling pattern. Check the GitHub repository for the exact UDF names and parameter signatures in your version.
-- Extract named entities from a text column
SELECT
id,
text_column,
TEXT_AI_NER(text_column) AS entities
FROM my_schema.customer_feedback;
The NER function uses pretrained models to recognize standard entity types. This is useful for processing support tickets, analyzing contracts, or categorizing customer communications.
Text summarization
Text summarization condenses long-form text into shorter summaries. You pass a text column to the summarization UDF and get back a concise version of each document.
-- Summarize long text documents
SELECT
id,
TEXT_AI_SUMMARIZE(text_column) AS summary
FROM my_schema.support_tickets;
This is useful when you need to review large volumes of text quickly, such as summarizing thousands of customer support interactions or condensing meeting notes.
Keyword extraction
Keyword extraction identifies the most important terms and phrases in a text column. You can use the results for indexing, categorization, or topic analysis.
-- Extract keywords from text
SELECT
id,
TEXT_AI_KEYWORDS(text_column) AS keywords
FROM my_schema.articles;
The extracted keywords give you a structured view of what each document is about, without reading the full text.
Information extraction
Information extraction lets you define custom extraction workflows to pull specific structured data from unstructured text. Instead of using a predefined model, you configure extractors that target the exact information you need.
Text AI provides a DefaultExtractor for common extraction patterns. You can also compose custom extraction pipelines from base extractors for more specific use cases.
-- Run information extraction with default configuration
SELECT
id,
TEXT_AI_EXTRACT(text_column) AS extracted_data
FROM my_schema.contracts;
For custom extraction workflows, you configure extractors to target specific fields. For example, you could extract contract values, effective dates, and party names from legal documents, or pull product names and quantities from purchase orders.
Consult the GitHub repository for the full extractor configuration API, including how to compose multiple extractors and customize output formats.
Combine Text AI with other Exasol features
Because Text AI returns structured data through standard SQL, you can use its output in downstream queries, joins, and analytics. For example:
- Run NER on customer emails, then aggregate extracted organization names to identify your most-discussed partners.
- Summarize support tickets, then join the summaries with customer account data for executive reporting.
- Extract keywords from product reviews, then use GROUP BY to find trending topics.
You can also feed Text AI output into other Exasol AI extensions. For example, after extracting structured fields with Text AI, you could use the Transformers Extension for sentiment classification on the same text, or pass structured results to predictive models.
Limitations
- Text AI requires a valid Exasol database license and is distributed under the Exasol EULA (not MIT).
- The extension is currently in pre-release status.
- Processing speed depends on the size of your text data and the complexity of the model. Large-scale workloads may benefit from Exasol’s parallel execution across nodes.
- The pretrained models included with Text AI support English text. Check the GitHub repository for information on additional language support.
Next steps
- GitHub repository for source code, detailed API reference, and the latest documentation
- Set up Exasol AI Lab for the fastest path to trying Text AI with pre-configured example notebooks
- Exasol Text AI product page for product overview and use cases