Skip to main content
All CollectionsKnowledge Base
What are Datasources and how do I use them?
What are Datasources and how do I use them?
Updated this week

Datasources in elvex are files or documents that can be uploaded to the platform and connected with Apps so the AI model your app is connected with can reference the contents of the document in its responses.

Creating a new Datasource

Click "Datasources" in the left navigation panel and then click the button to create a new Datasource.

Name: The Datasource name will help others find this resource to use for their own apps. The name will also help connected apps find and use the right Datasource for each requested task, so a descriptive name can improve performance.

Tag: Tags make it easier for you and others to find and share a Datasource. Company Admins are able to create and manage the list of selectable tags in their company settings. Datasource creators and editors are able to assign tags to a Datasource from the available list.

Description: It is recommended to include a detailed description of your Datasource to help you and others understand what's contained within. The description will also help connected apps find and use the right Datasource for each requested task, so a descriptive name can improve performance.

Adding Files: Click "Add Files" and then choose to upload files from your computer or import files from an available Data Connector (like Google Drive, Dropbox, or Microsoft OneDrive).

What file types are supported?

As of July 18, 2024, supported formats include: csv, doc, docx, htm, html, jsonl, md, pdf, ppt, pptx, rtf, txt, xls, xlsx.

If you have a file or document in a currently unsupported format that you'd like to use as a datasource, convert it to one of the supported formats.

Please note that converting files from one type to another may not expose all of the content or data in the original file. For example, when converting a Google Slides presentation to a pdf file, the speaker notes will not be viewable in the pdf file by default. However, if you convert the Google Slides presentation to a txt file, the speaker notes will be available in the file. If there is important data in the speaker notes, it will be important to ensure that data is included in the file you upload so the AI can access it and reference it in its responses.

For files that contain images, elvex uses OCR (Optical Character Recognition) to extract and process text contained in images. Once processed, this extracted text is treated the same as any other text included in the document. Keep in mind that OCR may not be perfect so when possible, provide files that contain primarily text to ensure best results.

If you have a file or document in an unsupported format that you can not convert to a supported format, please contact us at [email protected] so we can take note of the file type and consider adding support for it in the future.

Adding multiple files to a single Datasource

In some cases, a Datasource may be a single file you upload. In other cases, it may be a collection of files. For example, a software company may have a "Sales and Support Knowledge Base" as a Datasource and this may include publicly available technical documentation, sales presentations, and customer onboarding documentation. Each of these files should uploaded to the same Datasource, allowing Apps that are connected to the Datasource to reference the full corpus of data when responding to user conversations. There is currently no limit to the number of files that can be uploaded to a Datasource.

*Note: There are some cases where, in the above example, you may prefer to create separate Datasources for each of the file categories. This is not a problem as it’s possible to attach multiple Datasources to a single app.

Setting Permissions

When creating a new Datasource, you can set the visibility to Private or Public. Setting a Datasource's visibility to Private means only you and users you explicitly share the Datasource with will be able to view and use it. Setting a Datasource's visibility to Public means all users in your company will be able to view and use the Datasource, but only Editors will be able to modify it.

You can share a Datasource with specific users and assign them a role of either Viewer or Editor:

  • Viewers can view the Datasource configuration and files, and connect the Datasource to Apps they have access to.

  • Editors have all the permissions of a Viewer, plus the ability to modify the Datasource configuration, add/remove files, and share the Datasource with other users.

The Owner of a Datasource (the user who created it) has all Editor permissions plus the ability to delete the Datasource.

Important: Public Apps can use private Datasources.

By sharing a private Datasource with others, you are allowing those users to attach it to any App they create, including public Apps. While this greatly simplifies permissions since the creator of a Datasource does not have to share it with anyone who may have access via an App, it does create a loophole. It is possible to create a private Datasource, attach it to a public App and any requests to that App will work for all users who have access to the App.

Connecting a Datasource to an App

Datasources can be connected with Apps only after the Datasource has been created. Follow the steps below to connect a Datasource to an existing App.

  1. From the Apps screen, find the App you'd like to connect to a Datasource.

  2. Click the "gear" icon to open the Apps setting screen.

  3. Scroll down to Datasources.

  4. If you have already created Datasources, you will see them listed here and you can select the Datasource(s) you'd like to connect to this App. You will only see Datasources that you have at least Viewer access to.

  5. Click "Save and Publish" and the app will immediately use the attached datasource.

  6. Once ready, the App will use the data from the Datasources in its responses. You may want to include instructions in the App that explicitly direct the App to only respond using information found in the Datasources, but this will depend on your use case.

Did this answer your question?