GMOリサーチ&AI株式会社では一緒に働く仲間を募集しています
みなさんこんにちは、システム部の岡崎です。今回はBigQueryのSQLだけでRAGを作ってみようと思います。
目次
1. RAG(Retrieval-Augmented Generation)とは?
2. BigQuery MLでLLMが使える
3. 処理の概要を考えてみる
4. まずは下準備
5. 予備知識データベースのベクトル化
6. セマンティック検索
7. プロンプトを作る
8. 最後に Text Generation
9. 全部合体してRAGが完成
10. 結果出力(例)
11. 感想
1.RAG(Retrieval-Augmented Generation)とは?
質問に対して関連する情報を検索し、その情報を基に回答を生成する自然言語処理の手法です。
検索(Retrieval)と生成(Generation)を組み合わせることで、より正確で詳細な回答を提供する仕組みのことです。引用:Chat GPT
Q&Aチャットや、社内文書の検索などで見かけますが、中でもLangChain, Llama index の pyhton framework が有名です。
2.BigQuery MLでLLMが使える
ある日、BigQuery ML について色々調べていると。。。
BigQuery上で大規模言語モデルを扱える関数がある!
ML.GENERATE_TEXT (テキスト生成)
ML.GENERATE_TEXT_EMBEDDING(テキストのベクトル化)
他にも。
ML.DISTANCE (2つのベクトル間の距離を計算)
これだけあればSQLだけで RAG が作れるのではないか?と思い、試してみることにしました。
3. 処理の概要を考えてみる
処理の概要として、以下のステップを考えました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
続きはこちらのテックブログからご覧ください。
【https://gmor-sys.com/2024/02/16/rag-with-bigquery-sql-and-palm2/】