Infinite Chat provides unlimited context for chat applications with automatic memory management.

Setup

import { streamText } from "ai"

const infiniteChat = createAnthropic({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.anthropic.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

const result = await streamText({
  model: infiniteChat("claude-3-sonnet"),
  messages: [
    { role: "user", content: "Hello! Remember that I love TypeScript." }
  ]
})

Provider Configuration

Named Providers

const infiniteChat = createOpenAI({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.openai.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

const result = await streamText({
  model: infiniteChat("gpt-4-turbo"),
  messages: [...]
})

Custom Provider URL

const infiniteChat = createOpenAI({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.openai.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

Example Usage

import { streamText } from "ai"

const infiniteChat = createOpenAI({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.openai.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

const result = await streamText({
  model: infiniteChat("gpt-4-turbo"),
  messages: [
    { role: "user", content: "What did we discuss yesterday?" }
  ]
})

return result.toAIStreamResponse()

Configuration Options

interface ConfigWithProviderName {
  providerName: 'openai' | 'anthropic' | 'openrouter' |
                'deepinfra' | 'groq' | 'google' | 'cloudflare'
  providerApiKey: string
  headers?: Record<string, string>
}

interface ConfigWithProviderUrl {
  providerUrl: string
  providerApiKey: string
  headers?: Record<string, string>
}

Custom Headers

Add user IDs, conversation IDs, or other metadata:
const infiniteChat = createOpenAI({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.openai.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

Comparison with Memory Tools

FeatureInfinite ChatMemory Tools
Memory ManagementAutomaticManual
Context HandlingAutomaticManual
Tool CallsNonesearchMemories, addMemory, fetchMemory
Best ForChat appsAI agents
Setup ComplexitySimpleModerate

Headers

Add user and conversation context:
const infiniteChat = createOpenAI({
  baseUrl: 'https://api.supermemory.ai/v3/https://api.openai.com/v1',
  apiKey: 'your-provider-api-key',
  headers: {
    'x-supermemory-api-key': 'supermemory-api-key',
    'x-sm-conversation-id': 'conversation-id'
  }
})

Comparison

FeatureInfinite ChatMemory Tools
Memory ManagementAutomaticManual
Context HandlingAutomaticManual
Tool CallsNonesearchMemories, addMemory, fetchMemory
Best ForChat appsAI agents

Next Steps