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

[HeatWavejpMeetup#10] HeatWave GenAI を (無理やり) 日...

[HeatWavejpMeetup#10] HeatWave GenAI を (無理やり) 日本語で動かしてみた [山﨑 由章 氏(HeatWavejp)]

HeatWavejp Meetup #10 「HeatWave の Tips LT会 & Oracle CloudWorld 2024 現地参加レポート」(2024/10/17 開催)の講演資料です。

【講演内容】
HeatWave GenAI を (無理やり) 日本語で動かしてみた

祝! HeatWave GenAIの多言語対応!!

HeatWave 9.0.1-u1 からサポートされている言語のリストに、日本語が入っている!!
しかし、よく見ると、、、
HeatWave In-Database LLMとしてサポートしている言語のリストには日本語が入っていない・・・

ですが、、、 日本語で動かせる方法を2種類見つけました!

【発表者】
山﨑 由章 氏 (HeatWavejp)

【イベント情報】
HeatWavejp Meetup #10
https://heatwavejp.connpass.com/event/331602/

More Decks by HeatWavejp(MySQL HeatWave Japan User Group)

Other Decks in Technology

Transcript

  1. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI を

    (無理やり) ⽇本語で動かしてみた 2024/10/17 HeatWavejp Meetup #10 HeatWavejp ⼭﨑 由章
  2. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave In-Database LLMとして

    サポートしている⾔語のリストには ⽇本語が⼊っていない・・・ ※OCI Generative AI Serviceと連携して、cohere.command-r-plus もしくは cohere.command-r-16k を使えば⽇本語は既に公式サポートされています。
  3. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の基本

    • 英語でのテキスト⽣成例 mysql> set @query="What is the MySQL?"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nMySQL is an open-source relational database management system (RDBMS) that allows you to store, manage, and retrieve data efficiently. It's one of the most popular databases used in web applications, especially for building dynamic websites and web services.\n\nHere are some key features and benefits of MySQL:\n\n1. **Relational database**: MySQL stores data in tables with well-defined relationships between them, making it easy to query and manipulate data.\n2. **Open-source**: MySQL is free and open-source, which means you can use it without any licensing fees or restrictions.\n3. **Cross-platform**: MySQL can run on various operating systems, including Windows, macOS, and Linux.\n4. **High-performance**: MySQL is designed for high-performance and scalability, making it suitable for large-scale applications.\n5. **SQL support**: MySQL supports standard SQL (Structured Query Language) commands, which makes it easy to learn and use.\n\nMySQL is widely used in various industries, including:\n\n1. Web development: MySQL is often used as the backend database for web applications, such as content management systems, e-commerce platforms, and social media sites.\n2. Enterprise software: MySQL is used by many enterprise-level applications, including CRM systems, ERP systems, and other business-critical software.\n3. Mobile apps: MySQL can be used to store data for mobile apps, especially those that require complex data relationships or large-scale data storage.\n\nSome popular use cases for MySQL include:\n\n1. E-commerce platforms\n2. Social media platforms\n3. Content management systems (CMS)\n4. Online banking and finance applications\n5. Mobile apps with complex data requirements\n\nOverall, MySQL is a powerful and versatile database solution that's widely used in many industries and applications."} 1 row in set (22.58 sec)
  4. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の実⾏例

    • ⽇本語で質問、”language”パラメーターに”en”を指定 mysql> set @query="MySQLについて説明して下さい"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nI'd be happy to explain MySQL!\n\n**What is MySQL?**\n\nMySQL is an open-source relational database management system (RDBMS) that allows you to store, manage, and retrieve data in a structured and organized way. It's one of the most popular databases used in web applications, especially for building dynamic websites and web services.\n\n**Key Features:**\n\n1. **Relational Database Management System**: MySQL is based on the relational model, which means it stores data in tables with well-defined relationships between them.\n2. **SQL Support**: MySQL supports SQL (Structured Query Language), a standard language for managing and manipulating data in relational databases.\n3. **Scalability**: MySQL can handle large amounts of data and scale horizontally by adding more servers to the cluster.\n4. **High Performance**: MySQL is optimized for high-performance queries, making it suitable for applications that require fast data retrieval and processing.\n5. **Security**: MySQL has robust security features, including user authentication, access control, and encryption.\n\n**How does MySQL work?**\n\nHere's a simplified overview of how MySQL works:\n\n1. **Data Storage**: Data is stored in tables, which are organized into databases.\n2. **SQL Queries**: Users submit SQL queries to retrieve or modify data in the database.\n3. **Query Execution**: The MySQL server executes the query by reading and processing the data from the storage engine.\n4. **Storage Engine**: The storage engine manages the physical storage of data on disk, providing features like indexing, caching, and logging.\n\n**Types of MySQL Databases:**\n\n1. **MyISAM**: A traditional storage engine that provides good performance for read-heavy workloads.\n2. **InnoDB**: A transactional storage engine that supports ACID transactions and is suitable for applications with high concurrency.\n3. **Memory (HEAP)**: A storage engine optimized for memory-based storage, providing fast query execution.\n\n**Common MySQL Use Cases:**\n\n1. **Web Applications**: MySQL is often used as the backend database for web applications, such as content management systems, e-commerce platforms, and social media sites.\n2. **Business Intelligence**: MySQL can be used to store and analyze large datasets for business intelligence and data analytics purposes.\n3. **Enterprise Systems**: MySQL is used in enterprise environments to manage complex data relationships and provide high-performance query execution.\n\nI hope this introduction to MySQL has been helpful! Let me know if you have any specific questions or need further clarification on any of these topics."} 1 row in set (31.58 sec)
  5. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の基本

    • ⽇本語で質問、”language”パラメーターに”en”を指定 mysql> set @query=“MySQLについて⽇本語で説明して下さい"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nI'd be happy to explain MySQL in Japanese!\n\n**MySQL**\n\nMySQLは、世界で最も⼈気の⾼いオープンソースのRDBMS(Relational Database Management System)です。1995年にMichael WideniusとDavid Axmarkによって開発されました。\n\n**特徴**\n\n* **Free and Open-source**: MySQLは無料で使⽤できる ため、個⼈や企業問わず広く使われています。\n* **Cross-platform**: Windows、Linux、macOSなど多くのプラットフォームに対応しています。\n* **Relational Database**: MySQLは関係データベース管理システムであり、テーブルに格納されたデータを関係づいて管理します。\n* **SQL support**: MySQLはSQL (Structured Query Language)をサポートしており、データの操作や取得を⾏うことができます。\n\n**機能**\n\n* **Data Storage**: MySQLはデータをスト レージとして保存し、⾼速にアクセスすることができます。\n* **Query Language**: SQLを使⽤してデータを操作や取得することができます。\n* **Indexing**: イ ンデックスを使⽤してデータの検索速度を向上させることができます。\n* **Security**: MySQLにはセキュリティー機能があり、パスワードや権限設定などでアク セス制御を⾏うことができます。\n\n**⽤途**\n\n* **Web Application**: MySQLはWebアプリケーションに広く使われています。例えば、E-commerceサイトや SNSなどのデータベースとして使⽤されます。\n* **Enterprise Software**: MySQLは企業向けソフトウェアのデータベースとしても使⽤されます。\n* **Personal Use**: MySQLは個⼈でも⾃由に使⽤することができます。\n\n**インストール**\n\nMySQLをインストールするには、以下の⼿順で⾏うことができます。\n\n1. ダウンロード:MySQLの公式サイトからダウンロードします。\n2. インストール:インストーラーを実⾏し、設定を⾏います。\n3. 設定: MySQLの設定ファイル (my.cnf)を編集して、パスワードやポート番号などを設定します。\n\n**注意**\n\n* **Security**: MySQLにはセキュリティー機能がありますが、パスワードや 権限設定などでアクセス制御を⾏うことが重要です。\n* **Backup**: MySQLのデータを定期的にバックアップすることをお勧めします。\n\n以上、MySQLについ ての⽇本語での説明です。MySQLは⾮常に便利なRDBMSであり、多くの企業や個⼈で使⽤されています。"} 1 row in set (33.60 sec)
  6. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の基本

    • ⽇本語で質問、”language”パラメーターに”en”を指定 mysql> set @query=“MySQLとは何ですか?"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nMySQLは、世界で最も⼈気の⾼いオープンソースのリレーシャトル管理システム(RDBMS:Relational Database Management System)です。 MySQLは、 データベースを管理し、クエリー(SQL)を実⾏してデータを取得、更新、削除することができます。\n\nMySQLは、Webアプリケーションやゲーム、企業のイン tranetなど、多くの分野で使⽤されています。主な特徴として、以下のような点が挙げられます。\n\n* オープンソース: MySQLは、GPL(GNU General Public License)というオープンソースライセンスのもとで配布されていて、⾃由に使うことができます。\n* ⾼速性: MySQLは、⾼性能のクエリー実⾏機能を備えており、 ⼤量のデータに対しても⾼速にアクセスすることができます。\n* スカラー: MySQLは、多くのプラットフォーム(Windows、Linux、macOSなど)で動作し、多 くのプログラミング⾔語(PHP、Python、Javaなど)との統合が可能です。\n\nMySQLは、世界中の企業や個⼈で広く使⽤されており、Webアプリケーションや ゲーム開発、データ分析などの分野で重要な役割を果たしています。"} 1 row in set (19.20 sec)
  7. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の実⾏例

    • ⽇本語で質問、”language”パラメーターに”ja”を指定 mysql> set @query=“MySQLについて説明して下さい"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "ja", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nMySQLは、世界で最も⼈気の⾼いオープンソースのRDBMS(Relational Database Management System)です。1995年にMichael WideniusとDavid Axmark によって開発されました。\n\n MySQLは、SQL(Structured Query Language)を使⽤してデータベースを管理することができます。主にWebアプリケーションや 企業のインtranetで使⽤されています。\n\nMySQLの特徴として、以下のような点が挙げられます。\n\n* オープンソース: MySQLはオープンソースソフトウェア であり、無料でダウンロードして使⽤することができます。\n* スケーラビリティ: MySQLは⼤規模なデータベースを管理することができ、⼤量のトラフィックに 対応することができます。\n* セキュリティー: MySQLにはセキュリティー機能が充実しており、パスワードや暗号化されたデータを安全に保存することができま す。\n* プログラミング⾔語: MySQLは多くのプログラミング⾔語(例えばPHP、Python、Javaなど)との互換性があります。\n\n MySQLの主要な機能として、 以下のような点が挙げられます。\n\n* データベースの作成と管理\n* テーブルやインデックスの作成\n* クエリーの実⾏(SELECT、INSERT、UPDATE、 DELETE)\n* トランザクションの管理\n* セキュリティー機能(パスワード、暗号化)\n\n MySQLは、Webアプリケーションや企業のインtranetで広く使⽤され ています。例えば、FacebookやTwitterなどのSNS、eBayやAmazonなどのECサイトなどがMySQLを使⽤しています。\n\n以上、MySQLについて簡単に説明しまし た。詳細な情報については、公式ドキュメントやネット上の資料を参照してください。 "} 1 row in set (25.51 sec)
  8. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の実⾏例

    • ⽇本語で質問、”language”パラメーターに”ja”を指定 mysql> set @query=“MySQLとは何ですか?"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "ja", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nMySQLは、関係データベース管理システム(RDBMS)の⼀種です。世界で最も広く使われているオープンソースのRDBMSであり、Webアプリケーションや 企業の情報系システムなどに使⽤されています。 MySQLは、データベースを管理し、クエリーを実⾏してデータを取得することができます。また、多くのプログラ ミング⾔語で接続可能です。"} 1 row in set (8.87 sec)
  9. Copyright © 2024 HeatWavejp All Rights Reserved. HeatWave GenAI の実⾏例

    • ⽇本語で質問、”language”パラメーターに”ja”を指定 mysql> set @query=“HeatWavejpについて教えて下さい"; Query OK, 0 rows affected (0.00 sec) mysql> select sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "ja", "max_tokens", 8000))\G *************************** 1. row *************************** sys.ML_GENERATE(@query, JSON_OBJECT("task", "generation", "model_id", "llama3-8b-instruct-v1", "language", "en", "max_tokens", 8000)): {"text": "\n\nHeatWave.jpは、2020年に創業した⽇本のIT企業です。主に、AIを活⽤したソリューションを提供しています。\n\nHeatWave.jpの代表的なサービスとして、 以下のようなものがあります。\n\n1. AIパーソナライゼーション:顧客の購買履歴や⾏動データを分析し、個々のユーザーに最適なコンテンツを提案するAI技術。 \n2. コンテンツ⽣成:AIを使⽤して、⽂章や画像などを⾃動⽣成するサービス。\n3. マルチチャネルマーケティング:複数のチャネル(例えば、SNS、メールマガ ジン、LINE)で同時にコンテンツを配信することができるサービス。\n\nHeatWave.jpは、AI技術を活⽤して、企業のマーケティングやコミュニケーションをより 効果的に⾏うことを⽬指しています。 "} 1 row in set (14.92 sec)