RAG+: Enhancing Retrieval-Augmented Generation with Application-Aware Reasoningという手法の論文が発表されていましたので試してみます。とにかく、動くところまで実装してみます。この方法のポイントは、RAGとして与えるコンテキストを、KnowledgeとApplicationの2つとして取り扱う点にあります。Queryから得られた参照すべきコンテキストをKnowledgeだけではなくApplicationも与えることでより、効果的な答えを生成するアイデアです。
シンプルで効果もありそうです。コンテキストをこの2つに分類し、適切なベクトルストアを構築できればです。今回は、単純にチャンクしたデータをこの2種類に分類し、2つのベクトルストアに収納します。そのIDを連携させます。
LLMのモデルは、ollama公式の gemma3:4b-it-qat
embeddingのモデルは、 intfloat/multilingual-e5-small
と軽いものを使って構築します。どの程度使えるかも実験です。
ArXivからRAGなどの7本程度の論文(PDF)からベクトルデータを作成しました。
RAG+はシンプルなアイデアです。なので、利用するデータによって、KnowledgeとApplicationの内容の調整もしやすそうです。例えば、Knowledgeが法律本文でApplicationが法律の具体的な解釈例や具体例といった具合です。また、ApplicationからもKnowledgeを参照できるようにしておけば、入力Queryに対してApplicationでhitすると、そのKnowledgeを参照できる実装とすれば回答の質の向上も期待できそうです。
ベクトルストア構築に負担はかかりますが、比較的にソースとする論文なりの内容を残したまま、利用しやすい形でデータを構成できるのは利点ではないでしょうか。
生成例:
What is RAG? Discuss its applications and consider whether Qwen can be used as the LLM in this context.
Final Answer
Answer: RAG is a retrieval-augmented generation approach. It enhances LLMs' awareness of retrieval requirements through self-calibration, decomposing queries into subqueries, using binary tree search for data synthesis, and iteratively consolidating passages to strengthen context and improve reliability. Its applications include enhancing accuracy and efficiency in retrieval-augmented generation. Qwen can be used as the LLM in this context. Explanation: The document describes RAG as a method that improves LLMs by decomposing queries, using binary tree search, and consolidating passages. It's used in retrieval-augmented generation. The document doesn’t specify whether Qwen can be used as the LLM, but it is a possible option.
作成したコード:
過去の記事: