Connecting agents to data sources
Data sources allow you to load files into an agent’s archival memory. Agents’ archival memory is a set of Passage
objects, which consist of a chunk of text
and a corresponding embedding
. Data sources consist of a group of Passage
objects which can be copied into an agent’s archival memory.
Creating a data source
To create a data source, you will need to specify a unique name
as well as an EmbeddingConfig
:
Now that you’ve created the source, you can start loading data into the source.
Uploading a file into a data source
Uploading a file to a source will create an async job for processing the file, which will split the file into chunks and embed them.
Once the job is completed, you can list the files and the generated passages in the source:
Listing available data sources
You can view available data sources by listing them:
Connecting a data source to an agent
When you attach a data source to an agent, the passages in that data source will be copied into the agent’s archival memory. Note that if you load new data into your data source, it will not be copied into the agent’s archival memory unless you re-attach the data sources (detach then attach it again)
Attaching the data source
You can attach a source to an agent by specifying both the source and agent IDs:
Note that your agent and source must be configured with the same embedding model, to ensure that the agent is able to search accross a common embedding space for archival memory.
Detaching the data source
Detaching a data source will remove the passages in an agent’s archival memory that was loaded from that source: