Users

Hyperspell is a multi-tenant platform, and you can have multiple users in your app. You don’t have to explicitly create users in Hyperspell — you simply pass the user id from your own database or authentication provider to Hyperspell. As we’ll learn in the authentication section, Hyperspell lets you generate user tokens that are specific to a user and can be used to query data from Hyperspell for that user only. However, you can also use an app token and not associate data with a specific user.

Integrations and Data Sources

Hyperspell lets your users connect their accounts to a variety of services and data sources. When your create an app, you can choose which integrations you want to enable. Every time you query hyperspell, you can mix and match different data sources.

Some data sources are available by default without requiring any additional configuration:

  • Collections searches files that have been manually added to Hyperspell.
  • Web Crawler retrieves relevant data from websites.

Queries

To retrieve data from your data sources, you can use the query API. Internally, there are two different ways of retrieving data:

Indexed searches

Indexed searches means that Hyperspell is continuously ingesting data from your data sources, processing it and creating a search index through different vector embeddings. When you run a query against these data sources, Hyperspell will only look in its own search index for the most relevant results.

Live searches

Live searches means that Hyperspell will directly query the data sources for the most relevant results. Since most data sources only support keyword searches and exact matches, Hyperspell will generate a number of different keyword queries and run them in parallel, and then combine and rerank the results.

Some integrations are only available for live searches, and some are only available for indexed searches. When available, Hyperspell will always pick indexed searches for better latency and accuracy. However, there are times when live searches are the preferred option, and you can choose which option you want to use in each query.

Documents and Structured Data

When we say documents, we really mean any data that you want to index and query. This can be anything from a single text file, an email, a slack channel, a CSV file, an image, or even a PDF or presentation. When you query Hyperspell, you can retrieve data both in structured formats for use in ie. your UI, and in an LLM-ready text representation.

Collections

Documents that you upload to Hyperspell with the API or SDK (as opposed to documents thate are ingested automatically from integrations) are assigned to a Collection. If you don’t specify a collection to add them to, they are always added to your user’s default collection. However, Collections are a powerful feature to organize your documents and query them as a group.

  1. Personal Collections: Most commonly, a collection is used to store documents for a single user.
  2. Topical Collections: These are collections that are relevant to a specific topic or only include a certain type of document, such as marketing materials, or legal documents.
  3. Special purpose collections: These are collections that are used for a specific purpose, for example, only documents relevant to a specific chat session.

By default, Collections are private to the user. In future versions of Hyperspell, you will be able to share collections across your users.