feat: enable batch indexing by default

This commit is contained in:
Peter Steinberger
2026-01-17 23:29:36 +00:00
parent 9de762faa2
commit b60a53e10d
6 changed files with 7 additions and 6 deletions

View File

@@ -6,6 +6,7 @@ Docs: https://docs.clawd.bot
### Changes ### Changes
- Memory: add OpenAI Batch API indexing for embeddings when configured. - Memory: add OpenAI Batch API indexing for embeddings when configured.
- Memory: enable OpenAI batch indexing by default for OpenAI embeddings.
### Fixes ### Fixes
- Memory: retry transient 5xx errors (Cloudflare) during embedding indexing. - Memory: retry transient 5xx errors (Cloudflare) during embedding indexing.

View File

@@ -109,7 +109,7 @@ If you don't want to set an API key, use `memorySearch.provider = "local"` or se
`memorySearch.fallback = "none"`. `memorySearch.fallback = "none"`.
Batch indexing (OpenAI only): Batch indexing (OpenAI only):
- Set `agents.defaults.memorySearch.remote.batch.enabled = true` to submit embeddings via the OpenAI Batch API. - Enabled by default for OpenAI embeddings. Set `agents.defaults.memorySearch.remote.batch.enabled = false` to disable.
- Default behavior waits for batch completion; tune `remote.batch.wait`, `remote.batch.pollIntervalMs`, and `remote.batch.timeoutMinutes` if needed. - Default behavior waits for batch completion; tune `remote.batch.wait`, `remote.batch.pollIntervalMs`, and `remote.batch.timeoutMinutes` if needed.
- Batch mode currently applies only when `memorySearch.provider = "openai"` and uses your OpenAI API key. - Batch mode currently applies only when `memorySearch.provider = "openai"` and uses your OpenAI API key.
@@ -123,7 +123,7 @@ agents: {
model: "text-embedding-3-small", model: "text-embedding-3-small",
fallback: "openai", fallback: "openai",
remote: { remote: {
batch: { enabled: true } batch: { enabled: false }
}, },
sync: { watch: true } sync: { watch: true }
} }

View File

@@ -98,7 +98,7 @@ describe("memory search config", () => {
apiKey: "default-key", apiKey: "default-key",
headers: { "X-Default": "on" }, headers: { "X-Default": "on" },
batch: { batch: {
enabled: false, enabled: true,
wait: true, wait: true,
pollIntervalMs: 5000, pollIntervalMs: 5000,
timeoutMinutes: 60, timeoutMinutes: 60,

View File

@@ -96,7 +96,7 @@ function mergeConfig(
const provider = overrides?.provider ?? defaults?.provider ?? "openai"; const provider = overrides?.provider ?? defaults?.provider ?? "openai";
const hasRemote = Boolean(defaults?.remote || overrides?.remote); const hasRemote = Boolean(defaults?.remote || overrides?.remote);
const batch = { const batch = {
enabled: overrides?.remote?.batch?.enabled ?? defaults?.remote?.batch?.enabled ?? false, enabled: overrides?.remote?.batch?.enabled ?? defaults?.remote?.batch?.enabled ?? true,
wait: overrides?.remote?.batch?.wait ?? defaults?.remote?.batch?.wait ?? true, wait: overrides?.remote?.batch?.wait ?? defaults?.remote?.batch?.wait ?? true,
pollIntervalMs: pollIntervalMs:
overrides?.remote?.batch?.pollIntervalMs ?? overrides?.remote?.batch?.pollIntervalMs ??

View File

@@ -367,7 +367,7 @@ const FIELD_HELP: Record<string, string> = {
"agents.defaults.memorySearch.remote.headers": "agents.defaults.memorySearch.remote.headers":
"Extra headers for remote embeddings (merged; remote overrides OpenAI headers).", "Extra headers for remote embeddings (merged; remote overrides OpenAI headers).",
"agents.defaults.memorySearch.remote.batch.enabled": "agents.defaults.memorySearch.remote.batch.enabled":
"Enable OpenAI Batch API for memory embeddings (default: false).", "Enable OpenAI Batch API for memory embeddings (default: true).",
"agents.defaults.memorySearch.remote.batch.wait": "agents.defaults.memorySearch.remote.batch.wait":
"Wait for OpenAI batch completion when indexing (default: true).", "Wait for OpenAI batch completion when indexing (default: true).",
"agents.defaults.memorySearch.remote.batch.pollIntervalMs": "agents.defaults.memorySearch.remote.batch.pollIntervalMs":

View File

@@ -159,7 +159,7 @@ export type MemorySearchConfig = {
apiKey?: string; apiKey?: string;
headers?: Record<string, string>; headers?: Record<string, string>;
batch?: { batch?: {
/** Enable OpenAI Batch API for embedding indexing (default: false). */ /** Enable OpenAI Batch API for embedding indexing (default: true). */
enabled?: boolean; enabled?: boolean;
/** Wait for batch completion (default: true). */ /** Wait for batch completion (default: true). */
wait?: boolean; wait?: boolean;