t_wの輪郭

Feedlyでフォローするボタン
ベクトルDB
LambdaでLanceDBを動かす[Failed]大規模言語モデルで自分専用の税理士を作ってみる

この試みはめんどくさくなって途中で放棄された。
この文書に基づいて行動した結果、何らかの損害が生じたとしても、筆者は責任を取らない。
この文書に基づいて行動する前に「Librahack」について調べることを強く推奨する。


この文書について

この文書の目的

作業ログ

この文書の想定読者

JavaScriptが使えるITエンジニア
いつかやる気が出たときの私


方針

  1. go.jpドメインに限定して確定申告についてGoogle検索し、確定申告関連の情報が載ったファイルを取得する
  2. OpenAIのAssistantsに確定申告の情報が載ったファイルを食わせる
  3. Assistantsのプロンプトをチューニングする

go.jpドメインに限定してGoogle検索し、確定申告関連の情報が載ったファイルを取得する

  1. 「確定申告 site:go.jp」でGoogle検索する
  2. 検索結果からURLを抽出する
  3. 検索結果のURLからファイルをダウンロードする

「確定申告 site:go.jp」でGoogle検索する

Do it!!

検索結果からURLを抽出する

下記スクリプトをGoogle検索したページで開発者コンソールを開いて実行

$$(`a`)
  .map(a=>a.href)
  .filter(href=>href)
  .filter(href=>!/google/.test(href))

結果→Google検索で得られた、確定申告について情報が載っているサイトのURLの配列


検索結果のURLからファイルをダウンロードする

go.jpをクロールするスクリプト


OpenAIのAssistantsに確定申告の情報が載ったファイルを食わせる

400個ぐらいのファイルをアップロードしようとしたらエラーが出た。←いまここ


Note

OpenAIのウェブUIからAssistantsに大量にファイルをアップロードできないので、頑張ってRAGを実装する必要がある。ベクトルDBを用意し、PDFとHTMLから文字列を抽出し、文字列をチャンクに分け、文字列のEmbeddingを計算し、ベクトルDBに格納し、クエリでベクトル検索し、検索結果をLLMと融合させる必要がある。はぁ~めんどくさ。

LanceDBを使えばベクトルDB部分はLambdaで動かせるかもしれない。そうなれば、Agents for Amazon BedrockでLambdaと連携させればイケそう。

大規模言語モデルを動かせる強いGPUを持っているなら、LangChainとかいうのを使っても良い。LanceDBと連携させられる。