Unbody
Unbody (Unbody Labs) · コーディング · その他
Unbody はコンテンツを取り込み、加工し、ベクトル化したうえで、単一の GraphQL API からセマンティック検索、チャットボット、生成回答として提供するAIネイティブバックエンドだ。

Unbody について
About
Unbody とは何か
Unbody は、AI 機能を自前で組み立てずに済ませたい開発チーム向けのバックエンドだ。データソースを接続し、いくつかの加工処理を選び、結果をひとつの GraphQL エンドポイントから問い合わせる。RAGバックエンドとチャットボットバックエンドを同じ箱に詰めた形で、ベクトルデータベース、埋め込みサービス、LLM のラッパー、ジョブキューを別々に同期する必要はなかった。
設計は四つの層に分かれる。知覚層が取り込み、解析、加工、ベクトル化を担う。記憶層が生成されたオブジェクトとベクトルを保存する。推論層がモデル呼び出しとプロンプトを実行する。行動層が API と SDK で外に出す。接続済みのコネクタは Google Drive、Discord、GitHub をカバーし、それ以外は Push API に自前のスキーマを渡せば受け付ける。加工ツールは索引を作る前に要約、キーワード、画像キャプション、OCR テキスト、クロール済みページを付加する。
機能より重い事実がひとつある。Unbody はもう開発されていない。GitHub リポジトリはアーカイブされ、app.unbody.io のホスト版は読み込めず、ドキュメントのドメインはエラーを返す。チームは Unbody Labs として別のメモリフレームワーク Adapt を作っている。このページは、かつて何ができたかの記録であり、自分で動かす場合のコード案内でもある。コードはアルファ段階のままで、修正は誰も出していない。
はじめかた
- Node.js 20 か 22、Docker、Docker Compose、yarn を用意する。unbody-io/unbody リポジトリを複製し、yarn で依存関係を入れる。
- .env.example を .env.local にコピーし、OpenAI の API キーを書く。埋め込みと生成エンドポイントはこのキーで動く。
- docker compose up で周辺サービスを起動し、yarn start を実行する。索引処理は Temporal を通り、管理画面は 8233 番ポートに出る。
- プロジェクトを作り、unbody-cli source add でデータソースを追加する。最初のファイルが解析、加工、ベクトル化を通る様子を追える。
- GraphQL API か TypeScript SDK から問い合わせる。SDK は検索、取得、生成の呼び出しを連結できるクライアントにまとめる。
AIツール情報
Unbodyの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- 既存製品に検索やチャットを足すバックエンド開発者
- 機械学習エンジニアのいない小さなプロダクトチーム
- 内容がすでに Google Drive、Discord、GitHub にあるチーム
タスク
- 文書の山を検索できるナレッジベースに変える
- サイトに文書チャットボットを足す
- 要約とタグ付けをまとめて行う
- 意味や見た目の類似を試す
シーン
- 自前で作る前に AI ネイティブバックエンドを評価する
- 古いプロジェクトを動かし続ける
- RAG の流れを教える、見せる
主な機能
単一の GraphQL コンテンツ API
保存されたものはすべてひとつの GraphQL エンドポイントから引ける。ナレッジベースAPIとセマンティック検索APIの役目を兼ね、絞り込み、並べ替え、ページ送り、入れ子のオブジェクトを同じ問い合わせで扱う。必要な項目を指定すれば、生成した要約やキーワードを含む加工済みレコードが返る。画像と動画には別のエンドポイントがあり、管理 API は管理画面を開かずにプロジェクトとソースを操作する。
既製コネクタと Push API
Google Drive、Discord、GitHub には統合が用意されている。それぞれフォルダやチャンネルといった入口を決め、決めた間隔で内容を取り込む。それ以外は Push API に任せる。自前のスキーマでレコードを受け取れ、社内データベース、書き出したアーカイブ、独自フィードを扱える。この組み合わせで、知識を扱う製品の立ち上げに専用 ETL は要らなかった。
加工パイプライン
索引の前に、設定可能なパイプラインが内容を解析し、加工ツールを順に当てる。AutoSummary は短い要約を書き、AutoKeywords は重要な語を抜き、AutoVision は画像キャプション、OCR による文字抽出、オブジェクトのタグ付けを担う。クローラはウェブページを構造化レコードに変える。パイプラインは管理画面か管理 API で組み、標準の道具で足りなければ独自プラグインを登録できる。
五つの検索モード
API はセマンティック検索、キーワード検索、ハイブリッド検索に加え、レコード類似と視覚類似の二つを備える。セマンティック検索は意味で照合するため、利用者の言い方が文書と一致しないときに効く。キーワード検索は正確な語で安定する。ハイブリッドは両方を混ぜる。視覚類似は画像ベクトルで動き、商品写真から似た品をカタログ内で探せる。
生成検索と JSON 出力
取得の上に二つの生成モードが乗る。From One は各オブジェクトにプロンプトを送り、項目の値を文中に差し込める。From Many は複数のオブジェクトからひとつの結果を作り、要約や比較に向く。別のモードはスキーマで検証した構造化 JSON を返す。文章ではなく項目の抽出に向く。モデルはプラグインで選ぶため、バックエンドは一社に縛られない。
TypeScript SDK と画面部品
TypeScript SDK は GraphQL 呼び出しを連結式のクライアントに変える。集合を取り、絞り込み、検索し、項目を選び、生成する。Next.js、Nuxt、NestJS、Express の雛形があり、画面層には React と Vue の部品がそろう。どれもホスト型サービスに縛られない。同じ SDK がローカルの実体を向く。
メリットとデメリット
メリット
- 取り込み、加工、ベクトル化、検索、生成をひとつの API が担い、分断されたサービスの山を減らせる。
- コードは Apache 2.0 で公開され、実装を読み、フォークし、自分のハードウェアで動かせる。
- Google Drive、Discord、GitHub の既製コネクタのおかげで、最初の動作デモは半日で形になる。
- 加工がパイプライン内で済むため、要約、キーワード、画像タグが最初の問い合わせの前にそろう。
- TypeScript SDK と雛形が、手で書く GraphQL の量を減らす。
デメリット
- リポジトリはアーカイブされ、ホスト版は停止している。セキュリティ修正もバグ修正もサポート窓口もない。
- ドキュメントのサイトは名前解決できず、導入の詳細はコード、README、古いブログ記事から拾うしかない。
- 当時はアルファ版だった。API は版ごとに変わり、未完成のプラグインもあった。
- 自己ホストには Docker、Node、Temporal のワーカー、OpenAI のキーが要る。誰も保守しない構成を追いかける根気も要る。
よくある質問
AI 機能のためのバックエンドだ。Google Drive や Discord から内容を取り込み、要約やメタデータを付け、ベクトルを保存し、GraphQL API で結果を返した。用途はセマンティック検索、文書チャットボット、生成回答だった。
関連コンテンツ
Unbodyに関連するツール、スキル、記事を探す。
Unbodyの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
