A class for managing chat message history using Xata.io client. It extends the BaseListChatMessageHistory class and provides methods to get, add, and clear messages. It also ensures the existence of a table where the chat messages are stored.
const chatHistory = new XataChatMessageHistory({ table: "messages", sessionId: new Date().toISOString(), client: new BaseClient({ databaseURL: process.env.XATA_DB_URL, apiKey: process.env.XATA_API_KEY, branch: "main", }), apiKey: process.env.XATA_API_KEY,});const chain = new ConversationChain({ llm: new ChatOpenAI(), memory: new BufferMemory({ chatHistory }),});const response = await chain.invoke({ input: "What did I just say my name was?",});console.log({ response }); Copy
const chatHistory = new XataChatMessageHistory({ table: "messages", sessionId: new Date().toISOString(), client: new BaseClient({ databaseURL: process.env.XATA_DB_URL, apiKey: process.env.XATA_API_KEY, branch: "main", }), apiKey: process.env.XATA_API_KEY,});const chain = new ConversationChain({ llm: new ChatOpenAI(), memory: new BufferMemory({ chatHistory }),});const response = await chain.invoke({ input: "What did I just say my name was?",});console.log({ response });
Adds a new message to the database.
The BaseMessage instance to be added.
A promise that resolves when the message has been added.
Deletes all messages associated with the session ID.
A promise that resolves when the messages have been deleted.
Retrieves all messages associated with the session ID, ordered by creation time.
A promise that resolves to an array of BaseMessage instances.
A class for managing chat message history using Xata.io client. It extends the BaseListChatMessageHistory class and provides methods to get, add, and clear messages. It also ensures the existence of a table where the chat messages are stored.
Example