1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dataikuを使ってSignate RAG1グランプリをノーコードで実践(例題で手順説明)

Posted at

はじめに

RAG-1グランプリ。新しい形のデータ分析コンペですが、とても楽しく、そしてDataikuを使えば比較的簡単にできるので、それをみなさんにお伝えしたく記事を書きました。

この記事では、SIGNATEのRAG-1グランプリに付録されている例題を使って、Dataiku(無料版)でRAGモデルを構築する手順について解説します。

(※注意)Dataikuは無料で使えますが、LLMはご自身がご契約されるものを使いますのでご注意ください。

目次

  1. 事前準備①
    1-1. Dataiku無料版のインストール
    1-2. Python環境をインストール
    1-3. データのダウンロード

  2. 事前準備②(Dataiku起動後に行うこと)
    2-1. Python Envの設定
    2-2. LLM(例:ChatGPT)のAPIキーの取得および設定
    2-3. Plugin(Text extraction and OCR)の設定

  3. 新しいプロジェクトを作成

  4. データ接続

  5. テキストを抽出

  6. RAG構築

  7. 質問データのアップロード

  8. プロンプトを書き作成済みのRAGで回答する

  9. データ整形

  10. CSVダウンロード

1. 事前準備①

1-1. Dataiku無料版のインストール

Dataiku無料版から無料版をダウンロードしてインストールします。

image.png

image.png
※Windows版のみ動作保証していないのでご注意ください

初期ログイン情報は下記の通り

  • user:admin
  • pass:admin

インストールできたらUIの言語を日本語にしておきましょう。
image.png

1-2. Python環境をインストール

Python 3.xと必要なパッケージをインストールします。

私はこの手順でインストールしました。
Homebrewでpython3系の最新をインストールする方法

1-3. データのダウンロード

こちらの記事で使ったデータはこちらからDLいただけます。

2. 事前準備②(Dataiku起動後に行うこと)

右上のナインドッツから『アドミニストレーション』をクリックする。
image.png

2-1. Python Envの設定

Dataikuを起動し、「設定」→「コード環境」→「新しい環境の作成」を選択し、Python環境を設定します。

右上『NEW PYTHON ENV』をクリック
①左の『Packages install』をクリック
②Requested packages(Pip)に下記の入力

langchain
pydantic<2
chromadb
pysqlite3-binary; platform_system == "Linux"
faiss-cpu
pinecone-client<3
qdrant_client
langchain-community
tiktoken

③左側の『UPDATE』をクリック

image.png

2-2. LLM(例:ChatGPT)のAPIキーの取得および設定

ご自身で契約しているLLMからAPIキーを取得し、Dataiku内で設定します。

APIキーの取得方法はこちらをご参照ください。

APIキーを取得できたら、『ナインドッツ』→『アドミニストレーション』→『Connections』→『NEW CONNECTION』から任意のLLMを選択し、APIキーを入力。

image.png

APIキーを入力→これから使いたいモデルを選択→『SAVE』をクリック
image.png

2-3. Plugin(Text extraction and OCR)の設定

プラグインから文字起こしの機能を追加しておきます。
『ナインドッツ』→『プラグイン』をクリック
image.png

OCRと検索し、Text extraction and OCRを『INSTALL』する。
image.png

image.png

これで準備完了!!

3. 新しいプロジェクトを作成

  • 左上の鳥さんのアイコンでトップ画面に戻り、右側の『新しいプロジェクト』をクリック
  • プロジェクト名を入力し、『CEATE』をクリックする。
    image.png

4. データ接続

プロジェクト内でデータソースを接続します(CSVファイルやデータベースなど)。必要なデータをインポートします。

image.png

『IMPORT YOUR FIRST DATASET』→『フォルダ』を選択
image.png

小説データをフォルダにドラッグ&ドロップ
image.png

内容を確認する
image.png

5. テキストを抽出

「Text extraction and OCR」プラグインを使い、アップロードしたファイルからテキストを抽出します。
image.png

『Text extraction』をクリック
image.png

Optput Datasetの名前をつけて、そのまま『実行』
image.png

そうするとテキストが抽出されます。
image.png

6. RAG構築

いよいよ、RAG(Retrieval-Augmented Generation)モデルを作成します。

LLMレシピの『埋め込み』をクリック
image.png

①Knowledge columnは『text』を選択
②右上『保存』をクリック
③Knowledge bank serringsの『EDIT』をクリック
image.png

『Core setting』のタブにいき、添付の通り設定し、『保存』をクリック。
image.png

『Use』のタブに戻る
①『ADD AUGMENTED LLM』をクリック
② LLMを選択(※ご自身のお財布とご相談ください ご参考

③『保存』をクリック
④『PARENT RECIPE』をクリック
GPT-4o miniを含む最新のOpenAI、VertexAI、ClaudeのAPI利用料まとめ(2024年7月21日時点)
image.png

『実行』をクリック
image.png

7. 質問データのアップロード

質問データをCSVやExcel形式でアップロードし、RAGモデルに使用します。
①トップに戻る
②データセットを追加
③『ファイルをアップロード』をクリック
image.png

質問の内容が入っているCSVをドラッグ&ドロップ
image.png

8. プロンプトを書き作成済みのRAGで回答する

質問ファイルに『プロンプトレシピ』を適用
image.png

右上の『EDIT IN PROMPT STUDIO』をクリック

①LLMから先ほど作成したRAGのモデルを選択
image.png

①『ADD INPUT』で列を指定
②Promptを記載する(※)
③『RUN PROMPT』で小レコードでまわして確認する
④『EXPORT AS RECIPE』をクリック→その後『実行』
image.png

(※)私はこのようなプロンプトを書いてみました

小説についての質問に回答し、その根拠となる部分を抜き出してください。
回答を"ground_truth"とし、根拠を"evidence"としてください。
回答はシンプルにしてください

出力形式は、以下の構造を持つJSON形式にしてください。
Outputは{"ground_truth":で始まる形式のみにしてください。

回答がわからない時は他の回答と同様に{"ground_truth":"わかりません" と返してください。

回答に関する注意点
- 参照元の小説から回答を導くこと.
- 数量で答える問題の回答には単位を付けること.
- 参照元に答えの手がかりが見つからないと判断される場合はその旨を「分かりません」と答えること.
- 質問自体に誤りがあると判断される場合は「質問誤り」と答えること.
- [質問データ](#質問データ)の問題に過不足なく回答すること.
- 各回答にはトークン数の上限があるので, 超えないようにすること. 今回の上限は**50**.


回答自体にはカンマ(,)を使わず句読点(、)を使ってください。またスペースも含めないでください。

9. データ整形

準備レシピでデータ整形をしあす。
image.png

このように列が分割されます。
image.png

余計な列を削除します。
uploading...0

10. CSVダウンロード

整形したデータをCSV形式でダウンロードします。
image.png

さいごに

エラーがでてきたらその対処法をLLMに聞いて進めてみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?