diff --git a/docs/docs/integrations/chat/vectara.ipynb b/docs/docs/integrations/chat/vectara.ipynb index 912fd3245b0..e61d5573439 100644 --- a/docs/docs/integrations/chat/vectara.ipynb +++ b/docs/docs/integrations/chat/vectara.ipynb @@ -5,14 +5,14 @@ "id": "134a0785", "metadata": {}, "source": [ - "[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform which focuses on enterprise readiness for mission-critical applications.\n", + "[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform, which focuses on enterprise readiness for mission-critical applications.\n", "Vectara serverless RAG-as-a-service provides all the components of RAG behind an easy-to-use API, including:\n", "1. A way to extract text from files (PDF, PPT, DOCX, etc)\n", - "2. ML-based chunking that provides state of the art performance.\n", + "2. ML-based chunking that provides state-of-the-art performance.\n", "3. The [Boomerang](https://vectara.com/how-boomerang-takes-retrieval-augmented-generation-to-the-next-level-via-grounded-generation/) embeddings model.\n", "4. Its own internal vector database where text chunks and embedding vectors are stored.\n", "5. A query service that automatically encodes the query into embedding, and retrieves the most relevant text segments, including support for [Hybrid Search](https://docs.vectara.com/docs/api-reference/search-apis/lexical-matching) as well as multiple reranking options such as the [multi-lingual relevance reranker](https://www.vectara.com/blog/deep-dive-into-vectara-multilingual-reranker-v1-state-of-the-art-reranker-across-100-languages), [MMR](https://vectara.com/get-diverse-results-and-comprehensive-summaries-with-vectaras-mmr-reranker/), [UDF reranker](https://www.vectara.com/blog/rag-with-user-defined-functions-based-reranking). \n", - "6. An LLM to for creating a [generative summary](https://docs.vectara.com/docs/learn/grounded-generation/grounded-generation-overview), based on the retrieved documents (context), including citations.\n", + "6. An LLM for creating a [generative summary](https://docs.vectara.com/docs/learn/grounded-generation/grounded-generation-overview), based on the retrieved documents (context), including citations.\n", "\n", "For more information:\n", "- [Documentation](https://docs.vectara.com/docs/)\n", @@ -24,7 +24,7 @@ "\n", "### Setup\n", "\n", - "To use the `VectaraVectorStore` you first need to install the partner package.\n" + "To use the `VectaraVectorStore`, you first need to install the partner package.\n" ] }, { @@ -46,8 +46,8 @@ "\n", "To get started, use the following steps:\n", "1. If you don't already have one, [Sign up](https://www.vectara.com/integrations/langchain) for your free Vectara trial.\n", - "2. Within your account you can create one or more corpora. Each corpus represents an area that stores text data upon ingest from input documents. To create a corpus, use the **\"Create Corpus\"** button. You then provide a name to your corpus as well as a description. Optionally you can define filtering attributes and apply some advanced options. If you click on your created corpus, you can see its name and corpus ID right on the top.\n", - "3. Next you'll need to create API keys to access the corpus. Click on the **\"Access Control\"** tab in the corpus view and then the **\"Create API Key\"** button. Give your key a name, and choose whether you want query-only or query+index for your key. Click \"Create\" and you now have an active API key. Keep this key confidential. \n", + "2. Within your account, you can create one or more corpora. Each corpus represents an area that stores text data upon ingestion from input documents. To create a corpus, use the **\"Create Corpus\"** button. You then provide a name to your corpus as well as a description. Optionally, you can define filtering attributes and apply some advanced options. If you click on your created corpus, you can see its name and corpus ID right on the top.\n", + "3. Next, you'll need to create API keys to access the corpus. Click on the **\"Access Control\"** tab in the corpus view and then the **\"Create API Key\"** button. Give your key a name, and choose whether you want query-only or query+index for your key. Click \"Create\", and you now have an active API key. Keep this key confidential. \n", "\n", "To use LangChain with Vectara, you'll need to have these two values: `corpus_key` and `api_key`.\n", "You can provide `VECTARA_API_KEY` to LangChain in two ways:\n", @@ -73,7 +73,7 @@ ")\n", "```\n", "\n", - "In this notebook we assume they are provided in the environment." + "In this notebook, we assume they are provided in the environment." ] }, { @@ -109,9 +109,9 @@ "\n", "In most uses of LangChain to create chatbots, one must integrate a special `memory` component that maintains the history of chat sessions and then uses that history to ensure the chatbot is aware of conversation history.\n", "\n", - "With Vectara Chat - all of that is performed in the backend by Vectara automatically. You can look at the [Chat](https://docs.vectara.com/docs/api-reference/chat-apis/chat-apis-overview) documentation for the details, to learn more about the internals of how this is implemented, but with LangChain all you have to do is turn that feature on in the Vectara vectorstore.\n", + "With Vectara Chat, all of that is performed in the backend by Vectara automatically. You can look at the [Chat](https://docs.vectara.com/docs/api-reference/chat-apis/chat-apis-overview) documentation for the details, to learn more about the internals of how this is implemented, but with LangChain, all you have to do is turn that feature on in the Vectara vectorstore.\n", "\n", - "Let's see an example. First we load the SOTU document (remember, text extraction and chunking all occurs automatically on the Vectara platform):" + "Let's see an example. First, we load the SOTU document (remember, text extraction and chunking all occur automatically on the Vectara platform):" ] }, { @@ -241,8 +241,8 @@ "source": [ "## Chat with streaming\n", "\n", - "Of course the chatbot interface also supports streaming.\n", - "Instead of the `invoke` method you simply use `stream`:" + "Of course, the chatbot interface also supports streaming.\n", + "Instead of the `invoke` method, you simply use `stream`:" ] }, { @@ -279,12 +279,15 @@ "cell_type": "markdown", "id": "cefdf72b1d90085a", "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "source": [ "## Chaining\n", "\n", - "For additional capabilities you can use chaining." + "For additional capabilities, you can use chaining." ] }, { @@ -344,7 +347,10 @@ "cell_type": "markdown", "id": "3b8bb761-db4a-436c-8939-41e9f8652083", "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "source": [ "## API reference\n", @@ -369,7 +375,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.0" + "version": "3.12.10" } }, "nbformat": 4,