Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bring AI to the Dolphin

Avatar for lefred lefred
November 04, 2025

Bring AI to the Dolphin

In this session, we dive into MySQL AI, the next evolution of the MySQL ecosystem that integrates machine learning and generative AI capabilities directly into the database engine.

MySQL AI extends the MySQL platform with native support for:

- GenAI integration for text generation and conversational workloads
- NL2SQL translation using large language models to convert natural language into optimized SQL queries
- Vector Store for embedding management and similarity search, enabling semantic retrieval
- AutoML for model training, evaluation, and deployment within the MySQL environment

All components are orchestrated through the new MySQL Studio, providing a unified interface for data preparation, model management, and AI-assisted query development.

Participants will learn how to leverage MySQL AI to:

- Build intelligent applications without external ML pipelines
- Combine structured data with unstructured embeddings
- Deploy AI-driven features — such as semantic search and contextual data enrichment — natively inside MySQL

This session was delivered at Contech by RoOUG

Avatar for lefred

lefred

November 04, 2025
Tweet

More Decks by lefred

Other Decks in Technology

Transcript

  1. Frédéric Descamps Community Manager Oracle MySQL Contech 2025 - November

    2025 Bring AI to the Dolphin Overview of MySQL AI
  2. • @lefred • @lefredbe.bsky.social • @[email protected] • @lefred14:matrix.org • MySQL

    Evangelist • using MySQL since version 3.20 • devops believer • living in • h�ps://lefred.be Frédéric Descamps Copyright @ 2025 Oracle and/or its affiliates. 3
  3. MySQL AI - released on Sep 11, 2025 MySQL AI

    consists of the following components: • MySQL Enterprise Edition for MySQL AI , which includes: ◦ MySQL Commercial Server ◦ AI Engine ◦ MySQL AI Plugin • MySQL Shell AI Edition, which supports MySQL Shell Workbench. • MySQL Router AI Edition, which supports the MySQL REST Service Copyright @ 2025 Oracle and/or its affiliates. 5
  4. MySQL AI functionality (2) Generative AI: inference with in-database LLM,

    RAG on vector store AutoML: ML training, inference, explanations Vector creation: vector creation on documents on the �le server Vector processing: semantic search on documents. Documents can be in multiple languages NL2SQL: Interact with your data in natural language Studio: provides chat capabilities in natural language, SQL worksheet, and ML development environment Prototype and develop on-premise and deploy in OCI for be�er price-performance, OCI AI services and scale. Copyright @ 2025 Oracle and/or its affiliates. 8
  5. AI Engine: Python processes for ML, GenAI processing & embedding

    GENERATION Vector Engine: vector processing of similarity functions MySQL AI components Copyright @ 2025 Oracle and/or its affiliates. 9
  6. • AI Chat • SQL Workshop • My Files •

    Notebooks • Ask Oracle MySQL Studio - Overview MySQL Studio is the new uni�ed interface for working with MySQL AI . MySQL Studio is designed to make database management and AI integration simple and e�cient, whether you're a data professional or just starting out. MySQL Studio o�ers a range of features including: Copyright @ 2025 Oracle and/or its affiliates. 11
  7. With AI Chat, you can seamlessly load documents in a

    variety of formats into vector stores, choose which vector stores to include in your searches, and interact directly with the AI features using natural language queries. AI Chat in MySQL Studio AI Chat in MySQL Studio o�ers a powerful, conversational interface for unlocking the full potential of MySQL AI . Copyright @ 2025 Oracle and/or its affiliates. 12
  8. SQL Workshop goes beyond basic query execution by providing advanced

    introspection tools such as interactive table and chart views. This suite of features empowers you to analyze, visualize, and understand your data with ease. SQL Workshop in MySQL Studio SQL Workshop is your comprehensive environment for interacting directly with your MySQL AI database using SQL. Copyright @ 2025 Oracle and/or its affiliates. 13
  9. Here, you can create Jupyter-style Python notebooks, upload data �les

    for use within your notebooks, and conveniently organize your resources. My Files in MySQL Studio My Files in MySQL Studio provides a secure, private space for each user to manage their work and data. Copyright @ 2025 Oracle and/or its affiliates. 14
  10. These Python notebooks are compatible with Jupyter notebooks—a popular open-source

    standard that lets you create pages made up of executable Python code cells and forma�ed text cells using Markdown. This powerful combination allows you to write code, document your process, visualize data, and tell your data story—all in one place. Notebooks in MySQL Studio The Notebooks feature provides an interactive environment where you can combine both code and text to work e�ciently with your data. Copyright @ 2025 Oracle and/or its affiliates. 15
  11. Ask Oracle in MySQL Studio Ask Oracle is an always-available

    assistant to help you with questions and explanations related to SQL and database usage. Accessed via the red chat bu�on in the corner of the application, Ask Oracle can be opened or dismissed at any time by clicking this bu�on: Whether you need guidance on a SQL statement, want an explanation of a database concept, or have general questions, Ask Oracle is always ready to assist you in context. Look for the the red chat icon integrated throughout Studio to access Ask Oracle contextually. Copyright @ 2025 Oracle and/or its affiliates. 17
  12. MySQL AI can create vectors from docs on �le system

    Copyright @ 2025 Oracle and/or its affiliates. 22
  13. Vector Operations • Vector data type VECTOR(n) • Vector distance

    functions ◦ VECTOR_DISTANCE(vector, vector, distance_metric) ◦ STRING_TO_VECTOR(string) ◦ VECTOR_TO_STRING(vector) Copyright @ 2025 Oracle and/or its affiliates. 23
  14. Vector Operations (2) • Supported distance metrics ◦ Cosine ◦

    Dot product ◦ Euclidean • Vector processing is parallelized and in-memory • Vector Index: E�cient Approximate Nearest Neighbor (ANN) [soon] Copyright @ 2025 Oracle and/or its affiliates. 24
  15. MySQL AI AutoML From data to insights with built-in self-service

    data tools Copyright @ 2025 Oracle and/or its affiliates. 26
  16. AutoML use cases Address business problems that impact customers, products,

    operations, and �nancials Copyright @ 2025 Oracle and/or its affiliates. 27
  17. Comprehensive ML capabilities Eliminate complex and time-consuming data movements to

    a separate ML service with integrated ML. Easily apply ML training, inference, and explanation to data in MySQL. AutoML supports anomaly detection, forecasting, classi�cation, regression, and recommender system tasks, including on text columns. SQL SQL > > CALL CALL sys sys. .ML_TRAIN ML_TRAIN( ('marketing.bank_marketing' 'marketing.bank_marketing', , 'y' 'y', , JSON_OBJECT JSON_OBJECT( ('task' 'task', , 'classification' 'classification') ), , @lefred_model @lefred_model) ); ; Copyright @ 2025 Oracle and/or its affiliates. 28
  18. Query your database using natural language. NL2SQL uses the LLM

    to convert a natural query into SQL. It harvests relevant metadata to help the model be�er interpret the user's intent and generate SQL statements tailored to the database's structure. NL2SQL: Interact with your database in natural language Copyright @ 2025 Oracle and/or its affiliates. 31
  19. Query your database using natural language. NL2SQL uses the LLM

    to convert a natural query into SQL. It harvests relevant metadata to help the model be�er interpret the user's intent and generate SQL statements tailored to the database's structure. NL2SQL: Interact with your database in natural language Copyright @ 2025 Oracle and/or its affiliates. 31
  20. MySQL AI - Prerequisites • Oracle Linux 8 / Red

    Hat Enterprise Linux 8 • CPUs: 32 logical, or virtual, CPU cores • RAM: 128GB • Storage: 512GB • You have a license for the MySQL Enterprise Edition. Copyright @ 2025 Oracle and/or its affiliates. 34
  21. MySQL AI - Download MySQL AI is available on Oracle

    Software Delivery Cloud h�ps://edelivery.oracle.com Copyright @ 2025 Oracle and/or its affiliates. 35
  22. After that you run the mysql-ai-setup command that will install

    all the required packages and con�gure the di�erent components: MySQL AI - Installation The installation is made using RPMs but you install only the setup package: mysql-ai-setup-9.xxxx.x86_64.rpm. Copyright @ 2025 Oracle and/or its affiliates. 37
  23. The embeddings is included in MySQL Studio when performed from

    unstructured documents like PDF, Word, Text �les... MySQL AI - Blog's content to GenAI Chat MySQL AI includes a Vector Store to store the embeddings. We use the same approach as before to create the embeddings and store them in a new table. Copyright @ 2025 Oracle and/or its affiliates. 39
  24. MySQL AI - Blog's content to GenAI Chat (2) For

    our blog, we need to create the embeddings ourselves using sys.ML_EMBED_ROW() that we encapsulate in JS procedures. And we keep the same table scructure as used by MySQL AI . SQL SQL > > show show create create table table myvec\G myvec\G * ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** * 1. 1. row row * ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** * Table Table: myvec : myvec Create Create Table Table: : CREATE CREATE TABLE TABLE ` `myvec myvec` ` ( ( ` `document_name document_name` ` varchar varchar( (1024 1024) ) NOT NOT NULL NULL COMMENT COMMENT 'RAPID_COLUMN=ENCODING=VARLEN' 'RAPID_COLUMN=ENCODING=VARLEN', , ` `metadata metadata` ` json json NOT NOT NULL NULL COMMENT COMMENT 'RAPID_COLUMN=ENCODING=VARLEN' 'RAPID_COLUMN=ENCODING=VARLEN', , ` `document_id document_id` ` int int unsigned unsigned NOT NOT NULL NULL, , ` `segment_number segment_number` ` int int unsigned unsigned NOT NOT NULL NULL, , ` `segment segment` ` varchar varchar( (1024 1024) ) NOT NOT NULL NULL COMMENT COMMENT 'RAPID_COLUMN=ENCODING=VARLEN' 'RAPID_COLUMN=ENCODING=VARLEN', , ` `segment_embedding segment_embedding` ` vector vector( (384 384) ) NOT NOT NULL NULL COMMENT COMMENT 'RAPID_COLUMN=ENCODING=VARLEN 'RAPID_COLUMN=ENCODING=VARLEN GENAI_OPTIONS=EMBED_MODEL_ID=multilingual-e5-small' GENAI_OPTIONS=EMBED_MODEL_ID=multilingual-e5-small', , PRIMARY PRIMARY KEY KEY ( (` `document_id document_id` `, ,` `segment_number segment_number` `) ) ) ) ENGINE ENGINE= =InnoDB InnoDB DEFAULT DEFAULT CHARSET CHARSET= =utf8mb4 utf8mb4 COLLATE COLLATE= =utf8mb4_0900_ai_ci utf8mb4_0900_ai_ci SECONDARY_ENGINE SECONDARY_ENGINE= =RAPID RAPID Copyright @ 2025 Oracle and/or its affiliates. 40
  25. MySQL AI - Blog's content to GenAI Chat (3) wp_create_embb_js

    DROP DROP PROCEDURE PROCEDURE IF IF EXISTS EXISTS wp_create_embb_js wp_create_embb_js; ; CREATE CREATE PROCEDURE PROCEDURE wp_create_embb_js wp_create_embb_js( () ) LANGUAGE LANGUAGE JAVASCRIPT JAVASCRIPT AS AS $$ $$ let let s s = = session session. .sql sql( ("SELECT count(*) FROM wp_posts where post_type='post' and post_status='publish'" "SELECT count(*) FROM wp_posts where post_type='post' and post_status='publish'") ); ; let let res res = = s s. .execute execute( () ); ; let let row row = = res res. .fetchOne fetchOne( () ); ; let let total total = = row row[ [0 0] ]; ; let let batch batch = = 10 10; ; let let processed processed = = 0 0; ; let let last_id last_id = = 0 0; ; while while ( (processed processed < < total total) ) { { s s = = session session. .sql sql( (" "SELECT SELECT ID ID FROM FROM wp_posts where post_type wp_posts where post_type= ='post' 'post' and post_status and post_status= ='publish' 'publish' and and ID ID > > " " + + last_id last_id + +" ORDER BY ID LIMIT " " ORDER BY ID LIMIT " + + batch batch) ) res res = = s s. .execute execute( () ) row row = = res res. .fetchOne fetchOne( () ) while while( (row row) ) { { let let id id = = row row[ [0 0] ] last_id last_id = = id id let let s2 s2 = = session session. .sql sql( ("CALL wp_create_row_embb_js(" "CALL wp_create_row_embb_js(" + + id id + + ")" ")") ) s2 s2. .execute execute( () ) processed processed += += 1 1 row row = = res res. .fetchOne fetchOne( () ) } } } } let let stmt_out stmt_out = = session session. .sql sql( ('Select "Embeddings done! ' 'Select "Embeddings done! ' + + total total + + ' posts processed" as "wp_create_embb_js"' ' posts processed" as "wp_create_embb_js"', , { {passResultToClient passResultToClient: : true true} }) ) stmt_out stmt_out. .execute execute( () ) $$ $$; ; Copyright @ 2025 Oracle and/or its affiliates. 41
  26. MySQL AI - Blog's content to GenAI Chat (4) wp_create_row_embb_js

    DROP DROP PROCEDURE PROCEDURE IF IF EXISTS EXISTS wp_create_row_embb_js wp_create_row_embb_js; ; CREATE CREATE PROCEDURE PROCEDURE wp_create_row_embb_js wp_create_row_embb_js( (id id INT INT) ) LANGUAGE LANGUAGE JAVASCRIPT JAVASCRIPT AS AS $$ $$ let let s s = = session session. .sql sql( ("SELECT post_content, post_title FROM wp_posts WHERE ID=" "SELECT post_content, post_title FROM wp_posts WHERE ID=" + + id id) ) let let res res = = s s. .execute execute( () ) let let row row = = res res. .fetchOne fetchOne( () ) while while( (row row) ) { { let let content content = = row row[ [0 0] ] let let title title = = row row[ [1 1] ] let let title_text title_text = = title title. .replace replace( (/ /<\/?[^>]+(>|$) <\/?[^>]+(>|$)/ /g g, , "" "") ); ; title_text title_text = = title_text title_text. .replace replace( (/ /\r\n \r\n/ /g g, , " " " ") ); ; title_text title_text = = title_text title_text. .replace replace( (/ /\n \n/ /g g, , " " " ") ); ; // replace all double quotes with \" to escape them // replace all double quotes with \" to escape them title_text title_text = = title_text title_text. .replace replace( (/ /(?<!\\)" (?<!\\)"/ /g g, , '\\"' '\\"') ); ; // replace all single quotes with \' // replace all single quotes with \' title_text title_text = = title_text title_text. .replace replace( (/ /(?<!\\)' (?<!\\)'/ /g g, , "\\'" "\\'") ); ; // replace all lines starting with +- with empty string // replace all lines starting with +- with empty string title_text title_text = = title_text title_text. .replace replace( (/ /[+-].*[-+] [+-].*[-+]/ /gm gm, , "" "") ) // remove all empty lines // remove all empty lines title_text title_text = = title_text title_text. .replace replace( (/ /^\s*[\r\n] ^\s*[\r\n]/ /gm gm, , "" "") ) Copyright @ 2025 Oracle and/or its affiliates. 42
  27. let let content_text content_text = = content content. .replace replace(

    (/ /<\/?[^>]+(>|$) <\/?[^>]+(>|$)/ /g g, , "" "") ); ; content_text content_text = = content_text content_text. .replace replace( (/ /\r\n \r\n/ /g g, , " " " ") ); ; content_text content_text = = content_text content_text. .replace replace( (/ /\n \n/ /g g, , " " " ") ); ; // replace all double quotes with \" to escape them // replace all double quotes with \" to escape them content_text content_text = = content_text content_text. .replace replace( (/ /(?<!\\)" (?<!\\)"/ /g g, , '\\"' '\\"') ); ; // replace all single quotes with \' // replace all single quotes with \' content_text content_text = = content_text content_text. .replace replace( (/ /(?<!\\)' (?<!\\)'/ /g g, , "\\'" "\\'") ); ; // replace all lines starting with +- with empty string // replace all lines starting with +- with empty string content_text content_text = = content_text content_text. .replace replace( (/ /[+-].*[-+] [+-].*[-+]/ /gm gm, , "" "") ) // remove all empty lines // remove all empty lines content_text content_text = = content_text content_text. .replace replace( (/ /^\s*[\r\n] ^\s*[\r\n]/ /gm gm, , "" "") ) // check if content_text is empty // check if content_text is empty if if ( (content_text content_text. .length length == == 0 0) ) { { return return "Content is empty" "Content is empty" } } // split content_text into strings of 100 characters // split content_text into strings of 100 characters // but not breaking words // but not breaking words let let tokens tokens = = [ [] ] let let token token = = "" "" let let words words = = content_text content_text. .split split( (" " " ") ) for for ( (let let i i = = 0 0; ; i i < < words words. .length length; ; i i++ ++) ) { { if if ( (token token. .length length + + words words[ [i i] ]. .length length < < 100 100) ) { { token token += += " " " " + + words words[ [i i] ] } } else else { { tokens tokens. .push push( (token token) ) token token = = words words[ [i i] ] } } } } tokens tokens. .push push( (token token) ) Copyright @ 2025 Oracle and/or its affiliates. 43
  28. // insert into wp_embeddings for each token // insert into

    wp_embeddings for each token for for ( (let let i i = = 0 0; ; i i < < tokens tokens. .length length; ; i i++ ++) ) { { // check if tokeks[i] is not empty // check if tokeks[i] is not empty if if ( (tokens tokens[ [i i] ]. .length length == == 0 0) ) { { row row = = res res. .fetchOne fetchOne( () ) continue continue } } if if ( (tokens tokens[ [i i] ]. .trim trim( () ). .length length > > 0 0) ) { { let let seg seg = = i i + + 1 1 // because 0 is for the title we already added manually // because 0 is for the title we already added manually let let q q = = "insert into lefred_vector.myvec values (\"" "insert into lefred_vector.myvec values (\"" + + title_text title_text + + "\", CAST('{\"parser\":\"oit_jx+ocr\",\"text_from_images\":\"false\"}' AS JSON), " "\", CAST('{\"parser\":\"oit_jx+ocr\",\"text_from_images\":\"false\"}' AS JSON), " + + id id + +" , " " , " + + seg seg + + ",\"" ",\"" + + tokens tokens[ [i i] ] + + "\",sys.ML_EMBED_ROW(\"" "\",sys.ML_EMBED_ROW(\""+ + tokens tokens[ [i i] ] + +"\", '{\"model_id\": \"multilingual-e5-small\", \"truncate\": false}'))" "\", '{\"model_id\": \"multilingual-e5-small\", \"truncate\": false}'))" console console. .log log( (q q) ) let let s2 s2 = = session session. .sql sql( (q q) ) s2 s2. .execute execute( () ) } } } } row row = = res res. .fetchOne fetchOne( () ) } } return return "Done" "Done" $$ $$; ; Copyright @ 2025 Oracle and/or its affiliates. 44
  29. MySQL AI - Blog's content to GenAI Chat (5) Copyright

    @ 2025 Oracle and/or its affiliates. 45
  30. MySQL AI - Blog's content to GenAI Chat (6) Copyright

    @ 2025 Oracle and/or its affiliates. 46
  31. MySQL AI - Blog's content to GenAI Chat (7) Copyright

    @ 2025 Oracle and/or its affiliates. 47
  32. MySQL AI - Blog's content to GenAI Chat (8) Of

    course we can still use the SQL client: SQL SQL > > select select sys sys. .ML_EMBED_ROW ML_EMBED_ROW( ("What are roles in MySQL 8?" "What are roles in MySQL 8?", , @embeddOptions @embeddOptions) ) into into @questionEmb @questionEmb; ; Query OK Query OK, , 1 1 row row affected affected ( (0.1273 0.1273 sec sec) ) SQL SQL > > select select document_name document_name, , document_id document_id, , segment_number segment_number, , distance distance( (@questionEmb @questionEmb, , segment_embedding segment_embedding, , 'COSINE' 'COSINE') ) as as distance distance from from myvec myvec order order by by distance distance limit limit 10 10; ; + +------------------------------------------+-------------+----------------+---------------------+ ------------------------------------------+-------------+----------------+---------------------+ | | document_name document_name | | document_id document_id | | segment_number segment_number | | distance distance | | + +------------------------------------------+-------------+----------------+---------------------+ ------------------------------------------+-------------+----------------+---------------------+ | | Some Some queries related queries related to to MySQL Roles MySQL Roles | | 2494 2494 | | 10 10 | | 0.04005849361419678 0.04005849361419678 | | | | MySQL MySQL 8.0 8.0: Listing Roles : Listing Roles | | 1478 1478 | | 0 0 | | 0.0646367073059082 0.0646367073059082 | | | | MySQL MySQL 8.0 8.0 Roles Roles and and Graphml Graphml | | 1402 1402 | | 0 0 | | 0.06661677360534668 0.06661677360534668 | | | | TOP TOP 10 10 MySQL MySQL 8.0 8.0 features features for for DBAs DBAs & & OPS OPS | | 1378 1378 | | 45 45 | | 0.08692586421966553 0.08692586421966553 | | | | MySQL MySQL 8.0 8.0: Listing Roles : Listing Roles | | 1478 1478 | | 1 1 | | 0.0871921181678772 0.0871921181678772 | | | | MySQL MySQL 8.0 8.0 Roles Roles and and Graphml Graphml | | 1402 1402 | | 1 1 | | 0.0899040699005127 0.0899040699005127 | | | | Some Some queries related queries related to to MySQL Roles MySQL Roles | | 2494 2494 | | 0 0 | | 0.0903623104095459 0.0903623104095459 | | | | Some Some queries related queries related to to MySQL Roles MySQL Roles | | 2494 2494 | | 2 2 | | 0.09287041425704956 0.09287041425704956 | | | | Some Some queries related queries related to to MySQL Roles MySQL Roles | | 2494 2494 | | 4 4 | | 0.10311764478683472 0.10311764478683472 | | | | Build MySQL Build MySQL 8 8 from from the source rpm the source rpm in in OL8 OL8 | | 6811 6811 | | 0 0 | | 0.10328680276870728 0.10328680276870728 | | + +------------------------------------------+-------------+----------------+---------------------+ ------------------------------------------+-------------+----------------+---------------------+ 10 10 rows rows in in set set ( (0.0061 0.0061 sec sec) ) Copyright @ 2025 Oracle and/or its affiliates. 48
  33. FAQ the questions you didn't dare to ask Copyright @

    2025 Oracle and/or its affiliates. 50
  34. FAQ - MySQL AI 1) Which models are available within

    MySQL AI ? Copyright @ 2025 Oracle and/or its affiliates. 51
  35. FAQ - MySQL AI 1) Which models are available within

    MySQL AI ? SQL SQL > > SELECT SELECT model_id model_id, , availability_date availability_date, , capabilities capabilities FROM FROM sys sys. .ML_SUPPORTED_LLMS ML_SUPPORTED_LLMS; ; + +-------------------------+-------------------+---------------------+ -------------------------+-------------------+---------------------+ | | model_id model_id | | availability_date availability_date | | capabilities capabilities | | + +-------------------------+-------------------+---------------------+ -------------------------+-------------------+---------------------+ | | llama3 llama3. .2 2- -3 3b b- -instruct instruct- -v1 v1 | | 2025 2025- -05 05- -20 20 | | [ ["GENERATION" "GENERATION"] ] | | | | all_minilm_l12_v2 all_minilm_l12_v2 | | 2024 2024- -07 07- -01 01 | | [ ["TEXT_EMBEDDINGS" "TEXT_EMBEDDINGS"] ] | | | | multilingual multilingual- -e5 e5- -small small | | 2024 2024- -07 07- -24 24 | | [ ["TEXT_EMBEDDINGS" "TEXT_EMBEDDINGS"] ] | | + +-------------------------+-------------------+---------------------+ -------------------------+-------------------+---------------------+ 2 2 rows rows in in set set ( (0.1054 0.1054 sec sec) ) Copyright @ 2025 Oracle and/or its affiliates. 51
  36. FAQ - MySQL AI (2) 2) Can I bring my

    own model to MySQL AI ? Copyright @ 2025 Oracle and/or its affiliates. 52
  37. FAQ - MySQL AI (2) 2) Can I bring my

    own model to MySQL AI ? No, at this time, MySQL AI only supports the built-in models. Copyright @ 2025 Oracle and/or its affiliates. 52
  38. FAQ - MySQL AI (2) 2) Can I bring my

    own model to MySQL AI ? No, at this time, MySQL AI only supports the built-in models. 3) Do I bene�t from GPU acceleration with MySQL AI ? Copyright @ 2025 Oracle and/or its affiliates. 52
  39. FAQ - MySQL AI (2) 2) Can I bring my

    own model to MySQL AI ? No, at this time, MySQL AI only supports the built-in models. 3) Do I bene�t from GPU acceleration with MySQL AI ? No, MySQL AI runs on CPU only. Copyright @ 2025 Oracle and/or its affiliates. 52
  40. Share your to MySQL #mysql #MySQLCommunity Join our slack channel!

    bit.ly/mysql-slack Copyright @ 2025 Oracle and/or its affiliates. 53