Files
t6_mem0/vercel-ai-sdk/src/mem0-facade.ts
2025-03-26 10:30:44 +05:30

42 lines
1.1 KiB
TypeScript

import { withoutTrailingSlash } from '@ai-sdk/provider-utils'
import { Mem0GenericLanguageModel } from './mem0-generic-language-model'
import { Mem0ChatModelId, Mem0ChatSettings } from './mem0-types'
import { Mem0ProviderSettings } from './mem0-provider'
export class Mem0 {
readonly baseURL: string
readonly headers?: any
constructor(options: Mem0ProviderSettings = {
provider: 'openai',
}) {
this.baseURL =
withoutTrailingSlash(options.baseURL) ?? 'http://127.0.0.1:11434/api'
this.headers = options.headers
}
private get baseConfig() {
return {
baseURL: this.baseURL,
headers: this.headers,
}
}
chat(modelId: Mem0ChatModelId, settings: Mem0ChatSettings = {}) {
return new Mem0GenericLanguageModel(modelId, settings, {
provider: 'openai',
modelType: 'chat',
...this.baseConfig,
})
}
completion(modelId: Mem0ChatModelId, settings: Mem0ChatSettings = {}) {
return new Mem0GenericLanguageModel(modelId, settings, {
provider: 'openai',
modelType: 'completion',
...this.baseConfig,
})
}
}