ZepVectorStore is a VectorStore implementation that uses the Zep long-term memory store as a backend.

If the collection does not exist, it will be created automatically.

Requires zep-js to be installed:

npm install @getzep/zep-js

Hierarchy

Constructors

Properties

FilterType: string | object
client: default

The ZepClient instance used to interact with Zep's API.

collection: default

The Zep document collection.

embeddings: Embeddings

Methods

  • Adds documents to the collection. The documents are first embedded into vectors using the provided embedding model.

    Parameters

    • documents: Document<Record<string, any>>[]

      The documents to add.

    Returns Promise<string[]>

    • A promise that resolves with the UUIDs of the added documents.
  • Adds vectors and corresponding documents to the collection.

    Parameters

    • vectors: number[][]

      The vectors to add.

    • documents: Document<Record<string, any>>[]

      The corresponding documents to add.

    Returns Promise<string[]>

    • A promise that resolves with the UUIDs of the added documents.
  • Deletes documents from the collection.

    Parameters

    Returns Promise<void>

  • Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.

    Parameters

    Returns Promise<Document<Record<string, any>>[]>

    • List of documents selected by maximal marginal relevance.
  • Performs a similarity search on the Zep collection.

    Parameters

    • query: string

      The query string to search for.

    • Optional k: number

      The number of results to return. Defaults to 4.

    • Optional filter: string | object

      An optional set of JSONPath filters to apply to the search.

    • Optional _callbacks: Callbacks

      Optional callbacks. Currently not implemented.

    Returns Promise<Document<Record<string, any>>[]>

    • A promise that resolves to an array of Documents that are similar to the query.

    Async

  • Performs a similarity search in the collection and returns the results with their scores.

    Parameters

    • query: number[]

      The query vector.

    • k: number

      The number of results to return.

    • Optional filter: Record<string, unknown>

      The filter to apply to the search. Zep only supports Record<string, unknown> as filter.

    Returns Promise<[Document<Record<string, any>>, number][]>

    • A promise that resolves with the search results and their scores.
  • Parameters

    • query: string
    • Optional k: number
    • Optional filter: Record<string, unknown>
    • Optional _callbacks: undefined

    Returns Promise<[Document<Record<string, any>>, number][]>

  • Creates a new ZepVectorStore instance from an array of Documents. Each Document is added to a Zep collection.

    Parameters

    • docs: Document<Record<string, any>>[]

      The Documents to add.

    • embeddings: Embeddings

      The embeddings to use for vectorizing the Document contents.

    • zepConfig: IZepConfig

      The configuration object for the Zep API.

    Returns Promise<ZepVectorStore>

    • A promise that resolves with the new ZepVectorStore instance.
  • Creates a new ZepVectorStore instance from an array of texts. Each text is converted into a Document and added to the collection.

    Parameters

    • texts: string[]

      The texts to convert into Documents.

    • metadatas: object | object[]

      The metadata to associate with each Document. If an array is provided, each element is associated with the corresponding Document. If an object is provided, it is associated with all Documents.

    • embeddings: Embeddings

      The embeddings to use for vectorizing the texts.

    • zepConfig: IZepConfig

      The configuration object for the Zep API.

    Returns Promise<ZepVectorStore>

    • A promise that resolves with the new ZepVectorStore instance.

Generated using TypeDoc