The LLM to use
The retriever to use for retrieving stored thoughts and insights.
Optional
memoryThis method breaks down the chat history into chunks of messages. Each chunk consists of a sequence of messages ending with an AI message and the subsequent user response, if any.
The chat history to be chunked.
An array of message chunks. Each chunk includes a sequence of messages and the subsequent user response.
The method iterates over the chat history and pushes each message into a temporary array. When it encounters an AI message, it checks for a subsequent user message. If a user message is found, it is considered as the user response to the AI message. If no user message is found after the AI message, the user response is undefined. The method then pushes the chunk (sequence of messages and user response) into the result array. This process continues until all messages in the chat history have been processed.
Return a json-like object representing this chain.
Static
deserializeLoad a chain from a json-like object describing it.
Static
fromLLMStatic method that creates a ViolationOfExpectationsChain instance from a ChatOpenAI and retriever. It also accepts optional options to customize the chain.
The ChatOpenAI instance.
The retriever used for similarity search.
Optional
options: Partial<Omit<ViolationOfExpectationsChainInput, "llm" | "retriever">>Optional options to customize the chain.
A new instance of ViolationOfExpectationsChain.
Chain that generates key insights/facts of a user based on a a chat conversation with an AI.