UNPKG

@mem0/vercel-ai-provider

Version:

Vercel AI Provider for providing memory to LLMs

93 lines (86 loc) 4.11 kB
import { ProviderV3, LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult, LanguageModelV3Prompt } from '@ai-sdk/provider'; import { OpenAIProviderSettings } from '@ai-sdk/openai'; import { AnthropicProviderSettings } from '@ai-sdk/anthropic'; import { CohereProviderSettings } from '@ai-sdk/cohere'; import { GroqProviderSettings } from '@ai-sdk/groq'; import { GoogleGenerativeAIProviderSettings } from '@ai-sdk/google'; interface Mem0Provider extends ProviderV3 { (modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): LanguageModelV3; chat(modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): LanguageModelV3; completion(modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): LanguageModelV3; languageModel(modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): LanguageModelV3; } interface Mem0ProviderSettings { baseURL?: string; /** * Custom fetch implementation. You can use it as a middleware to intercept * requests or to provide a custom fetch implementation for e.g. testing */ fetch?: typeof fetch; /** * Custom headers to include in the requests. */ headers?: Record<string, string | undefined>; name?: string; mem0ApiKey?: string; apiKey?: string; provider?: string; modelType?: "completion" | "chat"; mem0Config?: Mem0Config; /** * The configuration for the provider. */ config?: LLMProviderSettings; } declare function createMem0(options?: Mem0ProviderSettings): Mem0Provider; declare const mem0: Mem0Provider; type Mem0ChatModelId = (string & NonNullable<unknown>); interface Mem0ConfigSettings { user_id?: string; app_id?: string; agent_id?: string; run_id?: string; metadata?: Record<string, any>; filters?: Record<string, any>; infer?: boolean; page?: number; page_size?: number; mem0ApiKey?: string; top_k?: number; threshold?: number; rerank?: boolean; host?: string; } interface Mem0ChatConfig extends Mem0ConfigSettings, Mem0ProviderSettings { } type LLMProviderSettings = OpenAIProviderSettings | AnthropicProviderSettings | CohereProviderSettings | GroqProviderSettings | GoogleGenerativeAIProviderSettings; interface Mem0Config extends Mem0ConfigSettings { } interface Mem0ChatSettings extends Mem0ConfigSettings { } declare class Mem0GenericLanguageModel implements LanguageModelV3 { readonly modelId: Mem0ChatModelId; readonly settings: Mem0ChatSettings; readonly config: Mem0ChatConfig; readonly provider_config?: Mem0ProviderSettings | undefined; readonly specificationVersion = "v3"; readonly supportedUrls: Record<string, RegExp[]>; constructor(modelId: Mem0ChatModelId, settings: Mem0ChatSettings, config: Mem0ChatConfig, provider_config?: Mem0ProviderSettings | undefined); provider: string; private processMemories; doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>; doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>; } declare class Mem0 { readonly baseURL: string; readonly headers?: any; constructor(options?: Mem0ProviderSettings); private get baseConfig(); chat(modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): Mem0GenericLanguageModel; completion(modelId: Mem0ChatModelId, settings?: Mem0ChatSettings): Mem0GenericLanguageModel; } declare const addMemories: (messages: LanguageModelV3Prompt, config?: Mem0ConfigSettings) => Promise<any>; declare const retrieveMemories: (prompt: LanguageModelV3Prompt | string, config?: Mem0ConfigSettings) => Promise<string>; declare const getMemories: (prompt: LanguageModelV3Prompt | string, config?: Mem0ConfigSettings) => Promise<any>; declare const searchMemories: (prompt: LanguageModelV3Prompt | string, config?: Mem0ConfigSettings) => Promise<any>; export { Mem0, type Mem0ChatConfig, type Mem0ChatSettings, type Mem0ConfigSettings, type Mem0Provider, type Mem0ProviderSettings, addMemories, createMem0, getMemories, mem0, retrieveMemories, searchMemories };