VillageSQL is a drop-in replacement for MySQL with extensions.
All examples on this page work on VillageSQL. Install Now →
ai_prompt() を使うと、分類を SQL の中で直接実行でき、ロジックをデータの近くに置いたまま、エクスポートとインポートの往復をなくせます。
問題: SQL の外での分類
VillageSQL を使わない場合の典型的なワークフローは次のとおりです。VillageSQL の場合: 分類器としての ai_prompt()
分類出力の検証
モデルは時折、予期しない出力を返します。結果をそのまま格納し、別途検証します。マルチラベル分類
1 つの行が複数のカテゴリに属しうる場合は、JSON 配列を要求し、それをJSON 列に格納します。
信頼度スコアの構築
ラベルと信頼度の両方を持つ構造化された JSON を返すようにモデルに求めます。効果的なプロンプトのパターン
精度を高めるには、モデルに与える選択肢のカテゴリを少なくします。5〜6 個を超える選択肢は、高速で安価なモデルの信頼性を下げます。
セットアップとプロバイダーの選択肢については、MySQL を AI API に接続するを参照してください。ai_prompt() のより広い使用パターンについては、MySQL のクエリから AI モデルを実行するを参照してください。
よくある質問
AI による分類は、学習済みモデルと比べてどのくらい正確ですか?
Claude Haiku のような高性能なモデルは、単純な分類タスクでは学習データなしで高い精度を達成します。微妙な区別があるドメイン固有のカテゴリでは、プロンプトに例を示すか、より大きなモデルを使う必要があるかもしれません。トリガーを使って、挿入時に行を分類できますか?
はい。ただし注意が必要です。INSERT のたびにai_prompt() を呼び出すトリガーを使うと、すべての書き込みに 5〜30 秒かかるようになります。定期的なバッチジョブで分類し、ラベルが利用可能になるまでの短い遅延を受け入れるほうが良いでしょう。
モデルが NULL を返した行はどう扱えばよいですか?
ai_prompt() は API 呼び出しが失敗すると NULL を返します。バッチループでは、NULL がなくなるまで UPDATE を実行し続け、一時的な失敗には再試行ロジックを入れます。
分類にはどのモデルを使うべきですか?
まずclaude-haiku-4-5 または gpt-4o-mini から始めます。どちらも高速で安価です。精度が許容できない場合にのみ、より高性能なモデルに切り替えます。
トラブルシューティング
関連項目
- MySQL のクエリから AI モデルを実行する — 分類に使う ai_prompt() 関数
- MySQL データのセンチメント分析 — 関連するテキスト分析タスク
- MySQL での AI 要約 — 格納されたテキストに対する ai_prompt() のもう 1 つの応用