Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

The Exasol AI Lab is a pre-configured container designed to empower data scientists. It streamlines common data science and AI tasks, including data loading, preparation, exploration, model training, and deployment. Whether you’re a seasoned practitioner or just getting started, the AI Lab provides a hassle-free experience.

![Transformers Extension](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/ai-lab-screenshot.png)
![Screenshot Transformers Extension](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/ai-lab-screenshot.png)

Key Features:
* Jupyter Notebook Environment: The heart of the AI Lab is a robust Jupyter Notebook environment. It’s where you’ll work on your data science projects.
* Exasol Integration: Leverage Exasol’s power for your AI and machine learning use cases. The AI Lab includes essential Exasol packages, extensions, and configuration tasks.
* Example Notebooks: Jumpstart your work with ready-to-use example notebooks. Explore classic machine learning scenarios (think scikit-learn), seamlessly integrate Exasol with AWS SageMaker, and tap into Hugging Face models directly within Exasol.
* **Jupyter Notebook Environment**: The heart of the AI Lab is a robust Jupyter Notebook environment. It is where you will work on your AI and Data Science projects.
* **Exasol Integration**: Leverage Exasol’s power for your AI and machine learning use cases. The AI Lab includes essential Exasol packages, extensions, and configuration tasks.
* **Example Notebooks**: Jumpstart your work with ready-to-use example notebooks. Explore classic machine learning scenarios (think scikit-learn), seamlessly integrate Exasol with AWS SageMaker, and tap into Hugging Face models directly within Exasol.

Feel free to explore the Exasol AI Lab and unleash your data science potential!
## Getting Started

The AI Lab is available in multiple [Editions](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/editions.md) involving different technology stacks, see also common [System Requirements](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/system-requirements.md).
Feel free to explore the Exasol AI Lab and unleash your AI potential!

After downloading the required files and having started the AI Lab you can connect to AI Lab's [Jupyter Service](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/jupyter.md).
The AI Lab is available in **multiple editions**. Please visit the [User Guide](doc/user_guide/user-guide.md) and pick
the one that is most convenient to your preferences.

## Additional Links

* [Troubleshooting](doc/user_guide/troubleshooting.md)
* [Developer Guide](https://github.com/exasol/ai-lab/blob/4.0.0/doc/developer_guide/developer_guide.md)
5 changes: 5 additions & 0 deletions doc/changes/changes_4.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@ Code name:

## Summary

## Features

* #440: Re-enabled Parquet import in notebook `first_steps.ipynb`

## Documentation

* #432: Fixed structure and links in notebook first-steps
* #337: Ensured correct spelling for AI Lab
* #441: Added section "Getting Started" to User Guide

## Features

Expand Down
2 changes: 1 addition & 1 deletion doc/user_guide/docker/docker-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Additional options
* Additional [Limitations and security risks](prerequisites.md#enabling-exasol-ai-lab-to-use-docker-features) apply.
* Only file system objects on the daemon machine can be mounted. This applies to ordinary directories as well as the `docker.sock`.
* On Windows mounting `docker.sock` only works with Docker Desktop with WSL 2.
* You can mount the Docker Socket with `--volume /var/run/docker.sock:/var/run/docker.sock`
* You can mount the Docker Socket with `--volume /var/run/docker.sock:/var/run/docker.sock`, see [graphical overview](prerequisites.md).

The following example uses all additional options:

Expand Down
Binary file modified doc/user_guide/docker/docker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 8 additions & 7 deletions doc/user_guide/editions.md → doc/user_guide/user-guide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# AI Lab Editions
# AI Lab User Guide

Exasol AI Lab is available in multiple editions as shown in the following table.

Expand All @@ -9,16 +9,17 @@ Recommendations
* In case a Docker client is available on your system then probably the Docker Edition is the best choice.
* When you want to use the VM Edition then select an appropriate VM image format depending on the Hypervisor software available on your system.


| Description | Format(s) |
| Edition | Image(s) |
|---------------------------------------------------|--------------------------------------------------------------------------|
| [AMI Edition](ami-usage.md) | Amazon Machine Image (AMI) |
| [Docker Edition](docker/docker-usage.md) | Docker Image |
| [Virtual Machine Edition](vm-edition/vm-usage.md) | VMware Virtual Machine Disk (VMDK), Virtual Hard Disk by Microsoft (VHD) |

Each of the editions is associated with an _image_ in a specific format.

The image contains all necessary dependencies and provides a running instance of Jupyterlab which is automatically started when booting or running the image.
Each image contains all necessary dependencies and automatically launches Jupyterlab when booting or running the image.

For download go to the [release notes](https://github.com/exasol/ai-lab/releases/latest).
Please
* [Download](https://github.com/exasol/ai-lab/releases/latest) your favorite image from the latest AI Lab release on GitHub,
* Run the AI Lab as described in the resp. documentation for the edition, and
* Connect to AI Lab's [Jupyter Service](https://github.com/exasol/ai-lab/blob/4.0.0/doc/user_guide/jupyter.md).

In case of problems, please refer to our [Troubleshooter](troubleshooting.md).
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,7 @@
"id": "0dc80445-e5c0-43c1-ae34-f16326d6fb94",
"metadata": {},
"source": [
"**Please note**: \n",
"* Parquet import requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"* Hence, the import is currently commented out.\n",
"**Please note**: Parquet import via SQL statement `IMPORT` requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"\n",
"Now we can import the Parquet file from S3 into the database:"
]
Expand All @@ -271,10 +269,9 @@
"outputs": [],
"source": [
"%%sql \n",
"SELECT 1 -- avoid error from empty cell \n",
"\n",
"-- IMPORT INTO US_FLIGHTS FROM PARQUET AT AI_LAB_FIRST_STEPS_S3 \n",
"-- FILE 'first_steps/US_FLIGHTS_FEB_2024.parquet'"
"IMPORT INTO US_FLIGHTS FROM PARQUET AT AI_LAB_FIRST_STEPS_S3 \n",
" FILE 'first_steps/US_FLIGHTS_FEB_2024.parquet'"
]
},
{
Expand Down Expand Up @@ -305,11 +302,6 @@
"\n",
"[PyExasol](https://exasol.github.io/pyexasol/master/index.html) is the basic Python connector for interacting with Exasol databases.\n",
"\n",
"Please note\n",
"* Using PyExasol's import or export functions with Exasol database versions `2025.*` and higher requires Pyexasol version ≥ `1.2`.\n",
"* AI Lab currently is shipped with pyexasol version `0.27.0`.\n",
"* Hence, the Pyexasol examples can only be executed with Exasol database versions < `2025`.\n",
"\n",
"### 3.1 Importing a CSV File from the Local Filesystem\n",
"\n",
"This section demonstrates how to import a CSV file from the local file system into the database using Pyexasol.\n",
Expand Down Expand Up @@ -456,8 +448,8 @@
"metadata": {},
"source": [
"**Please note**: \n",
"* Parquet import requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"* Hence, the import is currently commented out.\n",
"* Parquet import via SQL statement `IMPORT` requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"* This restriction does not apply when using PyExasol's native function [import_from_parquet()](https://exasol.github.io/pyexasol/master/user_guide/exploring_features/import_and_export/index.html#id8).\n",
"\n",
"Now we can import the Parquet file from S3 into the database:"
]
Expand All @@ -471,17 +463,17 @@
"source": [
"from exasol.nb_connector.connections import open_pyexasol_connection\n",
"\n",
"query = \"IMPORT INTO {table!q} FROM PARQUET AT {connection} FILE {file!s}\"\n",
"query = \"IMPORT INTO {table!q} FROM PARQUET AT {connection!r} FILE {file!s}\"\n",
"\n",
"params = {\n",
" \"table\": (ai_lab_config.db_schema, \"US_FLIGHTS\"),\n",
" \"connection\": \"AI_LAB_FIRST_STEPS_S3\",\n",
" \"file\": \"first_steps/US_FLIGHTS_FEB_2024.parquet\",\n",
"}\n",
"\n",
"#with open_pyexasol_connection(ai_lab_config, compression=True) as conn:\n",
"# result = conn.execute(query, params)\n",
"#print(f\"Imported {result.rowcount()} rows.\")"
"with open_pyexasol_connection(ai_lab_config, compression=True) as conn:\n",
" result = conn.execute(query, params)\n",
"print(f\"Imported {result.rowcount()} rows.\")"
]
},
{
Expand Down Expand Up @@ -578,9 +570,7 @@
"id": "d11dcb6d-d3e5-4e1e-8d61-ba59897c56e9",
"metadata": {},
"source": [
"**Please note**: \n",
"* Parquet import requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"* Hence, the import is currently commented out.\n",
"**Please note**: Parquet import via SQL statement `IMPORT` requires using **<span style=\"color: #40a\">Exasol version 2025.\\* or higher</span>**, see [docs.exasol.com](https://docs.exasol.com/db/latest/loading_data/load_data_parquet.htm).\n",
"\n",
"Now we can import the Parquet file from S3 into the database:"
]
Expand All @@ -604,9 +594,9 @@
" )\n",
")\n",
"\n",
"# with engine.connect() as conn:\n",
"# result = conn.execute(t)\n",
"# print(f\"Imported {result.rowcount} rows.\")"
"with engine.connect() as conn:\n",
" result = conn.execute(t)\n",
"print(f\"Imported {result.rowcount} rows.\")"
]
},
{
Expand Down