IndieML Substance API について
IndieML Substance APIは、大量のテキストを扱うチーム向けに、内容の充実度、深さ、明瞭さを評価します。REST、Python、Node.jsのインターフェースに加え、エージェント連携用のMCPエンドポイントを備えています。
主な機能
- 01単一テキストのスコアリング
- 02最大100件のテキストを一括評価
- 03REST API、Python・Node.js SDK
- 04ホスト型MCPエンドポイント
活用シーン
- 01受信した問い合わせや報告の振り分け
- 02フォームで不足情報の入力を促す
- 03埋め込み処理の前に低価値テキストを除外
- 04フィードバックの順位付けやテキストデータセットの整理
MCP 対応
ホスト型のSubstance APIは、APIキーを使って https://indieml.app/mcp/ からMCPクライアントに提供されます。stdioが必要なクライアントはmcp-remoteブリッジ経由で接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://indieml.app/mcp/claude mcp add --transport http ezchx-indieml https://indieml.app/mcp/{"mcpServers":{"ezchx-indieml":{"type":"http","url":"https://indieml.app/mcp/"}}}Cursor で開く{"servers":{"ezchx-indieml":{"type":"http","url":"https://indieml.app/mcp/"}}}VS Code で開く{"mcpServers":{"ezchx-indieml":{"type":"http","url":"https://indieml.app/mcp/"}}}{"mcpServers":{"ezchx-indieml":{"serverUrl":"https://indieml.app/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://indieml.app/mcp/認証が必要ツール
詳細
IndieML - Substance API
軽量なトランスフォーマーベースの API です。25ms 未満でテキストの内容の充実度、深さ、明瞭さを評価し、本格的な LLM の精度の 87%を実現します。 このパッケージでは、ホスト型 Substance API をさまざまなアプリケーションにネイティブ接続するための REST API、Python SDK、MCP の設定方法を提供します。 API キーの申請など、詳しくはIndieMLをご覧ください。
REST API
Python および MCP のエコシステム以外との連携(標準的な OpenAI の関数呼び出し、カスタム AI スクリプト、生の HTTP リクエストなど)では、ホスト型エンドポイントが標準の JSON ペイロードリクエストを受け付けます。
単一評価
cURL
curl -X POST https://indieml.app/v1/score/substance \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{"input_text": "This is a test run."}'
Python
import requests
url = "https://indieml.app/v1/score/substance"
headers = {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"input_text": "This is a test run."
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Node.js
const response = await fetch('https://indieml.app/v1/score/substance', {
method: 'POST',
headers: {
'X-API-KEY': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
input_text: "This is a test run."
})
});
console.log(await response.json());
バッチ評価
リクエストごとに最大 100 個の文字列を処理します。
cURL
curl -X POST https://indieml.app/v1/score/substance/batch \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_texts": ["This is a test run.", "This is another test run."]
}'
Python
import requests
url = "https://indieml.app/v1/score/substance/batch"
headers = {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"input_texts": ["This is a test run.", "This is another test run."]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Node.js
const response = await fetch('https://indieml.app/v1/score/substance/batch', {
method: 'POST',
headers: {
'X-API-KEY': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
input_texts: ["This is a test run.", "This is another test run."]
})
});
console.log(await response.json());
Python SDK
インストール(Python 3.11 以降が必要です)
pip install indieml
使用方法
from indieml import Substance
# Initialize the API
api = Substance(api_key="YOUR_API_KEY_HERE")
# Single string
single_result = api.score("This is a test run.")
print(single_result)
# Array of strings
batch_result = api.score_batch([
"This is a test run.",
"This is another test run."
])
print(batch_result)
Node SDK
インストール
npm install indieml
使用方法(CommonJS)
const { IndieML } = require('indieml');
// Initialize the API
const api = new IndieML({ apiKey: 'YOUR_API_KEY_HERE' });
// Evaluate a single string
const singleResult = await api.score("This is a test run.");
console.log(singleResult);
// Evaluate an array of strings (automatically chunks into batches of 100)
const batchResult = await api.scoreBatch(["This is a test run.", "This is another test run."])
console.log(batchResult)
使用方法(ES Modules / TypeScript)
import { IndieML } from 'indieml';
// Initialize the API
const api = new IndieML({ apiKey: 'YOUR_API_KEY_HERE' });
// Evaluate a single string
const singleResult = await api.score("This is a test run.");
console.log(singleResult);
// Evaluate an array of strings (automatically chunks into batches of 100)
const batchResult = await api.scoreBatch(["This is a test run.", "This is another test run."])
console.log(batchResult)
MCP サーバーとの連携
クラウドネイティブな ASGI エンドポイントに接続することで、Substance API を AI コーディングアシスタントに統合できます。
Cursor、ChatGPT、Claude Code(Streamable HTTP)
ネイティブな Streamable HTTP / SSE 設定に対応するエージェントでは、リモート URL と認証ヘッダーを直接指定してください。
{
"mcpServers": {
"indieml": {
"type": "http",
"url": "https://indieml.app/mcp/",
"headers": {
"X-API-Key": "YOUR_API_KEY_HERE"
}
}
}
}
Claude Desktop(npx Bridge 経由の stdio)
stdio トランスポートが必要なローカルの Linux、Mac、Windows クライアントでは、npx mcp-remote ブリッジを使用してクラウドエンドポイントに接続します。Node.js v20 以降が必要です。OS の環境変数に INDIEML_API_KEY が含まれていることを確認してください。
{
"mcpServers": {
"indieml": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://indieml.app/mcp/",
"--header",
"X-Api-Key:${INDIEML_API_KEY}"
],
"env": {
"INDIEML_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
アプリケーションとユースケース
Substance API は、既存のフィルターと連携できる、高速で低コストな事前スクリーニングツールです。
あらゆるテキストの内容の充実度を評価できますが、大量のデータを扱う自動データパイプラインに特に適しています。
受信箱と受付のトリアージ
サポートチケット、共有メールボックス、リードフォーム、バグ報告を、人が開く前にスコアリングします。曖昧な一行メッセージには不足情報を自動で求め、詳細で実行可能なメッセージを優先表示します。API 呼び出し、メールヘッダー、または普段お使いのツールのラベルとして利用できます。
Salesforce 連携ガイド
Zendesk 連携ガイド
入力時のリアルタイムガイダンス
内容の乏しい投稿を入力元で検出します。フォーム、掲載情報、バグ報告ツールに IndieML を追加し、入力中に不足している内容をユーザーに促します。フォローアップを追いかけなくても、チームは最初から完全で使える入力を受け取れます。
フィードバックとレビューのトリアージ
「素晴らしいアプリ」や「壊れています」といったコメントと、有用な情報を切り分けます。アンケート回答、NPS コメント、アプリレビューを届いたそばからスコアリングし、詳細で再現可能なフィードバックを Jira、Linear、Slack に振り分け、一般的なノイズを排除します。
LLM コンテキストと RAG のフィルタリング
ノイズにトークンを費やすのをやめましょう。スクレイピングしたページ、ツールの出力、ドキュメントのチャンクを事前にフィルタリングし、埋め込みモデルやプロンプトに届く前にメニュー、定型文、内容のないテキストを取り除きます。コストを抑え、呼び出しを高速化し、回答の質を向上させます。
データセットのキュレーション
LLM-as-a-judge に費用をかけずに、大量のテキストコレクションをランク付けしてフィルタリングします。内容の充実したテキストを残して空疎な内容を取り除くことで、ファインチューニング用データセットの構築、スクレイピングしたコーパスの整理、評価用データセットの作成を、バッチ処理で大規模に行えます。
コンテンツと出力の品質
コミュニティやフィードから、内容の充実した回答、コメント、レビューを見つけ出します。または、CI や本番環境でチャットボットやエージェントの回答に冗長な内容がないか監視します。深さが重要なあらゆるテキストを、一貫したスコアで評価します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。