MySQL AI  /  AI-Powered Search and Content Generation  /  Generating Vector Embeddings

5.7 Generating Vector Embeddings

This section describes how to generate vector embeddings using the ML_EMBED_ROW routine. Vector embeddings are a numerical representation of the text that capture the semantics of the data and relationships to other data. You can pass the text string in the routine manually or use data from tables in your database. To embed multiple rows of text stored in a table in a single run, you can even run a batch query.

Using this method, you can create vector embedding tables that you can use to perform similarity searches using the DISTANCE() function, without setting up a vector store.

Note

This method does not support embedding unstructured data. To learn how to create vector embeddings for unstructured data, see Section 5.6, “Setting Up a Vector Store”.

This topic contains the following sections:

Before You Begin

Generating a Vector Embedding for Specified Text

To generate a vector embedding, perform the following steps:

  1. To define the text that you want to encode, set the @text variable:

    mysql> SET @text="TextToEncode";

    Replace TextToEncode with the text that you want to encode. For example:

    mysql> SET @text="MySQL AI lets you communicate with unstructured data using natural-language queries.";
  2. To generate a vector embedding for the specified text, pass the text to the embedding model using the ML_EMBED_ROW routine:

    mysql> SELECT sys.ML_EMBED_ROW(@text, JSON_OBJECT("model_id", "EmbeddingModel")) into @text_embedding;

    Replace EmbeddingModel with ID of the embedding model you want to use. To view the lists of available embedding models, see In-Database Embedding Model.

    For example:

    mysql> SELECT sys.ML_EMBED_ROW(@text, JSON_OBJECT("model_id", "all_minilm_l12_v2")) into @text_embedding;

    The routine returns a VECTOR, and this command stores it in the @text_embedding variable.

  3. Print the vector embedding stored in the @text_embedding variable:

    mysql> SELECT @text_embedding;

    The output, which is a binary representation of the specified text, looks similar to the following:

      -----------------------------------------------------+
      | 0x6F57203BBF1592BD11FA93BD9FEC9E3C0A43CABDF1102EBD8B0B07BCF7D39ABCDCBEC7BC21ACACBC416B3FBD7A8E13
      3CA954B23D3F428DBD9A9E863DAE3085BC7E68313DA6E9BE3C3BA2F3BC3B2DC4BDFBCDD4BD0F2B593D00D95CBC2B40E53B
      8ED4AEBDD9B5D8BC695F703C3534463C7D7ADABB0EA7613CA4B40C3D40DD4A3D88E05E3DBDD8C43CF6B0863CE450ACBC3D
      34B63C978D99BC1EC638BD929CC7BD734E98BC7B9BAB3C2F3A47BD147E203D88EABD3DCF18483D42D820BD25C59BBC9E4D
      ADBC7DEA643D071F02BDA843AFBC865E323C775BBC3D87B8163D69DDF13DEAE5083DDA23353D2BDBCFBD0858ADBD9520E5
      3C1070343DE8237D3D6FA7083D1591653D90C8CE3DE4BE34BC6681B73D5D3CA5BCC2EBC8BD9102A3BCBE0A8EBD1C0189BB
      29CF0F3E2AA2ACBD075834BCC85AE33C224F9CBD261FDF3C7B34033CB8FCB4BCE247663DA3C2963B598089BBAFA5EABCC5
      59FBBD38E72BBDD8705D3BBAB3693DEDD26C3DB9CDDC3C2E51333D1A58E13CC67C6B3CA068D63C3DD35B3DBF72BCBCCBCC
      16BD8276513DE1B4913DDF7B05BDE9C836BB1BFD02BDE3AFA5BDBFAA68BD7780EB3CA39EB13C9D8CCCBD6260BCBC4A339A
      BCFE3A90BDD00B333D0622AABC2C5D47BDF406FF3D5F142FBC598B083DB2BA12BC3650D3BB07223A3D3E33F53CB3F032BC
      5CC6303C9CC1B63DC56AF33B424554BD3DC116BDAD93303C2E4A0D3D5FF4903D414E7C3CA315943DF69C35BD96C8473DF4
      62D2BA24CF2BBCA4E340BCAD53C6BCC8FF333DDC55643D447FF1B9742F35BD14B2423BEC5E0EBCC76E02BC230A2C3D663A
      6EBD27E1F0BCE2FF523BC5AB9ABD6921B13CE5EBA93D03A30D3E752FEC3C04151ABB14B3CEBD578BA93D31853DBC0D9685
      BD961AC2BC006CE0BDA835723CDE2AA1BC39728C3D484790BD980186BD4017C1BCB61F44BBC0FB8E3BC29AC93C6E36003E
      9A0F7F3D0D23213ACE228C3CEE0ED5BDD77491BD0E5834BD6680CEBD512A173D41BCB5BB4ABDA63B7F5C1B3D2C2C013EA5
      A4913D5CACFEBC611BC8BDCA3520BC1CB2D83CFFD3DEBB11998ABC4181713D5EAC003D01CFBB3C9333113C960849BD0F05
      99BD7A5BC13D2472403D9AF94ABD0B1C983C9429D53B654A413D079AECBD1F991C3D0B4BCB3C47AFCCBD1709743B291C57
      3DF35C13BD17C317BD519292BD85FBB23DAB319D3C1AEDA73B82C7BD3C8B5183BD7DE38DBC6A2AD1BB83D1F03A01718DBD
      236543BB6D22803CFF69133CB485188906BFC1BC75FAF03B24FA01BEFBE83B3D04F3353C4D67933D7ADECBBCAC79AF3B58
      AB8F3DE3C3B6BB050580BD92720C3DB0199BBC8A4790BC0D09B4BCAEC2503C1B2FAEBC91C598BA5070223D0CB8C13D2B6E
      D7BD5301553D326ECBBD6A8825BD75DE6E3C38380EBCFCE7F6BC9329FB3B1F7B3ABDF51B403D59EE873C33078CBD8CB7A5
      3B8D26A63DE2633CBDDBBFCEBB7778A63C566E84BD4D66973CF29CDFBC6271523D800EDABC57CD03BD81DB563D2B0BC4BC
      EB1238BC724B16BEACC15D3D8B8247BC24AAF63B29E7823C6300F13B4703193D8BD9D6BDBDD5313D68A73DBC36DBC5B981
      0B36BDF940953A4B3EB2BCF9984E3C3EDD3DBD8709C83CCDE4ACBB4B8387BD48CA133D7187893C38FB9FBBF1F50CBDB650
      06BDA3397B3DADB05CBD22961A3D405E16BBDF5E45BAEFC8A53D71FCD0BCAEE96F3D74DA0B3D724DE03C72A1653D53AF18
      BCCD4A623D92033ABAF3E6AE3D68757C3D086475BDB6F9B03C1836CE3CA9D8FF3C8BFFC53B8A9A10BC96308EBD20FB7C3C
      68610FBD5881310B1B52163D5ED0353C432D26BC31320FBC4E1ECCBCAA24A7BD480988BCE0CCB43D667CEFBB865600BD56
      E9FA3960BA59BDE7C40F3DF01782BD0981E0394E1C5FBC8EA1443923ED633D9F00483D662A87BD2A568D3DC376503D996B
      4BBD1F59D7BC92216E3D448BE2BC728DEFBC8F75013BF481753D9B71213C26541ABD2B93B43B54ED8EBCF0F7423D54C42D
      3D5DAB58BC1D488CBC35CE69BDC6298CBD60F3E5BC5F7B003EB703003EF76FD1BCAF25A6BD8857F43C232B743CA96406BC
      CA3536BD12BEC83D90FB0BBDB6D09EBDAE549BBD3C4CE83B8AD9733D5B890DBD57D1643B6F84E2BC73CC8DBD782B3D3D67F
      CD7BCE1071CBDA1C0313DB99B993CFA29A3BD |

Running Batch Queries

To encode multiple rows of text strings stored in a table column, in parallel, use the ML_EMBED_TABLE routine. This method is faster than running the ML_EMBED_ROW routine multiple times.

To run the steps in this section, create a new database demo_db and table input_table:

mysql> CREATE DATABASE demo_db;
mysql> USE demo_db;
mysql> CREATE TABLE input_table (id INT AUTO_INCREMENT, Input TEXT, primary key (id));
mysql> INSERT INTO input_table (Input) VALUES('Describe what is MySQL in 50 words.');
mysql> INSERT INTO input_table (Input) VALUES('Describe Artificial Intelligence in 50 words.');
mysql> INSERT INTO input_table (Input) VALUES('Describe Machine Learning in 50 words.');

To run batch queries using ML_EMBED_TABLE, perform the following steps:

  1. Call the ML_EMBED_TABLE routine:

    mysql> CALL sys.ML_EMBED_TABLE("InputDBName.InputTableName.InputColumn", "OutputDBName.OutputTableName.OutputColumn",
    JSON_OBJECT("model_id", "EmbeddingModel"));

    Replace the following:

    • InputDBName: the name of the database that contains the table column where your input queries are stored.

    • InputTableName: the name of the table that contains the column where your input queries are stored.

    • InputColumn: the name of the column that contains input queries.

    • OutputDBName: the name of the database that contains the table where you want to store the generated outputs. This can be the same as the input database.

    • OutputTableName: the name of the table where you want to create a new column to store the generated outputs. This can be the same as the input table. If the specified table doesn't exist, a new table is created.

    • OutputColumn: the name for the new column where you want to store the output generated for the input queries.

    • EmbeddingModel: ID of the embedding model to use. To view the lists of available embedding models, see In-Database Embedding Model.

    For example:

    mysql> CALL sys.ML_EMBED_TABLE("demo_db.input_table.Input", "demo_db.output_table.Output",
    JSON_OBJECT("model_id", "all_minilm_l12_v2"));
  2. View the contents of the output table:

    mysql> SELECT * FROM output_table;
    +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
    | id | Output                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | details         |
    +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
    |  1 | 0x0151873DB06340BD66E860BD26DC8C3BF5110ABEBF69F83B8791B63D955C003D1DF996BDA2B8883D772CB4BD882B443A06F70D3EC0D3DEBDD026B03B3B5E363B6920F53CEC7F3BBD2B43D5BCDD6E89BDC4F199BD3894BC3A5E0F1DBDDEC0F93C5AB292BD650E923CF4E2B8BB6BD4D93BB2030BBDFEA616BD7DFDD2BBFDB9B63DE89B003EAA2B133D11940ABD00F33BBC9C31B1BC7B4ECD3C1F3A12BDF0B300BD9F1EFCBBE827553CAB5E1DBD5A167B3C9355583D6E9661BD72E3F03C87FF8ABC0D2845BD46E0B53B17D57ABDEE9919BDB7F0A5BDF551443D0A79F23C4D9938BB7D2097BCBC8F7DBDB04F12BE6769D0BD7F9B703D07B1873D7201153DF253A23DD19DCD398C6AEC3C6F408C3D6D20723D27EF36BD42624ABD7DE873BD5A8428BDDBFED8BBC5D5E33DA43586BC7BB185BDB8482F3D9A32E53CDD7712BD9B141BBBDE9F0BBC388C9C3CBD54B4BAB7399C3CF3BB93BDDD1C15BDEE3C78BC18D0563DB66DDEBB72E43AB9A07D4E3CEF2D31BDAB80113C191087BD59AB2BBDC42D073D8F1B9EBC458382BD67B22F3DC3E2033D1B17BB3C7BF680BBA1F9433DB4F701BD3A4159BDE5C97C3D1159E83C46DD8DBD37AD71BD00D2B0BD62C958BCB9495C3D027117BC470DADBDD8BCCD3D3A96FCBC80997DBD6B43983D6EBE15BD8029D03D8E4A34BDB358383DCC6D7E3C569F353CEBE913BDE6CD26BCE293643CA675883D192959BDB301F33C7467DEBC5FCD803DE94222BDFBEC333D9D19FA3CE05B07BD248758BDE0AC12BC10C3573B52A9F63CEA2547BCB1A0BF3CE9D8D83A0AC2E9BC3A515DBC93F8773D39CCC4BA29A3AA3CEC4DA8BDE56CB03CDFCDFCBA113DC13CAF87223E0108043DAF5DB4BDC9D021BD0CDD8CBCA4EA983DFA54FE3C72CC7EBB038966BD6EEC17BD4ADC1DBD03A3103DA25285BD07BC1CBD223E523BAFC05BBD553B5ABDB3520EBD74EC743D8785A73CC4246DBB3C02523DB0E69EBD6B3AF7BC19D633BBC507ABBB81A2C63C05299CBD1734963DCAAC38BDCEF6433D3DF1353D34F61B3C5B0544BD7D34B7BDC778263DEECB933D2270B2BB23C24D3D3E19853D10ADBA3D396BB3BCF6A6EDBC09C5C7BD8265EE3BD03A743DFA7E38BDD6C1A6BD2564193BEEA50B3EC527C1BDC747B13D1E4385B9F68B9C3BA97CC2BAF64748BD4F409FBD50769EBD600653BD5F7AFE3DF2FFADBDB192A23D2603813DC0CC83BC39FD25BC72C6053C150B4BBD1858693D7D2C3F3DD385073D7E0138BD0A5EEE088B9DCC3BF6FF0E3D9104CDBDBD36313D5686713C9E9A1C3DF0C34FBB0838533D9140303C1C3CC13CC07D4ABC38FEB73DEA6F993C7B593EB9ED5FBDBDA9431E3CD2CF433C7C40CCBDB6F4873B258C063E7D1AD7BCDD1BAF3DFE502DBDE33B9F3C9C0C313B584BA43D6A40B13C1F1BA0BD2D5BB73C8EC681BC86EFE13C231314BCA1EBC1BCA1BBCB3D9ABD58BDD5CAE7BC58828B3D7E4587BDE1FE203DAB9D9DBD861DF2BB30D6F2BCE73E7CBCBE3E77BBFE84143CDCBD493D6057E1BCC4C29BBBF6E2113CFFF6EF3C5CD5DEBCDEF6803C287B7C3DF85190BD1B685E3D11F425BD1C69213C03868BBCDA1168BD5DE68EBD05B0B33CA865A8BDFEA162BDD462CD3D067D11BD066BA73D415C1F3DF2F309BB76CF11BD0966F3BC3DAB97BC52FDE73C6142913AB5DAB9BCBCA254BD7F37D53D45886FBD67C3C83DA0F9653D7A26663D8F562C3DE8AC16BCA5BC3D3DFA5B11BD40AEDBBC2534A2BD79803FBC58DB7A3D924E563C3B2A7ABBA864043D402B88BDF831B1BD9128423C90CF53BD95C08C0A9449023D5CD9813C522FD53CB391DC3CE7628E3DB3A162BD47FA083DDB7A433D7A9C733C656E0BBDE6AD173D691E88BCBAE924BD36E3D93B11BA043DC571D33CE8F9D9BC7DC0FE3BF8C4E73C999BA2BC37F6CD3D56F84B37E5C9A3BC3FA6E439C541ED3CE131813C05FA003DF2C0A23DBBA5AA3DB3AFECBCC971623BFD94873D2C4727BD4E4F03BD45F6DEBB4D3CD5BC811EA73CD426D2BA34F8DBBC68BF923CC513373DB18EB83DDC43D33C3AB4973C597A213C0C3DBC3BF15CDBBCA83D733C1692473DACE8ABBDBA09E3BD75CDC53C544B393D7D4DEF3C2FD296BDC28FF93C6001D6BA146BFEBC8806813DBB462DBDA573FEBC61E98F3D564B23BCDEA6FFBC | {"error": null} |
    |  2 | 0xE0C75E3DA70A91BDDF3996BB292AD7BA623AD1BDFB55763C85248F3DE0A85B3D5B8165BD257FCD3DB3F854BD72B556BC421E213D59FDB1BC62991FBCA5BF133DB403253D98E7BD3CF48A77BD5179B3BD7A92383C01F5343D6E18DEBB0A61383CF196C2BD891BCA3DDA06143D67753C3DBD32283D38121FBD553C47BD219689BCE5DF073E423C9A3CB49996BD0848773CE4DE18BDBD6883BD164D603C502BF4BC0D82F5BC6278BCBDC0603CBC0F10D03CC3C9B13C84123ABCE56177BD606A5ABB4B5B40BD6CCE81BD0F6601BE77A298BD6F2A08BD19D3E43CE02103BC602669BD6B38CBBC4F5812BD29184ABD689DA0BD8A0F8A38A509693D598AC03D3084203D4CDAD13B75BA0C3D6E25C13C68E0B93CAA754CBD0BBA69BC31ACAF3D9F88FABC938026BDF950C33D809BEF3CDE003A3C7104613DB61B2DBC4705F53C3C62CEBCF0453FBDB75975BD8639C2BCE01ED43D092D72BD1C506A3C1581ABBD35699C3D3D9BB73DE3C72ABC3BE70A3D37AB29BD6F71933DEC63F3BB772FB33C9A309E3D08C796BC8BEDB9BD17771DBDB738493D46D894BD0B09FD3CB46B913C5E5C7EBD328495BC33EFF7BBADBB64BDB5B99BBD1B78D9BC748282BCE7AE9E3A1DCFD83B6CFCCF3CDB0630BD6305823C6F2DE5BCDDD483BDD772163DEA46A8BC022F493DBDB6E5BCE89D813DFEBAE23B560FC23D524AA63CEA1C71BDF100B93C6C50803D7EFC0EBDA118B43C191F22BDE479503D19248DBD752783BD2B1AB73D2F754C3CE4EF41BDDEFF93BD2FD857BD47E0A93C37E306BD6F23C53DEDE3423D3AECDABC6FCC243D8776223DD301C7BCD46B333CE6F0F33C2498D13CFAEE853CF7DA37BD818ACB3D25383FBC2D9E1C3DE04A323CB5682C3C93CC8F3DE4E0553CF88C783D1726133D08E3993D8DCF963D37F0CFBC1DF23D392777D9BC004FDE3C9311C3BCBBC0E4BD57A74D3C7105843D8C09773DEB17973D5899123D84A5C8BB82A84BBC1FD4113CAEB0863D637F213CD9800DBCB31A9BBC3F71F3BDA33EE23C4CDA4A3D02E4E33B812C53BD95D2C7BC934A8BBC1A20B1BB763F90BC54B57F3DE975CD3DDC5E943D86BDD83C4DD58CBCC7B4E3BDC10E113D2CB9003ED11F89BCE82F8CBD7B699EBD1B1B2B3D5EA2B5BDDB013EBC07AC43BCF20744BC816BE0BB6D3789BD1BED28BD75D843BBA1912ABDA4FDA0BC361BC2BCC36E523D1ABE223D036746BD6FBD94BD06F516BC501279BC406AEABA43F5183D853EA13D628397BD92EA4E897C0385BDE37FD63BD384E9BDB4E45E3D29BC663D9BFB5A3DB30CFBBCFCF87B3DFC1AD93C753C04BBDD58A0BD125B3C3C009683BCC7AC123DAB83ADBD077582BBA71708BD38789FBD8992F63C778B0C3E9A59803D98087B3DD6E91BBD7CC58D3C69827BBDFAA29E3D084050BBEF6510BB20F8DD3C631AE6BCFDB02C3DE4E7903C11621FBD01FCF63D06A483BC23EB123DAA6D953D81BEB0BD5D24CFBC0111ABBD5B63263D5D7709BBA92E84BD5C7423BC5599173C5BBD49BB258458BC652D85BC84B0093C9DFFB83CEEBC38BBEF0D8DBA0905053C2D2792BDD328A53D1D088DBD9A3CA7BBC5CF6FBA3F64B23C18CB5D3D8A77F0BB287017BDBB0F143D30FF9E3D571C55BD4D37A13D64BC2A3D2DB9633C2814FEBC57D4D3BDF6FEEE3CE27AA63DF570BD3CF63C31BDB38C3ABD1CCA323D4996CBBD7C55253D2251283DAD05A23D3DFBADBB51B427BD1262053DE90C92BD4AB72FBD158A5D3CAC4385BDE5FDE6BC3BCBD8BB3DE1373DC5BFCC3C0FEEA6BD7DDB113C5B1A7E39843A39BDF949140A3FCD363CAE2DA83CE55A953B2973943D3A035BBCEBF6803C0C59CCBBE9A84EBD65041CBD71BE4EBDF0DB153D35F70CBC43E12CBCB92BE93DB1F2123D2D05D03CDA284CBD3B29B13CEACA8FBC0BABA5BCB55AC73DCB0D09BCE7E00ABED58C9F3CDDEA0ABDE30079BD8C3BAFBA0C6C223C8981833CFE2055BC7E67A2BB841B703D8A4A39BD3346BE3CE17EC5BB1344423DC706F8BC866A533D943D85BC1F21F9BCC3CDACBD541BA23D1134D6BCB71988BC39658B3D57621E3C4F7A0ABD0F0C87BDDA611B3CB06482BD4EE049BDCCA4053D0EE31DBD204E6E3DD927BB3D9D24973D8B13933C1913BA3B5EFC01BD012EBA3DB36BE2BC1A40A33D2A2682BBFBECB2BD | {"error": null} |
    |  3 | 0xB1CAE33C469EBFBD36C704BD926DBDBC4824B4BD8847723D0A93273DD9ED8F3CB9B384BDC300A53DF37B0ABD131E0ABC5FAB4D3D4B6A88BD1CB6DEBC69EB9B3D982A483D95833B3DC51DB8BC125BBEBD6B3B073D86A5283D2DDB4DBCCBEDB63CE7E7AEBD8152283D158D973DEFC4463D3124E1BB76238EBDEFF2BFBCF094513C8D7BF63D68AE303CCE9E91BDA7D5DBBC5CE52EBD965D17BD35CDACBC80D56F3B3A0621BCF42CB1BD48B705BD9CAA573C7A09673D53C486BC45F30A3BBA89BABCB48464BD0AA146BD82A8E2BD9F48C0BD82D492BD54CFB53CE10080BB5451BFBD12B074BDB4A62D3D7119FBBC65B5A0BC50AB5B3C0CCC633C7503603D22262E3D2CF0023D63FE033C2823F83C2936243D764798BD55CD5E3CE1F6BD3BDC2A3CBB781400BD0819D33D3B7900BBF69F353DCDED4C3DB88AFABABB8CDD3CFA311EBDB886CEBC7260053D131B69BB22A1893C655E9EBD91F02A3D8FCC66BDB9C0353D9BAC523DF27D00BCB5CBA6BB10770DBD381D1B3AC5D1A93C0B12C3BC7923A33DE930F5BC528A8EBDE57F093D487C913D0C008FBDBE495A3D932A083C615ECBBCF289B03CC5BC16BD672847BD0A60A5BBEAB95EBD6010D1BC8D87A63CB055F23B993404BC159C18BD8EC07C3DF8BD8EBCBC1EFFBC326536BC434296BD80C1BA3D79FBDABD1934C93CA5298FBC9D73633D7691803C8B7469BDC82851BBD1D7363D0BE7923B7031E1BCABB7283C26890D3DAFDF2FBDD0471ABD7197E83D3F0D633C3ABDEEBC57A038BD60882ABD7804DD3C7B6729BDB7E5A93DA78AAD3DBA23273C3E731E3DDAE5963D745B3BBDE97956BBF8CEE1BB913B173D8768163D50F5FBBC4EA6693DE94B02BDED259FBCCFB7B5BCAB24393DBA10A63D36CF2C3C45FE8C3D74CA7F3CBFCCB73D3E46C23D0F0528BD124DE8BC4D7344BD5026CB3CDE220BBDC98435BD82CC19BD6C7CDD3D72D9C43CD194AABAEA278C3D85D74CBC0935773C294171BDF5EF45B915CCA53C67BE1EBDF2F552BD7ED491BD88DB703C3A31C83D9D93023DEC3C55BD640E14BDC4186DBB471EE0BC4D306BBD8FC5D73D76CB683D2F882C3DC5441E3CC6F8E3BCBA9408BE6D21433DE5859D3DA4ABF73C8C359CBD62C002BE41808E3C9BFC5DBD0016ADBC9A47DABC1703053C52A822BC1F4C10BCAAFD39BD7E96EF3CB772A5BD9C6C8F3C20F006BDAA4DB43D767DE83BFD6A35BC5E699EBD0044E5BCBAEEA7BD4489CF3B7261103DCAB8C43CE03B8ABDCA332309BA15E6BD298AEA3CD28A54BD54048D3D03292D3DBCF3273D457BFFBC488B723DF6FF1D3C9385903CC61051BD7A9CDE3CDE8E81BDD5912F3C30A8DABD81915BBB2943123D8FE3C0BD1963C53C98D0E73DD622923DAEE4543D5CA340BD542D7A3D436E01BD5AB9AE3D837E9EBCCEDAEC3B804CDD3CD2AC8FBDB9168DBC39B09C3CDFC8B2BC4152063E4E4F67BD2C5CF93CA2DFD43DB0DC4EBD79E768BC4E8F8FBDBADC373DB774253DE6F3B2BD7EA80CBD1872FCBC17669BBB4FF52B3DBEAAEBBCEB0AE13C2571933DB419933B37A3103D44AE9DBC1ADE9F3B9323083D7A7B9BBD7F659A3BE713663CAF3E30BDF1A93B3DA5F997BDB9370BBD5C6C0ABD543B973D5A708FBD37CD413DE725DA3D5873453D94F32DBD82E88ABD4BB00FBD17F4BB3D161A9B3C4DC74BBC9159E0BC90C22B3C77DE83BDBC386ABC51DF483C4E96D13DA222B8BC58CF90BD9098A43DCA568ABD771FCFBC741F483CCDB73ABCF7A81BBD5B4619BC69F3EB3CE0BA9F3C40DECABDA8E1623C93EC0C3C7D141EBD98F20D087B45C9BBDE81703D473D563D1335943D6B48C2BC4073E83B8048BABC9D4DD5BA8AAE35BD53EF71BD14B18E3D0A95393C1D4D65BD1EBC6C3DEBA23C3D2E2B633DB8FCCF3A87E7A23CAB76EABB1AC910BD614CF33D5CA35B3C40E2C7BD9C57E83C3038C03CEA7C7BBD14B1483D884C933D7606AB3CE9B789BCE266BFBC3101CF3D6B1487BC2B2F0F3C6FED4DBC5EE6463D721CFB3CDB3C713D3DF508BDA5B9DB3CDDF536BD0CC4AF3D1E399C3ADDD8BABC1CBC5F3D2A9C5A3DC7C3DFBC3F4F6EBDEDA08CBBF911A5BDE53C1FBDBEB8F73CADEA993DA2FBBC3B06E3B03CF409F43DF6D719BCB3D578B9814E0E39777BCC3D7BDE03BD26E9743D45C33ABD0308B5BD | {"error": null} |
    +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+

    The output table generated using the ML_EMBED_TABLE routine contains an additional column called details for error reporting. In case the routine fails to generate output for specific rows, details of the errors encountered and default values used are added for the rows in this additional column.

    mysql> DESCRIBE output_table;
    +---------+--------------+------+-----+---------+-------+
    | Field   | Type         | Null | Key | Default | Extra |
    +---------+--------------+------+-----+---------+-------+
    | id      | int          | NO   | PRI | 0       |       |
    | Output  | vector(2048) | YES  |     | NULL    |       |
    | details | json         | YES  |     | NULL    |       |
    +---------+--------------+------+-----+---------+-------+

    To specify the embedding model used to generate the vector embeddings, the routine adds the following comment for the VECTOR column in the output table:

    'GENAI_OPTIONS=EMBED_MODEL_ID=EmbeddingModelID'

    For example:

    mysql> SHOW CREATE TABLE output_table;
    +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table        | Create Table                                                                                                                                                                                                                                                              |
    +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | output_table | CREATE TABLE `output_table` (
      `id` int NOT NULL DEFAULT '0',
      `Output` vector(2048) DEFAULT NULL COMMENT 'GENAI_OPTIONS=EMBED_MODEL_ID=minilm',
      `details` json DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
    +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

    This lets you use tables generated using this routine for context retrieval while running retrieval-augmented generation (RAG) as well as GenAI Chat.

  3. If you created a new database for testing the steps in this section, delete the database to free up space:

    mysql> DROP DATABASE demo_db;