diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..9bea4330f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +.DS_Store diff --git a/www/docs/api-reference/admin-apis/admin.md b/www/docs/api-reference/admin-apis/admin.md index 69c2bcf6a..09e8d1675 100644 --- a/www/docs/api-reference/admin-apis/admin.md +++ b/www/docs/api-reference/admin-apis/admin.md @@ -11,7 +11,7 @@ import {vars} from '@site/static/variables.json'; The admin console is a good way to get started with . Once you're ready to integrate the platform more deeply into your application, the -Admin APIs allow you to programatically manipulate corpora and perform many +Admin APIs allow you to programatically manipulate indices, also known as corpora, and perform many other operations within the system. ## Full Definition @@ -19,9 +19,9 @@ other operations within the system. ### Service The full definitions of the Create, Reset, and Delete gRPC APIs are covered -below. The Create API allows corpora to be programatically created, up to the -limit defined for the account. Reset deletes all data from a corpus, without -deleting its definition, while Delete expunges both the data in the corpus and +below. The Create API allows indices to be programatically created, up to the +limit defined for the account. Reset deletes all data from an index, without +deleting its definition, while Delete expunges both the data in the index and its definition. The REST APIs are programatically derived from these definitions: see diff --git a/www/docs/api-reference/admin-apis/create-corpus.md b/www/docs/api-reference/admin-apis/create-corpus.md index f24e102fb..48debabdc 100644 --- a/www/docs/api-reference/admin-apis/create-corpus.md +++ b/www/docs/api-reference/admin-apis/create-corpus.md @@ -7,15 +7,16 @@ sidebar_label: API Definition import {Config} from '@site/docs/definitions.md'; import {vars} from '@site/static/variables.json'; +This page describes the details of interacting with this endpoint. + ## Endpoint Address exposes a REST endpoint at the following URL -to index content into a corpus: +to injest content into an index: https:///v1/create-corpus -This page describes the details of interacting with this endpoint. -Only the `name` and `description` fields are mandatory when creating a corpus. -The response message returns a unique id, `corpus_id`, by which the corpus can +Only the `name` and `description` fields are mandatory when creating an index. +The response message returns a unique id, `corpus_id`, by which the index can be subsequently referenced. Note that the name needn't be unique within an account. @@ -33,21 +34,21 @@ message CreateCorpusRequest { } message CreateCorpusResponse { - // The Corpus ID that was created. + // The index is the Corpus ID that was created. uint32 corpus_id = 1; Status status = 2; } message Corpus { - // The Corpus ID. + // The index ID. uint32 id = 1; - // The name of the corpus. + // The name of the index. string name = 2; - // A description for the corpus. + // A description for the index. string description = 3; - // The time at which the corpus was provisioned. + // The time at which the index was provisioned. int64 dt_provision = 4; - // Whether the corpus is enabled for use or not. + // Whether the index is enabled for use or not. bool enabled = 5; diff --git a/www/docs/api-reference/admin-apis/delete-corpus.md b/www/docs/api-reference/admin-apis/delete-corpus.md index b4e8ce7f4..efb613c60 100644 --- a/www/docs/api-reference/admin-apis/delete-corpus.md +++ b/www/docs/api-reference/admin-apis/delete-corpus.md @@ -8,20 +8,19 @@ import {Config} from '@site/docs/definitions.md'; import {vars} from '@site/static/variables.json'; exposes a REST endpoint at the following URL -to index content into a corpus: +to delete an index: https:///v1/delete-corpus -This page describes the details of interacting with this endpoint. -To delete a corpus, specify the **customer id** and **corpus id**. Upon -successful completion, space quota consumed by the corpus will be freed, -and the corpus will no longer be usable for future indexing or querying. -Note that the corpus id assigned to the corpus will not be reused. +To delete an index, specify the **customer_id** and **corpus_id**. Upon +successful completion, space quota consumed by the index will be freed, +and the index will no longer be usable for future indexing or querying. +Note that the corpus_id assigned to the index will not be reused. ```protobuf message DeleteCorpusRequest { // The Customer ID that contains the corpus to be deleted. uint32 customer_id = 1; - // The Corpus ID to be deleted. + // The index is the Corpus ID to be deleted. uint32 corpus_id = 2; } diff --git a/www/docs/api-reference/admin-apis/reset-corpus.md b/www/docs/api-reference/admin-apis/reset-corpus.md index ae297285c..2553c0874 100644 --- a/www/docs/api-reference/admin-apis/reset-corpus.md +++ b/www/docs/api-reference/admin-apis/reset-corpus.md @@ -8,17 +8,16 @@ import {Config} from '@site/docs/definitions.md'; import {vars} from '@site/static/variables.json'; exposes a REST endpoint at the following URL -to index content into a corpus: +to reset an index: https:///v1/reset-corpus -This page describes the details of interacting with this endpoint. -To reset a corpus, specify the **customer id** and **corpus id**. Upon -successful completion, space quota consumed by the corpus will be freed. +To reset an index, specify the **customer_id** and **corpus_id**. Upon +successful completion, space quota consumed by the index will be freed. ```protobuf message ResetCorpusRequest { uint32 customer_id = 1; - // The Corpus ID to be reset. + // The index is the Corpus ID to be reset. uint32 corpus_id = 2; } diff --git a/www/docs/api-reference/auth-apis/api-keys.md b/www/docs/api-reference/auth-apis/api-keys.md index 76847e5cd..3fae4b0fe 100644 --- a/www/docs/api-reference/auth-apis/api-keys.md +++ b/www/docs/api-reference/auth-apis/api-keys.md @@ -16,6 +16,12 @@ having an accidental publication of an over-privileged API key is often organizationally "expensive." In general, it's recommended that you use [OAuth 2.0](OAuth 2.0) if/where possible for production applications. +:::warning + +:lock: Always keep your API Keys and 0Auth tokens private. Do not share them through email, Slack, Discord, forums, or other public channels because it can lead to unauthorized access. Treat these keys with the same confidentiality as your personal credentials. + +::: + # Use an API Key To use an API key in a request, you need to pass in `x-api-key` as an HTTP header. diff --git a/www/docs/api-reference/auth-apis/oauth.md b/www/docs/api-reference/auth-apis/oauth.md index d3122e200..c30bd0242 100644 --- a/www/docs/api-reference/auth-apis/oauth.md +++ b/www/docs/api-reference/auth-apis/oauth.md @@ -22,6 +22,12 @@ OAuth 2.0 has several advantages over API keys or simple usernames/passwords: - OAuth 2.0 is inherently more tightly scoped than API keys - JWT tokens are detected by many security scanning tools, allowing them to more easily be flagged in the case of accidental publication +:::warning + +:lock: Always keep your OAuth tokens private. Do not share them through email, Slack, Discord, forums, or other public channels because it can lead to unauthorized access. Treat these tokens with the same confidentiality as your personal credentials. + +::: + # Creating an application client Go to [https://console.vectara.com/console/authentication/app-client](https://console.vectara.com/console/authentication/app-client) to create a new application client. Most applications will want to use the diff --git a/www/docs/api-reference/indexing-apis/core_indexing.md b/www/docs/api-reference/indexing-apis/core_indexing.md index 2e1c8594d..613870720 100644 --- a/www/docs/api-reference/indexing-apis/core_indexing.md +++ b/www/docs/api-reference/indexing-apis/core_indexing.md @@ -19,12 +19,9 @@ The full definition of the gRPC interface is covered below. ### Service -The indexing service operates in two modes: _incremental_ and _batch_. In -incremental mode, individual documents or messages are sent to be indexed. In -a short period of time, generally a few minutes, the new content will become -available in the search index. +The indexing service operates by accepting individual documents or messages to be indexed. In a short period of time, generally a few minutes, the new content will become available in the search index. -The definition of the incremental service is shown below. +The definition of the service is shown below. ```protobuf @@ -34,9 +31,6 @@ service CoreIndexService { } ``` -When there are a large number of documents to process, it is more efficient to -process them using the batch interface. This is described below. - ### Document Index Request A request to add data into a corpus consists of three key pieces of information: diff --git a/www/docs/api-reference/indexing-apis/file-upload/file_upload.md b/www/docs/api-reference/indexing-apis/file-upload/file_upload.md index 1c4de801e..f1658f90b 100644 --- a/www/docs/api-reference/indexing-apis/file-upload/file_upload.md +++ b/www/docs/api-reference/indexing-apis/file-upload/file_upload.md @@ -35,7 +35,12 @@ headers. The maximum file size supported by the server is 10 MB. You can attach additional metadata to the file by specifying an additional -`doc_metadata` form field, which can contain a JSON string. +`doc_metadata` form field, which can contain a JSON string: + +```json +doc_metadata='{ "filesize": 1234 }' +``` + ## Response Codes @@ -71,6 +76,6 @@ corpus `151` in customer `123456` using `curl`. {`$ jwt=eyJraWQ... $ curl -H "Authorization: Bearer $jwt" -F file=@/tmp/instructions.pdf \\ -F doc_metadata='{ "filesize\": 1234 }' \\ - https://${vars['domains.rest.indexing']}:443/v1/upload?c=123456\&o=151 + 'https://${vars['domains.rest.indexing']}:443/v1/upload?c=123456\&o=151' `} \ No newline at end of file diff --git a/www/docs/api-reference/indexing-apis/indexing.md b/www/docs/api-reference/indexing-apis/indexing.md index 7543f4d42..7f1cec50f 100644 --- a/www/docs/api-reference/indexing-apis/indexing.md +++ b/www/docs/api-reference/indexing-apis/indexing.md @@ -26,12 +26,9 @@ The full definition of the gRPC interface is covered below. ### Service -The indexing service operates in two modes: _incremental_ and _batch_. In -incremental mode, individual documents or messages are sent to be indexed. In -a short period of time, generally a few minutes, the new content will become -available in the search index. +The indexing service operates by accepting individual documents or messages to be indexed. In a short period of time, generally a few minutes, the new content will become available in the search index. -The definition of the incremental service is shown below. +The definition of the service is shown below. ```protobuf @@ -44,9 +41,6 @@ service IndexService { } ``` -When there are a large number of documents to process, it is more efficient to -process them using the batch interface. This is described below. - ## Index Document A request to add data into a corpus consists of three key pieces of information: diff --git a/www/docs/common-use-cases/app-authn-authz/create_api_keys.md b/www/docs/common-use-cases/app-authn-authz/create_api_keys.md index 9be00bf1f..872851806 100644 --- a/www/docs/common-use-cases/app-authn-authz/create_api_keys.md +++ b/www/docs/common-use-cases/app-authn-authz/create_api_keys.md @@ -45,6 +45,12 @@ using the it. Then, click **Create**. You can now start using the key. +:::warning + +:lock: Always keep your API Keys and OAuth tokens private. Do not share them through email, Slack, Discord, forums, or other public channels because it can lead to unauthorized access. Treat these keys with the same confidentiality as your personal credentials. + +::: + ## Using a Key To use an API key, pass it using the `x-api-key` header request. diff --git a/www/docs/console-ui/corpus_create.md b/www/docs/console-ui/corpus_create.md index eeb1811e1..dad7067d1 100644 --- a/www/docs/console-ui/corpus_create.md +++ b/www/docs/console-ui/corpus_create.md @@ -1,30 +1,30 @@ --- id: creating-a-corpus -title: Creating a corpus +title: Create a corpus --- -To get begin searching your data, you first have to create a corpus. A corpus is -a container where you upload all your data to be indexed and grouped together in -a single location for querying. +To get begin searching your data, you first have to create an index. An index, +also referenced as a corpus, is a container where you upload all your data +to be injested and grouped together in a single location for querying. 1. To get started, navigate to the [Console Overview](https://console.vectara.com/overview). -2. On the left sidebar, you'll see a **Copora** section. Click on it. This will - open an overview of the corpora you have created. It will be empty if this +2. On the left sidebar, you'll see a **Indices** section. Click on it. This will + open an overview of the indices you have created. + + :::note + The Indices list is empty if this is your first time accessing the console. + ::: - ![Create corpus](/img/create_corpus.png) +3. Click the **Create Index** button, and a dialog box will open. +4. Enter the + name and description of the index. -3. Now click on the **Create Corpus** button, a dialog box will open. Enter the - name and description of the corpus. - - ![Create corpus dialog](/img/create_corpus_dialog.png) - -4. Leave all settings on their default values and click create. Once created, - you will see a confirmation message and the newly created corpus listed +5. Leave all settings on their default values and click create. + + Once created, you will see a confirmation message and the newly created index listed below. - ![Create corpus success](/img/create_corpus_success.png) - -The corpus is now created and ready to receive your data. You might want to head -towards how to index data and corpus overview. +The index is now created and ready to receive your data. You might want to head +towards how to index data and the index overview. diff --git a/www/docs/console-ui/reset_or_delete_corpus.md b/www/docs/console-ui/reset_or_delete_corpus.md index e093e32a8..f3df66a75 100644 --- a/www/docs/console-ui/reset_or_delete_corpus.md +++ b/www/docs/console-ui/reset_or_delete_corpus.md @@ -1,40 +1,39 @@ --- id: reset-or-delete-corpus -title: Resetting and deleting a corpus +title: Reset or delete a corpus --- -If you've decided to stop using a corpus you have three options. +If you've decided to stop using an index you have three options. -1. **Disable**: Disables query or indexing requests. A disabled corpus can be +1. **Disable**: Disables query or indexing requests. A disabled index can be reenabled at any time. -2. **Reset**: Purge all the data within the corpus, but leave the corpus - definition intact. -3. **Delete**: Purge all the data within the corpus and delete the corpus. - All your connected services to the corpus will also cease to function. +2. **Reset**: Purge all the data within the index, but leave the definition intact. +3. **Delete**: Purge all the data within the index and the delete the index. + All your connected services to the index will also cease to function. :::caution The **Reset** and **Delete** operations are irreversable. ::: -You can view these options on the corpus operations tab with their respective +You can view these options on the Indices operations tab with their respective descriptions. ![Create operations](/img/corpus_operations.png) -## Resetting a corpus +## Reset an index -To reset a corpus: -1. Click on the _Reset_ button. A warning modal will appear. -2. Enter the full name of the corpus for confirmation (case insensitive). +To reset an index: +1. Click the **Reset** button. A warning modal will appear. +2. Enter the full name of the index for confirmation (case insensitive). 3. Select _Reset_ and wait for the confirmation message. -That's it, all the data within the corpus has been purged. +That's it, all the data within the index has been purged. -## Deleting a corpus +## Delete an index -To permanently delete a corpus: -1. Click on the _Delete_ button. A warning modal will appear. -2. Enter the full name of the corpus for confirmation (case insensitive). -3. Select _Delete_ and wait for the confirmation message. +To permanently delete an index: +1. Click the **Delete** button. A warning modal will appear. +2. Enter the full name of the index for confirmation (case insensitive). +3. Select **Delete** and wait for the confirmation message. -That's it, the corpus has been deleted. +That's it, the index has been deleted. diff --git a/www/docs/use-case-exploration.md b/www/docs/use-case-exploration.md new file mode 100644 index 000000000..734d34ee0 --- /dev/null +++ b/www/docs/use-case-exploration.md @@ -0,0 +1,119 @@ +--- +id: use-case-exploration +title: Explore the Vectara Use Cases +sidebar_label: Use Case Exploration +--- + +The AI era has changed interactions between people and information dramatically. +Users expect relevant answers to questions in a natural language, and they +expect the best results with the right context. Vectara gives you relevant +results no matter how you ask. Our conversational search platform generates +summarized responses that speak your language. Better results enable better +outcomes that reduce support costs and improve the customer experience. + +## Why Vectara? Get Answers and Better Outcomes + +Vectara has a unique ability to understand and process information. Our +platform uses hybrid search to find the most relevant products, support +cases, and documents that answer your user’s questions first. Power chatbots, +Q&A systems, conversational applications and websites that base their +information on what you and your users care about – information grounded in +facts. Vectara also provides result recommendations and enables global +collaboration through its cross-language search. + + +## Vectara GenAI Use Cases + +The versatile Vectara GenAI platform caters to a wide range of use +cases to drive better outcomes and unlock new possibilities in search +applications. Vectara provides an easy entry point to generative AI +capabilities while protecting company IP and customer data. The data +is secure. Vectara does not train on user data and respects data +sovereignty and provides you with peace of mind. + + +### Conversational AI + +Vectara leverages the power of intelligent chatbots to provide an interactive +user experience. Enable your users with self-service as they engage in +human-like interactions, providing context in queries, and receiving +intelligent answers because the system understands them. This technology +sits behind virtual assistants, chatbots, and messaging applications to +help businesses automate customer service and streamline operations. + +Vectara enables you to empower users with real-time feedback to avoid +escalations and build a digital chat agent that can deflect support +calls. Making conversational AI easier to use increases both customer +satisfaction and engagement. + + +### Question and Answering + +Vectara understands the context of a question and provides accurate, relevant responses. +The Vectara advantage lets users ask complex questions to get precise answers that save +your team valuable time and resources. + +Enable your users to ask a question and get the precise answers quickly. Embed your +FAQs, customer support interactions, product manuals, inform knowledge workers on +data, and enhance your website search. Vectara empowers your organization to create a +dynamic, responsive, and continuous improving QA system that enhances the user +experience and provides context-aware answers. + + +### Research and Analysis + +Vectara sifts through volumes of publications, news articles, financial reports, +scientific and medical research, corporate documents and more and provides +summarized answers to guide decision-making in your domain. Collaborate with +researchers to streamline the peer review process by investigating topics and +questions in these vast volumes of data to identify key insights. + +Using Vectara is like having a global research assistant that can read and +understand large volumes of documents in an instant. Let the platform speed up +your research process, find the most relevant information, and become a +recommendation system for your domain. + +Vectara can help transform data into insights which help make decision-making +easier. This platform can provide hidden insights and patterns from your data, +helping you make informed decisions. Not only can it answer your questions, +but also provides citations grounded in facts from the raw data. + + +### Semantic App Search + +Vectara lets you embed powerful hybrid search into your applications without +being an LLM expert. You provide data and queries through simple APIs in +our SaaS service. + +Enable your users to find the most relevant products, support cases, and +documents that answer their questions. Vectara helps you bridge the gap +between user queries and the vast amount of data within an application. +Users can find exactly what they are looking for despite how they ask. + +## Sample Vectara Demos and Applications + +We provide this list of sample applications to help inspire developer creativity: + +* [**AskNews**](https://asknews.demo.vectara.com) + + Demonstrates the power of GenAI conversational search. Ask questions about news + events around the world and get accurate answers thanks to Vectara’s Grounded + Generation. +* [**Vectara Ingest**](https://github.com/vectara/vectara-ingest) + + Crawl datasets from pre-built crawlers (websites, RSS feeds, Jira, Notion, + Docusaurus) and ingest them into Vectara +* [**Vectara Answer**](https://github.com/vectara/vectara-answer) + + Enable users to create custom conversational search applications, such as + chatbots, semantic search, and workplace search by connecting to your + ingested data. + + This project provides example code for a modern user-interface for GenAI conversational search. + +:::note + +These sample applications are examples of our platform in action and not supported products. + +::: + diff --git a/www/docs/welcome.md b/www/docs/welcome.md index 537f8c8b3..794d3a54c 100644 --- a/www/docs/welcome.md +++ b/www/docs/welcome.md @@ -1,15 +1,76 @@ --- id: introduction slug: / -title: Welcome to Vectara -sidebar_label: Introduction +title: What is the Vectara Platform? +sidebar_label: The Vectara Platform --- import {Config} from './definitions.md'; -You've reached 's documentation homepage. Choose a topic on the left to learn more. +Welcome to the documentation homepage for Vectara, an end-to-end platform for product builders +to embed powerful generative AI capabilities into applications with extraordinary +results. Vectara offers significant improvements over traditional searches by +understanding the context and meaning of your data. This revolutionary technology + allows Vectara to drive insights and provide more accurate responses to user + queries, assisting decision-making processes. Data remains secure because + Vectara never trains on your data. + + +## The Future of Search is Here + +Vectara envisions a future where generative AI powers every application to +deliver contextually accurate responses and give you the right answers and +actions. Vectara is built on a solid **hybrid search** core to enable better +generative outcomes. Traditional search technologies focus on keywords, +which limit their ability to understand complex queries. Vectara deploys +advanced **zero-shot** models and **conversational search** capabilities to understand, +interpret, and respond to user queries with remarkable precision. + + +Vectera summarizes search results on complex queries along with factual +citations. Vectara provides the best hybrid search core and superior +language understanding for ingestion and retrieval. Vectara can become +your answer engine. + + +## Developer-focused, API-first, Secure + +Vectara is designed for developers with an API-first approach, making it +the optimal choice to **integrate generative AI search** into their applications. +This full end-to-end platform provides easy ingestion and simple APIs. + +The Vectara Generative AI platform enables developers with the flexibility +to build a wide range of applications with powerful search experiences. +Vectara never trains on your data which enables businesses to embed +generative AI capabilities without the risk of data or privacy violations. +Vectara provides support for customer-managed keys, encryption at rest and +during transit, client-configurable data retention, and more. + +## Solve the Hallucination Problem + +AI content generators often create **hallucinations** – false information outside +of the raw, factual data, leading to inaccurate and misleading responses. Vectara +addresses this problem through **Grounded Generation**, meaning it grounds the +search results in the uploaded data. By focusing on facts and reducing +hallucinations, Vectara enhances trust in AI-powered decision making. + + +## Language Agnostic + +Vectara supports search across multiple languages, eliminating language barriers +and enabling users to find what they need, regardless of the language they use. +This **cross-language** approach provides a seamless search experience for +users around the world. The best answer may be written in German but a +user asked the question in Spanish. + +Vectara is more than just an AI product. It is a pioneer in the realm of +**neural search**, leading the way to harness the power of your data. Vectara +wants to transform the way developers interact with data and unlock a +world of insights at their fingertips. Welcome to the future of +information interaction. + +Not sure where to start? Here are some ideas: -Not sure where to start? Here are some ideas: - If you don't have a account yet, register for one [here](https://console.vectara.com/signup) - Have a look at examples of how to [index](/docs/getting-started-samples/rest_index_document.py) and [search](/docs/getting-started-samples/rest_query.py) documents diff --git a/www/docusaurus.config.js b/www/docusaurus.config.js index 2ca4a09b1..f93c63fe6 100644 --- a/www/docusaurus.config.js +++ b/www/docusaurus.config.js @@ -223,7 +223,7 @@ ${content} items: [ { label: 'About', - to: 'https://vectara.com/about-vectara-neural-search/', + to: 'https://vectara.com/about-vectara/', }, { label: 'Careers and Culture', @@ -275,6 +275,10 @@ ${content} label: 'Youtube', href: 'https://www.youtube.com/channel/UCoP_hcyjJRLQr0CV050bfMg', }, + { + label: 'Discord', + href: 'https://discord.gg/GFb8gMz6UH', + }, ], }, { diff --git a/www/sidebars.js b/www/sidebars.js index 7bacd4e13..5c426bd6d 100644 --- a/www/sidebars.js +++ b/www/sidebars.js @@ -2,7 +2,13 @@ module.exports = { someSidebar: [ { type: 'doc', - id: 'introduction' + id: 'introduction', + label: "The Vectara Platform", + }, + { + type: 'doc', + id: 'use-case-exploration', + label: "Use Case Exploration", }, { type: 'category',