feed
文章または会話からファクトを抽出して保存します。REST専用で、MCPに feed ツールはありません。
POST/v1/feed
content と messages のいずれかを送信します。両方ある場合は content が優先されます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
content | string | いいえ | 元の文章。最大5,000バイト。 |
messages | Message[] | いいえ | 会話の配列。最大20件。各メッセージにはrole(user、assistant、system)とcontentが必要です。 |
source | string | いいえ | 抽出したファクトのラベル。最大255文字。 |
collection | string | いいえ | コレクションコード。省略するか "" を渡すとデフォルト領域を使います。 |
reason | boolean | いいえ | デフォルトはfalseで、1回抽出して保存します。trueではエージェントが既存のグラフを検索し、長く役立つファクトを選び、type:idの名前空間を付け、略語を正規化し、重複を省きます。内部のremember/recall呼び出しは、reasonの基本コストに加えてクレジットを消費します。 |
リクエスト:文章
{
"content": "Maya works at Acme and writes TypeScript.",
"source": "onboarding-conversation"
}
リクエスト:会話
{
"messages": [
{ "role": "user", "content": "I work at Acme as a backend engineer" },
{ "role": "assistant", "content": "What stack?" },
{ "role": "user", "content": "Mostly Go and PostgreSQL" }
],
"source": "onboarding_chat"
}
リクエスト:推論を有効化
{
"content": "Maya works at Acme and writes TypeScript.",
"source": "onboarding-conversation",
"reason": true
}
SDKでの呼び出し例:
await memory.feedWithOptions({
content: "Maya works at Acme and writes TypeScript.",
source: "onboarding-conversation",
reason: true,
});
memory.FeedWithOptions(ctx, gomind.FeedRequest{
Content: "Maya works at Acme and writes TypeScript.",
Source: "onboarding-conversation",
Reason: true,
})
$memory->feed(
'Maya works at Acme and writes TypeScript.',
'onboarding-conversation',
null,
true
);
応答
{
"status": "completed",
"facts_extracted": 3,
"facts_created": 3,
"facts": []
}
すでに三つ組がある場合はfeedを使わず、remember_manyを呼び出してください。