- Kaggleに違法アップロードされたHarry Potterデータセットを活用し、SQLベースのRAGアプリケーションの実装過程を示した記事だが、すでに削除済み
- Azure SQLとMicrosoft Fabric SQL DBはネイティブなベクトル検索をサポートし、
langchain-sqlserverでVector Store管理が可能
- Azure Blob Storageのロード、テキストのチャンク分割、Azure OpenAIによる埋め込み生成の後、SQLにベクトルを保存する流れを構成
- ベクトル類似度検索とメタデータフィルターを活用して正確なQ&Aシステムを構築
- 同じベクトルストアを活用し、GPT4oベースのファンフィクション生成機能まで拡張実装
- Archive.is リンク
Azure SQLのネイティブベクトル対応とLangChain統合
- Azure SQLとMicrosoft Fabric SQL DBでネイティブベクトル検索機能のパブリックプレビューを提供
langchain-sqlserverパッケージ公開により、SQL ServerをLangChain Vector Storeとして管理可能
- PyPIおよびGitHubリポジトリでインストール方法とサンプルコードを提供
- Azure SQL DB、LangChain、LLMを組み合わせることで、数行のコードだけで生成AI機能を追加可能
サンプルデータセット構成
- Kaggle提供のHarry Potter全7巻テキストデータセットを使用
.txt ファイル7個を含む
- デモでは第1巻 Harry Potter and the Sorcerer’s Stone のみを使用
- 広く親しまれているデータセットを使い、理解しやすい例を構成
サンプルアプリケーション構築手順
1. langchain-sqlserverパッケージのインストール
pip install langchain-sqlserver==0.1.1 コマンドで統合パッケージをインストール
- SQLベースのベクトルストア機能を有効化
2. Azure Blob Storageデータのロードとチャンク分割
- Harry PotterのテキストファイルをAzure Blob Storageに保存してからロード
- LangChainのAzureBlobStorage統合機能を活用
langchain-text-splitterで長いテキストを小さなチャンクに分割
- Azure OpenAI埋め込みの入力トークン制限に対応するため
3. 埋め込みとChat Completionの定義
- Azure OpenAIを使って各チャンクのテキスト埋め込みを生成
- LangChainが提供するさまざまな埋め込みモデルに置き換え可能
- Chat Completionの構成により、質疑応答処理の準備を実施
4. Vector Storeの初期化とドキュメント挿入
- AzureOpenAI埋め込みとともにVector Storeを初期化
add_documents 関数でドキュメントと埋め込みをAzure SQLに保存
- 少ないコードでベクトル生成と保存を実行可能
5. 類似度検索の実行
similarity_search_with_score 関数でベクトル類似度検索を実行
- メタデータフィルターをサポート
Use Case 1: Q&Aシステムの構築
- SQL Vector StoreとLangChainベースのストーリーQ&Aシステムを実装
- ユーザーの質問に対し、上位10件の関連ドキュメントを検索して応答を生成
vector_store ベースのretrieverを生成
create_stuff_documents_chain で質問応答チェーンを構成
ChatPromptTemplate で構造化された応答フォーマットを定義
create_retrieval_chain を使うと、検索されたドキュメントを "context" キーで一緒に返却
Use Case 2: Harry Potterファンフィクション生成
- ベクトルストアを基盤に、新しいAIファンフィクション生成機能を実装
- ユーザープロンプト入力時に関連段落を検索
- SQLベクトルストアに保存された埋め込みに基づいて文脈類似度を探索
- 検索した段落を1つの文字列にまとめ、モデル入力用コンテキストを構成
- GPT4oモデルにコンテキストとユーザープロンプトを一緒に渡す
- 生成結果とともに、参照されたベクトルソース情報も表示
統合活用シナリオ
- Q&Aシステムとファンフィクション生成機能を組み合わせ、インタラクティブな読書体験を提供
- 書籍内容の理解が必要な場合はQ&Aを活用
- 特定シーンの拡張や別エンディングの生成が可能
コードサンプルとリソース
- LangChain-SQL-RAGノートブックのGitHubリポジトリを提供
- Azure SQLおよびSQL Serverのフィードバックポータルを通じて機能改善を要望可能
1件のコメント
Hacker Newsの意見
今回のMicrosoftの件は、著作権問題よりもさらに根本的なプロセス崩壊を示しているように見える
文書すらレビューされていないのなら、新しいコードがきちんとレビューされている可能性はどれほどあるのか、という疑問が湧く
経営陣に聞きたい — セキュリティと品質、そしてAIイノベーションという3本柱のうち、どれを選ぶつもりなのか
(Scott Hanselman、あなたのことは好きだが、これは直接答えずにぜひリーダーシップへ伝えてほしい)
当時は承認プロセスなしに個人的に記事を上げられたので、ブログはもっと自然で率直な場だった
今回の件は単に誰かの誤った判断で起きたことのように思えるし、記事が取り下げられたのは当然の対応に見える
ただ、より重要なのは、その筆者が所属するチームがAI学習のための著作権侵害を正当化しているのかどうかだ
社内弁護士だけでなく、社外からもこの問題は精査されることになりそうだ
コードにはバグによる深刻な問題の可能性があるため形式的なレビュー手順があるが、
文書はソフトウェアの挙動に直接影響しないので、同じレベルの厳格さが適用されていないだけだ
文書がレビューされていなかったからといって、コードもレビューされていないという意味ではない
大規模組織では部門ごとに検証レベルが異なって適用されており、コードには文書よりはるかに厳しい統制がある
Stack Overflowの回答をほぼそのままコピーしたような内容で、エラーメッセージを検索していてそれを見つけたとき、
腹が立つというより、ただがっかりした
Microsoftのブログ記事がKaggleのHarry Potterデータセットページにリンクしていた
そのページはCC0、つまりパブリックドメインだと主張しているが、明らかに著作権上の問題をはらんでいる
しかもその記事は2024年11月から公開されていたのに、まだ削除されていなかったのが驚きだ
「Report Dataset」機能で通報しようとしたところ、Googleの著作権報告ページにリダイレクトされた
だが「著作権者または代理人でなければ報告できない」というメッセージで拒否された
まったく喜劇のような状況だ。そのデータセットは明白な盗用だ
むしろ誤ったライセンスでアップロードした人物に責任がある可能性が高い
ただし「Harry Potter」という名前を見れば、誰でもこれがパブリックドメインではないと分かるはずなので、
常識的にはMicrosoftも責任を免れにくい
Microsoftは結局そのページを削除した
ただしarchive.isに保存されたコピーが残っている
「5分でRAGアプリを作る」というタイトルで、AzureとGPTを使った例だった
いまだにあのサイトが使われているのは残念だ
ブログのAI生成サムネイル(画像リンク)が、
若いHarryと友人がMicrosoftロゴの前にいる構図だった。本当に驚きだ
たぶんフレームがもっと広ければ、客車の連結部が存在しなかっただろう
Microsoftを嫌う立場ではあるが、今回の件を「海賊版ガイド」と決めつけるのは過剰だ
これは研究用の例にすぎず、製品統合ではない
著作権独占やフェアユースをめぐる過剰反応も、恥ずかしいほどだ
研究用であっても、使ったテキストに対する正当な対価を支払う余力は十分にある
商用LLM企業の大半が似たようなことをしている
一般人なら違法となる行為を、企業が公式ブログでガイドしたことになる
Anthropicが著作権侵害で15億ドルを和解した事例もある
自分も現行の著作権制度は嫌いだが、企業と個人に異なる物差しが適用されるのは容認できない
これは海賊版ガイドではなく、単にデータセットをSQLに取り込む方法を説明した記事だった
むしろKaggleやアップローダーのShubham Maindola側が責任を負うべき事案だ
「Harry Potter電子書籍をtxtに変換した」というデータ出所の説明はあまりにもぞっとする
それなのにKaggleスコアが10.0だというのは驚きだ
この記事は2024年に上がったもので、Kaggleがデータをホスティングしている
Rowling側がなぜまだ何の措置も取っていないのか不思議だ
Kaggleのダウンロード数が1万程度で、注目されていなかった可能性が高い
だが、これは明らかに一線を越えている
以前にもMicrosoftのAI関連剽窃事件があり、
そのときも内部レビューのプロセスがほとんどないと指摘されていた
関連スレッド: “Microsoft morged my diagram”
だが今は商用モデルが登場し、状況は完全に変わった
Books3のように、数十万冊の著作権付き書籍を含むデータセットが公開されたこともあった
ページはすでに削除されているが、ウェブアーカイブのコピーが残っている
倫理意識の欠けた人材が未来の技術を作っているのは不安だ
あれほど厳しい採用プロセスを通った人たちがこんな判断をするなら、
実際に重要な意思決定はどれほど危ういのかと疑ってしまう
だが、それが免罪符になるわけではない
もう知的財産権が無意味になった世界のようだ
だから「AIがHarry Potterをそのまま出力する小説スタートアップ」に投資する人はいないか、と冗談めかして提案する
これまでAIが一貫して得意なのはユーモアだけだ
無限にスケール可能なAIスタートアップのアイデアも出ていた
既存製品との類似性は「完全に偶然」だと皮肉っている
一般人がやれば、今でもすべてを失い刑務所行きになる
今のMicrosoftの動きを見ていると、こういう事件はまったく驚きではない
2026年のMicrosoftでは著作権法と知的財産権がもはや適用されていないかのような空気だ