About apps and data stores

This page describes Agentspace Enterprise apps and data stores.

With Agentspace Enterprise, you create an app and connect it to a data store. A given Google Cloud project can contain multiple apps.

Key terms:

  • App: An Agentspace Enterprise app is an entity that delivers search results to your end users and if Agentspace Enterprise Plus is enabled, an app also offers assistant and agent capabilities. The term app can be used interchangeably with the term engine in the context of APIs.

  • Data store: A data store is an entity that contains the data ingested from a first-party data source such as Cloud Storage or third-party applications such as Jira or Salesforce. Data stores that contain data from third-party applications are also called data connectors.

Relationship between apps and data stores

An app must be connected to a data store in order to use the data from it to serve search results, answers, or actions.

Apps have a many-to-many relationship with data stores. When multiple data stores are connected to a single app, this is referred to as blended search. For information about limitations of connecting a search app to more than one data store, see About blended search.

Method of app creation and data ingestion

How you create an app and ingest data depends on the type of data you have:

  • For third-party data, you use the Google Cloud console, not the API, to create your app and ingest data.

  • For other data, you can use either the Google Cloud console or the API.

Documents

Each data store has one or more data records, called documents. What a document represents varies depending on the type of data in the data store:

  • Data for third-party data sources. A document is an entity specific to the third-party data source, such as a Jira issue or Confluence space.

  • Structured data. A document is a row in a table or a JSON record that follows a particular schema. You can provide this schema yourself or you can let Agentspace Enterprise derive the schema from the ingested data.

  • Unstructured data. A document is a file in HTML, PDF with embedded text, or TXT format. PPTX and DOCX formats are available in Preview.

Data stores and apps

In Agentspace Enterprise, there are various kinds of data stores. A data store can contain only one type of data.

Structured data for third-party data stores

The following third-party data source connectors are available in Preview with allowlist:

  • Confluence
  • Jira
  • Salesforce
  • Sharepoint Online
  • Slack

Data from these third parties is considered structured data.

When you set up a new connector, you select a synchronization frequency. You also select which entities to sync. Entities vary depending on the source, such as issues for Jira and content and spaces for Confluence. A unique data store is created for each entity. Entity data stores are grouped by connector instance.

What's next

Structured data

A data store with structured data enables semantic search or recommendations over structured data. You can import data from BigQuery or Cloud Storage. You can also manually upload structured JSON data through the API.

For example, you can enable search or recommendations over a product catalog for your ecommerce experience or a directory of doctors for provider search or recommendations.

Agentspace Enterprise auto-detects the schema from the data that you import. Optionally, you can provide a schema for your data. Providing a schema for your data typically improves the quality of results.

What's next

Unstructured data

An unstructured data store enables semantic search or recommendations over data such as documents and images.

Unstructured data stores support documents in HTML, PDF with embedded text, and TXT format. PPTX and DOCX formats are available in Preview.

Search provides results in the form of 10 URLs and summarized answers for natural language queries. Documents must be uploaded to a Cloud Storage bucket with appropriate access permissions. For example, a financial institution can enable search or recommendations over their private corpus of financial research publications, or a biotech company can enable search or recommendations over their private repository of medical research.

What's next

About blended search

With blended search, multiple data stores can be connected to a single app. This lets the app search across multiple sources and types of data.

To make a blended search app, select multiple data stores when creating a new app. If you don't select multiple data stores during creation, then you can't add additional data stores later.

When getting search results, you can either search across all data stores, or filter for results from a single data store.

Blended search has the following limitations:

  • Adding and removing data stores:
    • To turn on blended search for an app, you must connect at least two data stores to it during app creation.
    • You can add or remove data stores from a blended search app, but the app can't have fewer than two data stores connected to it at any time.
    • If you connect a single data store to a search app during app creation, then you can't add or remove that data store.
  • Data stores that contain unstructured data imported using BigQuery are not supported.
  • Blended search allows the following fields in search requests:
    • query
    • pageSize
    • offset
    • dataStoreSpecs
    • pageToken
    • filter
    • spellCorrectionSpec
    • session
    • contentSearchSpec
      • summarySpec
      • extractiveContentSpec
      • searchResultMode
      • chunkSpec
  • In addition to the fields listed previously, the following fields are supported for blended search apps only when search requests are filtered to get results from a single data store. They aren't supported when getting results from more than one data store:
    • facetSpec
  • Blended search allows the following fields in dataStoreSpecs:
    • boostSpec
    • filter: If there are filters specified for both SearchRequest and dataStoreSpecs, both filters are applied to search results
  • Create, Read, Update, and Delete (CRUD) operations on serving configs are supported for blended apps. Only the following fields can be added or updated in a serving config:
    • name
    • displayName
    • solutionType
    • genericConfig:
      • contentSearchSpec:
        • summarySpec
        • extractiveContentSpec
        • searchResultMode
        • chunkSpec
    • boostControlIds
    • synonymsControlIds
    • onewaySynonymsControlIds
  • CRUD operations on the following controls are supported for blended search apps:
    • boostAction
    • synonymACtion
  • Blended search apps don't support the following features:
    • Filter, redirect, ignore, replacement, and dissociate serving controls
    • Snippets using contentSearchSpec.snippetSpewebsc in either search requests or serving configs
    • Search with follow-ups