はじめまして、sonesuke( https://twitter.com/sonesuke ) です。 LLMのニュースを追っかけ続けたので、これからキャッチアップする人用にまとめておきます。
ここで、取り上げているものは、これから流行っていくアプリケーションというよりは、アーキテクチャとして参考になるものなので、ぜひコードレポジトリを見てみることをお勧めします。
アプリケーション
textSQL
自然言語からSQLに変換するというアプリケーション。フロントエンドはReact, バックエンドはFlask (Python)でできています。
自然言語のプロンプトから、まずテーブルを選択したのち、プロンプトをFew-shotで補強しながら、SQLを生成、実行していくというアーキテクチャをしています。いきなり、SQLに変換するのではなく、何段か噛ませることで出力を安定させています。
GPT4-pdf-chatbot-langchain
LangChain(LLMフーレムワーク), Pinecone(ベクトル検索), OpenAI(LLM), Next.js(フロントエンド)でできた、PDFドキュメントをベースに会話をできるシステムです。
ウォーレンバフェットAIで有名。
Tabby
Github copilotのOSS版を作ろうというプロジェクト。まだ、alpha版。
学習部分は、LoRAによるファインチューニングで、RLHFによる補正も行うみたいです。実際の補完をやってくれる部分は、単純にLLMによるコード生成みたいですね。動かすにはGPUが必要です。
ChatGeoPT
探している場所を質問すると、地図上でその場所を示してくれます。
中身的には、質問をGPT-3でOpenStreetMapのAPIに変換、それを叩いて地図表示という流れ。
200行のPythonでできていて、その中核がプロンプトというアプリケーション。LLM時代を感じます。
作者による開発ブログがこちら。
Paper-QA
PDFに対してユーザーが質問できるアプリケーション。イメージとしては論文自体と会話する感じです。埋め込みとLLMとしてOpenAI、ベクトル検索エンジンとしてFAISS、LangChainを使用しています。
- 事前にPDFをOpenAIで埋め込み表現 → ベクトル検索エンジン FAISSに突っ込む
- ユーザーからの質問を埋め込み表現にして、似たチャンクを検索。コンテキストに追加してLLM
Book-GPT
本に対してユーザーが質問できるというアプリケーション。考え方としては、上記のPaper-QAと同じ。完全Typescript製だったので、取り上げました。
フロントエンドとしてReact, 埋め込みとLLMはOpenAI, ベクトル検索エンジンとしてPinecone, LangChain(Typescript)を使用しています。
SiteGPT
厳密にはソースコードや設計を公開していないので正確なところはわからないのだけれど、先のPaper-QAやBook-GPTのPDF取り込み部分をWebクローラーにしたら作れるなーと。
Baby DORA
ドラえもんの萌芽がこんなところに・・・・・
というのはさておき、会話の履歴を、コンテキストに組み込むことで、会話を継続させています。OpenAIを生で使っているので、LLMは、davinci-003でしょうか・・・
Cheetah
面接中に音声文字起こしして、ChatGPTに聞くことで、リモート面接を有利に進めようというもの。冷静に考えると、これは応用例として、別に営業訪問でもよいですし、全く同じ技術で使い方次第で、邪悪な感じではなくなるアプリケーションです。音声文字起こしとしてWhisper.cppを使用しています。
Taxy AI
ブラウザの自動運転をするアプリケーション。
DOMから、入力フィールドやボタンを抽出し、LLMに操作手順計画を立てさせて、ページを遷移させていきます。新しいRPAのカタチが見えてきます。
逆瀬川さんの記事
最近作ったものを読んでいくだけで、「あ、そんなこともできるのか」と思えるほどの創作量。
いつも勉強させていただいています。
まとめ
いかがだったでしょうか?
私は、調査中、アプリケーションのバリエーションは色々あるものの、意外とアーキテクチャのバリエーションとしては、多くはないと思いました。もちろんこれから、どんどん、新しいものが出てくるとは思いますが、OSSライブラリ界隈などをウォッチしていくことでキャッチアップしていくことができそうです。