feat: add remote config overrides to memorySearch
This commit is contained in:
committed by
Peter Steinberger
parent
4086408b10
commit
ba316a10cc
@@ -20,6 +20,11 @@ export type EmbeddingProviderOptions = {
|
||||
config: ClawdbotConfig;
|
||||
agentDir?: string;
|
||||
provider: "openai" | "local";
|
||||
remote?: {
|
||||
baseUrl?: string;
|
||||
apiKey?: string;
|
||||
headers?: Record<string, string>;
|
||||
};
|
||||
model: string;
|
||||
fallback: "openai" | "none";
|
||||
local?: {
|
||||
@@ -42,16 +47,23 @@ function normalizeOpenAiModel(model: string): string {
|
||||
async function createOpenAiEmbeddingProvider(
|
||||
options: EmbeddingProviderOptions,
|
||||
): Promise<EmbeddingProvider> {
|
||||
const { apiKey } = await resolveApiKeyForProvider({
|
||||
provider: "openai",
|
||||
cfg: options.config,
|
||||
agentDir: options.agentDir,
|
||||
});
|
||||
const remote = options.config.agents?.defaults?.memorySearch?.remote;
|
||||
|
||||
const { apiKey } = remote?.apiKey
|
||||
? { apiKey: remote.apiKey }
|
||||
: await resolveApiKeyForProvider({
|
||||
provider: "openai",
|
||||
cfg: options.config,
|
||||
agentDir: options.agentDir,
|
||||
});
|
||||
|
||||
const providerConfig = options.config.models?.providers?.openai;
|
||||
const baseUrl = providerConfig?.baseUrl?.trim() || DEFAULT_OPENAI_BASE_URL;
|
||||
const baseUrl =
|
||||
remote?.baseUrl?.trim() ||
|
||||
providerConfig?.baseUrl?.trim() ||
|
||||
DEFAULT_OPENAI_BASE_URL;
|
||||
const url = `${baseUrl.replace(/\/$/, "")}/embeddings`;
|
||||
const headerOverrides = providerConfig?.headers ?? {};
|
||||
const headerOverrides = remote?.headers ?? providerConfig?.headers ?? {};
|
||||
const headers: Record<string, string> = {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${apiKey}`,
|
||||
|
||||
@@ -88,6 +88,7 @@ export class MemoryIndexManager {
|
||||
config: cfg,
|
||||
agentDir: resolveAgentDir(cfg, agentId),
|
||||
provider: settings.provider,
|
||||
remote: settings.remote,
|
||||
model: settings.model,
|
||||
fallback: settings.fallback,
|
||||
local: settings.local,
|
||||
|
||||
Reference in New Issue
Block a user