Skip to content

Commit

Permalink
GITBOOK-106: No subject
Browse files Browse the repository at this point in the history
  • Loading branch information
richard-epsilla authored and gitbook-bot committed Sep 30, 2024
1 parent fe1c21b commit 606b919
Show file tree
Hide file tree
Showing 202 changed files with 3,677 additions and 0 deletions.
Binary file added .gitbook/assets/1681327674615.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/chatbot.mov
Binary file not shown.
Binary file added .gitbook/assets/download (7).png
Binary file added .gitbook/assets/jina-ai-logo-vector (1).png
Binary file added .gitbook/assets/jina-ai-logo-vector.png
Binary file added .gitbook/assets/mistral-ai-logo.png
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Welcome

Welcome to the **Epsilla Documentation**, your comprehensive guide to building, deploying, and managing AI agents powered by your private data and knowledge. Whether you're just starting out or are a seasoned GenAI expert, this documentation is designed to support your journey with Epsilla.

#### What is Epsilla?

Epsilla is an **all-in-one platform** for creating AI agents tailored to your domain expertise. With a powerful interface, flexible customization options, and built-in Retrieval-Augmented Generation (RAG) capabilities, Epsilla simplifies the process of deploying AI agents, from concept to production. Our platform caters to professionals from various industries, empowering them to build and scale AI solutions without needing advanced technical skills.

Watch this quick 2-minute demo to learn about Epsilla:

{% embed url="https://www.youtube.com/watch?v=ZhBPsxr2AL0" %}

#### Who is this Documentation For?

* **Domain Professionals**: Want to build AI agents without writing code? We guide you through setting up your agent in minutes, optimizing it for your specific knowledge base.
* **GenAI Builders**: Looking for deeper customization? Learn how to configure workflows, prompts, and advanced RAG techniques to fine-tune your AI agent's performance.
* **Enterprises**: Ready to scale? Our platform supports enterprise-level infrastructure, security, and scalability for high-demand environments.

#### Support & Community

Have questions or need help? Our community and support channels are here for you. Contact us at [email protected], or join the [**Discord Channel**](https://discord.gg/ZhJxn8TN) to connect with other users and share insights.

You can also chat with us via the **Help Me** chatbox at the bottom right corner of our website:

<figure><img src=".gitbook/assets/Screenshot 2024-09-20 at 8.21.17 AM.png" alt=""><figcaption></figcaption></figure>

Or click the Help Me at the left side navigation bar after you register and login to [**Epsilla Cloud**](https://cloud.epsilla.com)**:**

<figure><img src=".gitbook/assets/Screenshot 2024-09-20 at 8.22.29 AM.png" alt=""><figcaption></figcaption></figure>
44 changes: 44 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Table of contents

* [Welcome](README.md)
* [Register and Login](welcome/register-and-login.md)
* [Explore App Portal](welcome/explore-app-portal.md)
* [Build Your First AI Agent](build-your-first-ai-agent/README.md)
* [Create a Knowledge Base](build-your-first-ai-agent/create-a-knowledge-base.md)
* [Set Up Your AI Agent](build-your-first-ai-agent/set-up-your-ai-agent.md)
* [Publish Your AI Agent](build-your-first-ai-agent/publish-your-ai-agent.md)
* [Knowledge Base](knowledge-base/README.md)
* [Local Files](knowledge-base/local-files.md)
* [Advanced Settings](knowledge-base/advanced-settings/README.md)
* [Auto Sync](knowledge-base/advanced-settings/auto-sync.md)
* [Embedding](knowledge-base/advanced-settings/embedding.md)
* [Meta Data](knowledge-base/advanced-settings/meta-data.md)
* [Data Storage](knowledge-base/data-storage.md)

## Epsilla Vector Database

* [Overview](epsilla-vector-database/readme.md)
* [Quick Start](epsilla-vector-database/quick-start/README.md)
* [Run with Docker](epsilla-vector-database/quick-start/quick-start.md)
* [Epsilla Cloud](epsilla-vector-database/quick-start/epsilla-cloud.md)
* [Connect to a database](epsilla-vector-database/connect-to-a-database.md)
* [Create a new table](epsilla-vector-database/create-a-new-table.md)
* [Drop a table](epsilla-vector-database/api-reference.md)
* [Delete a database](epsilla-vector-database/delete-a-database.md)
* [Insert records](epsilla-vector-database/insert-records.md)
* [Upsert records](epsilla-vector-database/upsert-records.md)
* [Search the top K semantically similar records](epsilla-vector-database/search-the-top-k-semantically-similar-records.md)
* [Retrieve records (with filters and pagination)](epsilla-vector-database/retrieve-records-with-filters-and-pagination.md)
* [Delete records](epsilla-vector-database/api-reference-1.md)
* [Embeddings](epsilla-vector-database/embeddings.md)
* [Dense vector vs. sparse vector](epsilla-vector-database/dense-vector-vs.-sparse-vector.md)
* [Hybrid Search](epsilla-vector-database/hybrid-search.md)
* [Performance Tuning](epsilla-vector-database/performance-tuning.md)
* [Integrations](epsilla-vector-database/integrations/README.md)
* [OpenAI](epsilla-vector-database/integrations/openai.md)
* [Mistral AI](epsilla-vector-database/integrations/mistral-ai.md)
* [Jina AI](epsilla-vector-database/integrations/jina-ai.md)
* [Voyage AI](epsilla-vector-database/integrations/voyage-ai.md)
* [Mixedbread AI](epsilla-vector-database/integrations/mixedbread-ai.md)
* [Nomic AI](epsilla-vector-database/integrations/nomic-ai.md)
* [Roadmap](epsilla-vector-database/roadmap.md)
11 changes: 11 additions & 0 deletions build-your-first-ai-agent/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Build Your First AI Agent

You can now create personalizable AI solutions grounded in your own data. Epsilla Cloud makes building generative AI agents easy and efficient.

**Step 1: Create a Knowledge Base** Start by creating a knowledge base from your own knowledge and data, such as local files or cloud storage.

**Step 2: Create Your AI Chatbot** Create and personalize an agent by setting the agent role, adding knowledge, and configuring its look and interaction style.

**Step 3: Publish and Share** Once ready, publish your agent and share it with others.

With Epsilla Cloud, anyone can create and share intelligent conversational agents quickly and easily—bringing the power of generative AI into your hands.
66 changes: 66 additions & 0 deletions build-your-first-ai-agent/create-a-knowledge-base.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Create a Knowledge Base

A knowledge base is a centralized repository of information used to store, organize, and manage content in a structured and accessible manner. In the context of Epsilla Cloud, it serves as the foundational data source that powers AI-driven applications, such as chatbots and start search agents. A knowledge base can include documents, articles, PDFs, or any relevant files that contain information an AI system can reference to provide accurate and grounded responses. A knowledge base enhances the AI's ability to deliver precise and contextual answers, significantly improving personalization and reducing hallucinations.

### **Access the Knowledge Bases Tab**

On the navigation bar, click on the **Knowledge Bases** tab.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.48.53 PM.png" alt="" width="253"><figcaption></figcaption></figure>

This will lead you to the page where you can create and manage all your knowledge bases.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.50.29 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Click "Create Knowledge Base"**

Locate and click the **Create Knowledge Base** button. This will initiate the setup process for a new knowledge base.

### **Select Knowledge Base Type**

Choose the type of data source you'd like to use for your knowledge base. Epsilla Cloud supports several types, including:

* **Local Files** (e.g., PDFs, Word documents)
* **Websites**
* **Cloud Storage** (e.g., Google Drive, Dropbox, SharePoint, S3)
* **Note-Taking Apps** (e.g., Notion)

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.51.56 PM.png" alt=""><figcaption></figcaption></figure>

Here we choose **Local Files**.&#x20;

### Knowledge Base Name

Provide a **Knowledge Base Name**.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-29 at 11.45.11 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Upload Data**

Select the documents you want to use. You can click the file uploader to pick files, or directly drag the files to upload:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.56.51 PM.png" alt=""><figcaption></figcaption></figure>

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.57.11 PM.png" alt=""><figcaption></figcaption></figure>

### **Data Processing**

Once the data is uploaded, click **Create:**

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.57.34 PM.png" alt=""><figcaption></figcaption></figure>

Epsilla Cloud will automatically process the files (under the hood, Epsilla will load the files, chunk them, and embed into vectors. [Read more here](https://blog.epsilla.com/large-scale-smart-etl-for-unstructured-data-in-rag-systems-with-epsilla-7fd86fa8d6cd)), You can monitor the progress of data processing:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 9.57.47 PM.png" alt=""><figcaption></figcaption></figure>

### **Inspect Data**

You can inspect the processed data (chunks) at the **Data Storage** tab. By default, the first 20 chunks will be visualized:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.03.01 PM.png" alt=""><figcaption></figcaption></figure>

Click a chunk to inspect the chunk data detail:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.03.18 PM.png" alt=""><figcaption></figcaption></figure>

Read more about inspecting data at [Data Storage](../knowledge-base/data-storage.md).
36 changes: 36 additions & 0 deletions build-your-first-ai-agent/publish-your-ai-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Publish Your AI Agent

Once you are happy with the AI Agent, you can publish the chatbot and share with your friends, family and colleagues by allowing all Epsilla Cloud users to access.

Click the **Publish** tab from the left hand side panel:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.55.09 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Publishing Options**

When publishing an AI agent, you have three levels of access to choose from:

1. **Access to Project Members Only (Default):**\
The AI agent will only be accessible to members of current project. This option is ideal for testing or internal use within a controlled environment.
2. **Access to All Epsilla Cloud Users:**\
The AI agent will be available to all users within the Epsilla Cloud platform, allowing the broader Epsilla Cloud community to interact with the agent.
3. **Access to Anyone with the Link:**\
The AI agent can be shared publicly through a link, making it accessible to anyone outside of Epsilla Cloud.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.56.30 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Publishing to App Portal**

If the access level is set to "All Epsilla Cloud Users" or "Anyone with the Link," you also have the option to publish the AI agent to the **App Portal**. This ensures the agent is easily discoverable by everyone, increasing its visibility and reach.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.57.10 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### Access Link

An access link allows you to easily share your AI agent with others based on your selected level of access. Whether it's restricted to project members, available to all Epsilla Cloud users, or open to anyone with the link, the access link provides a convenient way for others to engage with your agent. For broader engagement, you can directly share this link with the community or your intended audience.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.59.03 PM.png" alt="" width="563"><figcaption></figcaption></figure>

People opening the chatbot by directly accessing the link or through the App Portal will see it like this:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.58.50 PM.png" alt=""><figcaption></figcaption></figure>
85 changes: 85 additions & 0 deletions build-your-first-ai-agent/set-up-your-ai-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Set Up Your AI Agent

Currently Epsilla supports two types of agents: Chatbot Agents and Smart Search Agents. Chatbot Agents provide an interactive experience similar to ChatGPT, generating context-aware responses for use cases such as customer support or domain-specific conversations, often tailored to specific knowledge bases. Smart Search Agents focus on efficient information retrieval, inspired by platforms like Perplexity. They excel in providing precise answers to user queries, making them ideal for use cases such as research, content discovery, and data-driven decision-making.

### **Navigate to the Application Tab**

In your Epsilla Cloud dashboard, click on the **Create Application** button located on the navigation bar.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.20.05 PM (1).png" alt="" width="256"><figcaption></figcaption></figure>

Or click on the **Applications** tab. This will lead you to the page where you can create and manage all your Applications.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.20.17 PM.png" alt="" width="563"><figcaption></figcaption></figure>

Select **Chatbot** as the application type from the available options.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.22.43 PM.png" alt=""><figcaption></figcaption></figure>

### **Add Application Details**

**Name Your Chatbot**: Enter a name for your chatbot that reflects its purpose.

**Provide a Description**: Add a description for your chatbot to indicate what kind of tasks or questions it is intended to handle.

**Upload a Logo** (Optional): For a personalized touch, upload a logo to represent your chatbot visually in the interface.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.23.30 PM.png" alt="" width="563"><figcaption></figcaption></figure>

The chatbot will be created in 15 - 30 seconds. Now you can preview the Chatbot and modify its configurations side by side:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.31.07 PM.png" alt=""><figcaption></figcaption></figure>

### **Define the Chatbot Role**

Technically this is the system prompt to instruct the LLM to behave with desired personality. For instance, if you're creating a tax assistant, you could use a system prompt like:

* "You are a professional CPA specializing in individual taxation. Utilize your expert knowledge of tax laws and regulations to ensure clients benefit from all applicable deductions and credits. Provide clear explanations to clients about their tax situations and the implications of their financial decisions."

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.32.01 PM.png" alt=""><figcaption></figcaption></figure>

This role setup is crucial as it helps ensure that the chatbot’s responses are aligned with your intended use case.

### **Add Knowledge to the Chatbot**

**Link the Knowledge Base**: Select the knowledge base you created and attach it to your chatbot. This ensures that the chatbot can ground its responses in the specific data you provided, making answers more relevant and accurate. You can add multiple knowledge bases to an AI agent.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.33.49 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Config Appearance**

**Change Icon:** Select a new icon for your agent by uploading a custom image. Ensure the icon reflects your agent's purpose and aligns with your brand identity.

**Change Primary Color:** Customize the primary color to match your branding.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.41.35 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Configure Chat Experience**

**Introduction Message**: Set an introductory message that the chatbot will use to greet new users. This helps set the context of the conversation.

**Chatbox Placeholder:** Set the placeholder text in the chatbox.

**Sample Questions**: Add sample questions for users to quickly get started. For example, for a tax assistant, questions could be like "What are the standard deductions?" or "How do I report freelance income?"

**Enable Follow-up Questions**: Allow users to ask follow-up questions during a conversation, providing a more interactive and engaging experience. If enabled, you can futther customize the LLM model and prompt for generating the follow up questions.

**How to Label a Chat:** Config how to label a chat. By default Epsilla will use LLM to summarize the a chat.

**Hide Epsilla Logo:** For a paid tier, you can choose to hide Epsilla logo from the Chatbot for white labeling.

**Collect User Feedback:** Whether allow users to provide feedback to the Chatbot response.

**Allow Message Sharing:** Whether allow other users to share the chat with others.

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.37.50 PM.png" alt="" width="563"><figcaption></figcaption></figure>

### **Test Your Chatbot**

You can test the chatbot in the right hand side **Preview.** Test the chatbot in the interface to ensure it responds appropriately. Verify that it can answer questions using the knowledge base and that the defined role aligns with its response:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.45.48 PM.png" alt=""><figcaption></figcaption></figure>

Click the resize button <img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.46.33 PM.png" alt="" data-size="line"> to make the preview full screen:

<figure><img src="../.gitbook/assets/Screenshot 2024-09-28 at 10.47.47 PM.png" alt=""><figcaption></figcaption></figure>
91 changes: 91 additions & 0 deletions epsilla-vector-database/api-reference-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Delete records

Delete records with primary keys:

{% tabs %}
{% tab title="Python" %}
```python
status_code, response = db.delete(
table_name="MyTable", # The name of the table to delete records against.
primary_keys=[1, 2, 5] # The primary keys of the records to be deleted.
)
print(response)
```

Response example:

```
{'statusCode': 200, 'message': 'Delete data from MyTable successfully.', 'result': {'deleted': 3}}
```
{% endtab %}

{% tab title="JavaScript" %}
```javascript
const query = await db.delete(
'MyTable', // The name of the table to delete records against.
{
primaryKeys: [1, 2, 5] // The primary keys of the records to be deleted.
}
);
console.log(JSON.stringify(query, undefined, 2));
```

Response example:

```
{
"statusCode": 200,
"message": "Delete data from MyTable successfully.",
"result": {
"deleted": 3
}
}
```
{% endtab %}
{% endtabs %}

Delete all records that satisfy a filter condition:

{% tabs %}
{% tab title="Python" %}
```python
status_code, response = db.delete(
table_name="MyTable", # The name of the table to delete records against.
filter="ID < 6 AND Doc <> 'London'", # (Optional) a boolean expression for specifying
# which records to be deleted.
)
print(response)
```

Response example:

```
{'statusCode': 200, 'message': 'Delete data from MyTable successfully.', 'result': {'deleted': 14}}
```
{% endtab %}

{% tab title="JavaScript" %}
```javascript
const query = await db.delete(
'MyTable', // The name of the table to delete records against.
{
filter: 'ID < 6 AND Doc <> \'London\'' // (Optional) a boolean expression for specifying
// which records to be deleted.
}
);
console.log(JSON.stringify(query, undefined, 2));
```

Response example:

```
{
"statusCode": 200,
"message": "Delete data from MyTable successfully.",
"result": {
"deleted": 14
}
}
```
{% endtab %}
{% endtabs %}
25 changes: 25 additions & 0 deletions epsilla-vector-database/api-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Drop a table

## Drop a table from a database in code&#x20;

In both self-hosted Epsilla and Epsilla Cloud, you can use the following code to programmatically drop tables:

{% tabs %}
{% tab title="Python" %}
```python
status_code, response = db.drop_table(table_name="MyTable")
```
{% endtab %}

{% tab title="JavaScript" %}
```javascript
await db.dropTable('MyTable');
```
{% endtab %}
{% endtabs %}

## Drop a table on Epsilla Cloud portal UI

On Epsilla Cloud, you can also intuitively drop vector tables via GUI

<figure><img src="../.gitbook/assets/Screenshot 2023-11-22 at 12.27.54 AM (1).png" alt=""><figcaption></figcaption></figure>
Loading

0 comments on commit 606b919

Please sign in to comment.