diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000000000..e5f22dcb22b187 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +/.github/ @efriis @baskaryan @ccurme +/libs/packages.yml @efriis diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index dc4d97722699ed..5d8400d1926409 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ Thank you for contributing to LangChain! - [ ] **PR title**: "package: description" - - Where "package" is whichever of langchain, community, core, etc. is being modified. Use "docs: ..." for purely docs changes, "templates: ..." for template changes, "infra: ..." for CI changes. + - Where "package" is whichever of langchain, community, core, etc. is being modified. Use "docs: ..." for purely docs changes, "infra: ..." for CI changes. - Example: "community: add foobar LLM" diff --git a/.github/scripts/check_diff.py b/.github/scripts/check_diff.py index 068c75ef017828..600c7ac06de8d8 100644 --- a/.github/scripts/check_diff.py +++ b/.github/scripts/check_diff.py @@ -307,7 +307,7 @@ def _get_configs_for_multi_dirs( f"Unknown lib: {file}. check_diff.py likely needs " "an update for this new library!" ) - elif any(file.startswith(p) for p in ["docs/", "templates/", "cookbook/"]): + elif any(file.startswith(p) for p in ["docs/", "cookbook/"]): if file.startswith("docs/"): docs_edited = True dirs_to_run["lint"].add(".") diff --git a/.github/scripts/get_min_versions.py b/.github/scripts/get_min_versions.py index f91dd00ee06d9f..0838a6e7e3957f 100644 --- a/.github/scripts/get_min_versions.py +++ b/.github/scripts/get_min_versions.py @@ -7,12 +7,17 @@ # for python 3.10 and below, which doesnt have stdlib tomllib import tomli as tomllib -from packaging.version import parse as parse_version from packaging.specifiers import SpecifierSet from packaging.version import Version + +import requests +from packaging.version import parse +from typing import List + import re + MIN_VERSION_LIBS = [ "langchain-core", "langchain-community", @@ -31,29 +36,61 @@ ] -def get_min_version(version: str) -> str: - # base regex for x.x.x with cases for rc/post/etc - # valid strings: https://peps.python.org/pep-0440/#public-version-identifiers - vstring = r"\d+(?:\.\d+){0,2}(?:(?:a|b|rc|\.post|\.dev)\d+)?" - # case ^x.x.x - _match = re.match(f"^\\^({vstring})$", version) - if _match: - return _match.group(1) +def get_pypi_versions(package_name: str) -> List[str]: + """ + Fetch all available versions for a package from PyPI. + + Args: + package_name (str): Name of the package + + Returns: + List[str]: List of all available versions - # case >=x.x.x,=({vstring}),<({vstring})$", version) - if _match: - _min = _match.group(1) - _max = _match.group(2) - assert parse_version(_min) < parse_version(_max) - return _min + Raises: + requests.exceptions.RequestException: If PyPI API request fails + KeyError: If package not found or response format unexpected + """ + pypi_url = f"https://pypi.org/pypi/{package_name}/json" + response = requests.get(pypi_url) + response.raise_for_status() + return list(response.json()["releases"].keys()) - # case x.x.x - _match = re.match(f"^({vstring})$", version) - if _match: - return _match.group(1) - raise ValueError(f"Unrecognized version format: {version}") +def get_minimum_version(package_name: str, spec_string: str) -> Optional[str]: + """ + Find the minimum published version that satisfies the given constraints. + + Args: + package_name (str): Name of the package + spec_string (str): Version specification string (e.g., ">=0.2.43,<0.4.0,!=0.3.0") + + Returns: + Optional[str]: Minimum compatible version or None if no compatible version found + """ + # rewrite occurrences of ^0.0.z to 0.0.z (can be anywhere in constraint string) + spec_string = re.sub(r"\^0\.0\.(\d+)", r"0.0.\1", spec_string) + # rewrite occurrences of ^0.y.z to >=0.y.z,<0.y+1 (can be anywhere in constraint string) + for y in range(1, 10): + spec_string = re.sub(rf"\^0\.{y}\.(\d+)", rf">=0.{y}.\1,<0.{y+1}", spec_string) + # rewrite occurrences of ^x.y.z to >=x.y.z,={x}.\1.\2,<{x+1}", spec_string + ) + + spec_set = SpecifierSet(spec_string) + all_versions = get_pypi_versions(package_name) + + valid_versions = [] + for version_str in all_versions: + try: + version = parse(version_str) + if spec_set.contains(version): + valid_versions.append(version) + except ValueError: + continue + + return str(min(valid_versions)) if valid_versions else None def get_min_version_from_toml( @@ -96,7 +133,7 @@ def get_min_version_from_toml( ][0]["version"] # Use parse_version to get the minimum supported version from version_string - min_version = get_min_version(version_string) + min_version = get_minimum_version(lib, version_string) # Store the minimum version in the min_versions dictionary min_versions[lib] = min_version @@ -112,6 +149,20 @@ def check_python_version(version_string, constraint_string): :param constraint_string: A string representing the package's Python version constraints (e.g. ">=3.6, <4.0"). :return: True if the version matches the constraints, False otherwise. """ + + # rewrite occurrences of ^0.0.z to 0.0.z (can be anywhere in constraint string) + constraint_string = re.sub(r"\^0\.0\.(\d+)", r"0.0.\1", constraint_string) + # rewrite occurrences of ^0.y.z to >=0.y.z,<0.y+1.0 (can be anywhere in constraint string) + for y in range(1, 10): + constraint_string = re.sub( + rf"\^0\.{y}\.(\d+)", rf">=0.{y}.\1,<0.{y+1}.0", constraint_string + ) + # rewrite occurrences of ^x.y.z to >=x.y.z,={x}.0.\1,<{x+1}.0.0", constraint_string + ) + try: version = Version(version_string) constraints = SpecifierSet(constraint_string) diff --git a/.github/workflows/_integration_test.yml b/.github/workflows/_integration_test.yml index 60a74ff08734dd..d2157eb4956306 100644 --- a/.github/workflows/_integration_test.yml +++ b/.github/workflows/_integration_test.yml @@ -41,12 +41,6 @@ jobs: shell: bash run: poetry run pip install "boto3<2" "google-cloud-aiplatform<2" - - name: 'Authenticate to Google Cloud' - id: 'auth' - uses: google-github-actions/auth@v2 - with: - credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' - - name: Run integration tests shell: bash env: diff --git a/.github/workflows/_release.yml b/.github/workflows/_release.yml index 76b93307017303..c36607f62fee7b 100644 --- a/.github/workflows/_release.yml +++ b/.github/workflows/_release.yml @@ -95,9 +95,30 @@ jobs: PKG_NAME: ${{ needs.build.outputs.pkg-name }} VERSION: ${{ needs.build.outputs.version }} run: | - REGEX="^$PKG_NAME==\\d+\\.\\d+\\.\\d+\$" - echo $REGEX - PREV_TAG=$(git tag --sort=-creatordate | grep -P $REGEX || true | head -1) + PREV_TAG="$PKG_NAME==${VERSION%.*}.$(( ${VERSION##*.} - 1 ))"; [[ "${VERSION##*.}" -eq 0 ]] && PREV_TAG="" + + # backup case if releasing e.g. 0.3.0, looks up last release + # note if last release (chronologically) was e.g. 0.1.47 it will get + # that instead of the last 0.2 release + if [ -z "$PREV_TAG" ]; then + REGEX="^$PKG_NAME==\\d+\\.\\d+\\.\\d+\$" + echo $REGEX + PREV_TAG=$(git tag --sort=-creatordate | (grep -P $REGEX || true) | head -1) + fi + + # if PREV_TAG is empty, let it be empty + if [ -z "$PREV_TAG" ]; then + echo "No previous tag found - first release" + else + # confirm prev-tag actually exists in git repo with git tag + GIT_TAG_RESULT=$(git tag -l "$PREV_TAG") + if [ -z "$GIT_TAG_RESULT" ]; then + echo "Previous tag $PREV_TAG not found in git repo" + exit 1 + fi + fi + + TAG="${PKG_NAME}==${VERSION}" if [ "$TAG" == "$PREV_TAG" ]; then echo "No new version to release" @@ -231,7 +252,7 @@ jobs: working-directory: ${{ inputs.working-directory }} id: min-version run: | - poetry run pip install packaging + poetry run pip install packaging requests python_version="$(poetry run python --version | awk '{print $2}')" min_versions="$(poetry run python $GITHUB_WORKSPACE/.github/scripts/get_min_versions.py pyproject.toml release $python_version)" echo "min-versions=$min_versions" >> "$GITHUB_OUTPUT" @@ -246,12 +267,6 @@ jobs: make tests working-directory: ${{ inputs.working-directory }} - - name: 'Authenticate to Google Cloud' - id: 'auth' - uses: google-github-actions/auth@v2 - with: - credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' - - name: Import integration test dependencies run: poetry install --with test,test_integration working-directory: ${{ inputs.working-directory }} diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 9d01508367e0d5..0e03bbb16aece6 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -47,7 +47,7 @@ jobs: id: min-version shell: bash run: | - poetry run pip install packaging tomli + poetry run pip install packaging tomli requests python_version="$(poetry run python --version | awk '{print $2}')" min_versions="$(poetry run python $GITHUB_WORKSPACE/.github/scripts/get_min_versions.py pyproject.toml pull_request $python_version)" echo "min-versions=$min_versions" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/check_diffs.yml b/.github/workflows/check_diffs.yml index b5729611645c6a..5caa9c9348b128 100644 --- a/.github/workflows/check_diffs.yml +++ b/.github/workflows/check_diffs.yml @@ -31,7 +31,7 @@ jobs: uses: Ana06/get-changed-files@v2.2.0 - id: set-matrix run: | - python -m pip install packaging + python -m pip install packaging requests python .github/scripts/check_diff.py ${{ steps.files.outputs.all }} >> $GITHUB_OUTPUT outputs: lint: ${{ steps.set-matrix.outputs.lint }} diff --git a/Makefile b/Makefile index 8a1099c5b8ebf6..5b684c94ac9a76 100644 --- a/Makefile +++ b/Makefile @@ -66,12 +66,12 @@ spell_fix: ## lint: Run linting on the project. lint lint_package lint_tests: - poetry run ruff check docs templates cookbook - poetry run ruff format docs templates cookbook --diff - poetry run ruff check --select I docs templates cookbook - git grep 'from langchain import' docs/docs templates cookbook | grep -vE 'from langchain import (hub)' && exit 1 || exit 0 + poetry run ruff check docs cookbook + poetry run ruff format docs cookbook cookbook --diff + poetry run ruff check --select I docs cookbook + git grep 'from langchain import' docs/docs cookbook | grep -vE 'from langchain import (hub)' && exit 1 || exit 0 ## format: Format the project files. format format_diff: - poetry run ruff format docs templates cookbook - poetry run ruff check --select I --fix docs templates cookbook + poetry run ruff format docs cookbook + poetry run ruff check --select I --fix docs cookbook diff --git a/README.md b/README.md index 5f85d427e23d28..ee4f1018ed27f0 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,8 @@ For these applications, LangChain simplifies the entire application lifecycle: - **[LangGraph Cloud](https://langchain-ai.github.io/langgraph/cloud/)**: Turn your LangGraph applications into production-ready APIs and Assistants. -![Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.](docs/static/svg/langchain_stack_062024.svg "LangChain Architecture Overview") +![Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.](docs/static/svg/langchain_stack_112024.svg#gh-light-mode-only "LangChain Architecture Overview") +![Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.](docs/static/svg/langchain_stack_112024_dark.svg#gh-dark-mode-only "LangChain Architecture Overview") ## 🧱 What can you build with LangChain? diff --git a/cookbook/README.md b/cookbook/README.md index e215c463f5a175..a5e33d9eb624c4 100644 --- a/cookbook/README.md +++ b/cookbook/README.md @@ -62,4 +62,5 @@ Notebook | Description [wikibase_agent.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/wikibase_agent.ipynb) | Create a simple wikibase agent that utilizes sparql generation, with testing done on http://wikidata.org. [oracleai_demo.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/oracleai_demo.ipynb) | This guide outlines how to utilize Oracle AI Vector Search alongside Langchain for an end-to-end RAG pipeline, providing step-by-step examples. The process includes loading documents from various sources using OracleDocLoader, summarizing them either within or outside the database with OracleSummary, and generating embeddings similarly through OracleEmbeddings. It also covers chunking documents according to specific requirements using Advanced Oracle Capabilities from OracleTextSplitter, and finally, storing and indexing these documents in a Vector Store for querying with OracleVS. [rag-locally-on-intel-cpu.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/rag-locally-on-intel-cpu.ipynb) | Perform Retrieval-Augmented-Generation (RAG) on locally downloaded open-source models using langchain and open source tools and execute it on Intel Xeon CPU. We showed an example of how to apply RAG on Llama 2 model and enable it to answer the queries related to Intel Q1 2024 earnings release. -[visual_RAG_vdms.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/visual_RAG_vdms.ipynb) | Performs Visual Retrieval-Augmented-Generation (RAG) using videos and scene descriptions generated by open source models. \ No newline at end of file +[visual_RAG_vdms.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/visual_RAG_vdms.ipynb) | Performs Visual Retrieval-Augmented-Generation (RAG) using videos and scene descriptions generated by open source models. +[contextual_rag.ipynb](https://github.com/langchain-ai/langchain/tree/master/cookbook/contextual_rag.ipynb) | Performs contextual retrieval-augmented generation (RAG) prepending chunk-specific explanatory context to each chunk before embedding. \ No newline at end of file diff --git a/cookbook/contextual_rag.ipynb b/cookbook/contextual_rag.ipynb new file mode 100644 index 00000000000000..68d418f9121317 --- /dev/null +++ b/cookbook/contextual_rag.ipynb @@ -0,0 +1,1381 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c6bf25fda89f8656", + "metadata": {}, + "source": [ + "# Contextual Retrieval\n", + "\n", + "In this notebook we will showcase how you can implement Anthropic's [Contextual Retrieval](https://www.anthropic.com/news/contextual-retrieval) using LangChain. Contextual Retrieval addresses the conundrum of traditional RAG approaches by prepending chunk-specific explanatory context to each chunk before embedding.\n", + "\n", + "![](https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-cdn.anthropic.com%2Fimages%2F4zrzovbb%2Fwebsite%2F2496e7c6fedd7ffaa043895c23a4089638b0c21b-3840x2160.png&w=3840&q=75)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "a4490b37e0479034", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:37.596677Z", + "start_time": "2024-11-04T20:18:37.594738Z" + } + }, + "outputs": [], + "source": [ + "import logging\n", + "import os\n", + "\n", + "logging.disable(level=logging.INFO)\n", + "\n", + "os.environ[\"TOKENIZERS_PARALLELISM\"] = \"true\"\n", + "\n", + "os.environ[\"AZURE_OPENAI_API_KEY\"] = \"\"\n", + "os.environ[\"AZURE_OPENAI_ENDPOINT\"] = \"\"\n", + "os.environ[\"COHERE_API_KEY\"] = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "baecef6820f63ae5", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.261712Z", + "start_time": "2024-11-04T20:18:37.634673Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\r\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m24.2\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m24.3.1\u001B[0m\r\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n" + ] + } + ], + "source": [ + "!pip install -q langchain langchain-openai langchain-community faiss-cpu rank_bm25 langchain-cohere " + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "cdc9006883871d3a", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.265682Z", + "start_time": "2024-11-04T20:18:38.263169Z" + } + }, + "outputs": [], + "source": [ + "from langchain.document_loaders import TextLoader\n", + "from langchain.prompts import PromptTemplate\n", + "from langchain.retrievers import BM25Retriever\n", + "from langchain.vectorstores import FAISS\n", + "from langchain_cohere import CohereRerank\n", + "from langchain_openai import AzureChatOpenAI, AzureOpenAIEmbeddings" + ] + }, + { + "cell_type": "markdown", + "id": "f75da2885a562f6d", + "metadata": {}, + "source": [ + "## Download Data\n", + "\n", + "We will use `Paul Graham Essay` dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "99266f4b27564077", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.855105Z", + "start_time": "2024-11-04T20:18:38.266362Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2024-11-04 20:18:38-- https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt\r\n", + "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8003::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...\r\n", + "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8003::154|:443... connected.\r\n", + "HTTP request sent, awaiting response... 200 OK\r\n", + "Length: 75042 (73K) [text/plain]\r\n", + "Saving to: ‘./paul_graham_essay.txt’\r\n", + "\r\n", + "./paul_graham_essay 100%[===================>] 73.28K --.-KB/s in 0.04s \r\n", + "\r\n", + "2024-11-04 20:18:38 (2.02 MB/s) - ‘./paul_graham_essay.txt’ saved [75042/75042]\r\n", + "\r\n" + ] + } + ], + "source": [ + "!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt' -O './paul_graham_essay.txt'" + ] + }, + { + "cell_type": "markdown", + "id": "23200549ef2260bb", + "metadata": {}, + "source": "## Setup LLM and Embedding model" + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "bb3cdd9b2aaa304e", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.882309Z", + "start_time": "2024-11-04T20:18:38.856907Z" + } + }, + "outputs": [], + "source": [ + "llm = AzureChatOpenAI(\n", + " deployment_name=\"gpt-4-32k-0613\",\n", + " openai_api_version=\"2023-08-01-preview\",\n", + " temperature=0.0,\n", + ")\n", + "\n", + "embeddings = AzureOpenAIEmbeddings(\n", + " deployment=\"text-embedding-ada-002\",\n", + " api_version=\"2023-08-01-preview\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e29fcd718472faca", + "metadata": {}, + "source": "## Load Data" + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "a429c5e9806687c2", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.884826Z", + "start_time": "2024-11-04T20:18:38.882879Z" + } + }, + "outputs": [], + "source": [ + "loader = TextLoader(\"./paul_graham_essay.txt\")\n", + "documents = loader.load()\n", + "WHOLE_DOCUMENT = documents[0].page_content" + ] + }, + { + "cell_type": "markdown", + "id": "1e8beefd063110bc", + "metadata": {}, + "source": [ + "## Prompts for creating context for each chunk\n", + "\n", + "We will use the following prompts to create chunk-specific explanatory context to each chunk before embedding." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "51131f316c3c4dc1", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.887001Z", + "start_time": "2024-11-04T20:18:38.885430Z" + } + }, + "outputs": [], + "source": [ + "prompt_document = PromptTemplate(\n", + " input_variables=[\"WHOLE_DOCUMENT\"], template=\"{WHOLE_DOCUMENT}\"\n", + ")\n", + "prompt_chunk = PromptTemplate(\n", + " input_variables=[\"CHUNK_CONTENT\"],\n", + " template=\"Here is the chunk we want to situate within the whole document\\n\\n{CHUNK_CONTENT}\\n\\n\"\n", + " \"Please give a short succinct context to situate this chunk within the overall document for \"\n", + " \"the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else.\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "ae226af17efd9663", + "metadata": {}, + "source": "## Retrievers" + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "1565407255685439", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:38.890184Z", + "start_time": "2024-11-04T20:18:38.887482Z" + } + }, + "outputs": [], + "source": [ + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "from langchain_core.documents import BaseDocumentCompressor\n", + "from langchain_core.retrievers import BaseRetriever\n", + "\n", + "\n", + "def split_text(texts):\n", + " text_splitter = RecursiveCharacterTextSplitter(chunk_overlap=200)\n", + " doc_chunks = text_splitter.create_documents(texts)\n", + " for i, doc in enumerate(doc_chunks):\n", + " # Append a new Document object with the appropriate doc_id\n", + " doc.metadata = {\"doc_id\": f\"doc_{i}\"}\n", + " return doc_chunks\n", + "\n", + "\n", + "def create_embedding_retriever(documents_):\n", + " vector_store = FAISS.from_documents(documents_, embedding=embeddings)\n", + " return vector_store.as_retriever(search_kwargs={\"k\": 4})\n", + "\n", + "\n", + "def create_bm25_retriever(documents_):\n", + " retriever = BM25Retriever.from_documents(documents_, language=\"english\")\n", + " return retriever\n", + "\n", + "\n", + "# Function to create a combined embedding and BM25 retriever with reranker\n", + "class EmbeddingBM25RerankerRetriever:\n", + " def __init__(\n", + " self,\n", + " vector_retriever: BaseRetriever,\n", + " bm25_retriever: BaseRetriever,\n", + " reranker: BaseDocumentCompressor,\n", + " ):\n", + " self.vector_retriever = vector_retriever\n", + " self.bm25_retriever = bm25_retriever\n", + " self.reranker = reranker\n", + "\n", + " def invoke(self, query: str):\n", + " vector_docs = self.vector_retriever.invoke(query)\n", + " bm25_docs = self.bm25_retriever.invoke(query)\n", + "\n", + " combined_docs = vector_docs + [\n", + " doc for doc in bm25_docs if doc not in vector_docs\n", + " ]\n", + "\n", + " reranked_docs = self.reranker.compress_documents(combined_docs, query)\n", + " return reranked_docs" + ] + }, + { + "cell_type": "markdown", + "id": "37708e8a15bbef35", + "metadata": {}, + "source": "### Non-contextual retrievers" + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "a85c21f8b344438c", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:18:39.723719Z", + "start_time": "2024-11-04T20:18:38.890797Z" + } + }, + "outputs": [], + "source": [ + "chunks = split_text([WHOLE_DOCUMENT])\n", + "\n", + "embedding_retriever = create_embedding_retriever(chunks)\n", + "\n", + "# Define a BM25 retriever\n", + "bm25_retriever = create_bm25_retriever(chunks)\n", + "\n", + "reranker = CohereRerank(top_n=3, model=\"rerank-english-v2.0\")\n", + "\n", + "# Create combined retriever\n", + "embedding_bm25_retriever_rerank = EmbeddingBM25RerankerRetriever(\n", + " vector_retriever=embedding_retriever,\n", + " bm25_retriever=bm25_retriever,\n", + " reranker=reranker,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "8b93626005638acd", + "metadata": {}, + "source": "### Contextual Retrievers" + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "9b9ee0db80ba3e10", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:20:30.134332Z", + "start_time": "2024-11-04T20:18:39.724296Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 21/21 [01:50<00:00, 5.26s/it]\n" + ] + } + ], + "source": [ + "import tqdm as tqdm\n", + "from langchain.docstore.document import Document\n", + "\n", + "\n", + "def create_contextual_chunks(chunks_):\n", + " # uses a llm to add context to each chunk given the prompts defined above\n", + " contextual_documents = []\n", + " for chunk in tqdm.tqdm(chunks_):\n", + " context = prompt_document.format(WHOLE_DOCUMENT=WHOLE_DOCUMENT)\n", + " chunk_context = prompt_chunk.format(CHUNK_CONTENT=chunk)\n", + " llm_response = llm.invoke(context + chunk_context).content\n", + " page_content = f\"\"\"Text: {chunk.page_content}\\n\\n\\nContext: {llm_response}\"\"\"\n", + " doc = Document(page_content=page_content, metadata=chunk.metadata)\n", + " contextual_documents.append(doc)\n", + " return contextual_documents\n", + "\n", + "\n", + "contextual_documents = create_contextual_chunks(chunks)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "e73cc0678c5864af", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:20:30.142210Z", + "start_time": "2024-11-04T20:20:30.138973Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Text: I couldn't have put this into words when I was 18. All I knew at the time was that I kept taking philosophy courses and they kept being boring. So I decided to switch to AI.\n", + "\n", + "AI was in the air in the mid 1980s, but there were two things especially that made me want to work on it: a novel by Heinlein called The Moon is a Harsh Mistress, which featured an intelligent computer called Mike, and a PBS documentary that showed Terry Winograd using SHRDLU. I haven't tried rereading The Moon is a Harsh Mistress, so I don't know how well it has aged, but when I read it I was drawn entirely into its world. It seemed only a matter of time before we'd have Mike, and when I saw Winograd using SHRDLU, it seemed like that time would be a few years at most. All you had to do was teach SHRDLU more words.\n", + "\n", + "There weren't any classes in AI at Cornell then, not even graduate classes, so I started trying to teach myself. Which meant learning Lisp, since in those days Lisp was regarded as the language of AI. The commonly used programming languages then were pretty primitive, and programmers' ideas correspondingly so. The default language at Cornell was a Pascal-like language called PL/I, and the situation was similar elsewhere. Learning Lisp expanded my concept of a program so fast that it was years before I started to have a sense of where the new limits were. This was more like it; this was what I had expected college to do. It wasn't happening in a class, like it was supposed to, but that was ok. For the next couple years I was on a roll. I knew what I was going to do.\n", + "\n", + "For my undergraduate thesis, I reverse-engineered SHRDLU. My God did I love working on that program. It was a pleasing bit of code, but what made it even more exciting was my belief — hard to imagine now, but not unique in 1985 — that it was already climbing the lower slopes of intelligence.\n", + "\n", + "I had gotten into a program at Cornell that didn't make you choose a major. You could take whatever classes you liked, and choose whatever you liked to put on your degree. I of course chose \"Artificial Intelligence.\" When I got the actual physical diploma, I was dismayed to find that the quotes had been included, which made them read as scare-quotes. At the time this bothered me, but now it seems amusingly accurate, for reasons I was about to discover.\n", + "\n", + "I applied to 3 grad schools: MIT and Yale, which were renowned for AI at the time, and Harvard, which I'd visited because Rich Draves went there, and was also home to Bill Woods, who'd invented the type of parser I used in my SHRDLU clone. Only Harvard accepted me, so that was where I went.\n", + "\n", + "I don't remember the moment it happened, or if there even was a specific moment, but during the first year of grad school I realized that AI, as practiced at the time, was a hoax. By which I mean the sort of AI in which a program that's told \"the dog is sitting on the chair\" translates this into some formal representation and adds it to the list of things it knows.\n", + "\n", + "What these programs really showed was that there's a subset of natural language that's a formal language. But a very proper subset. It was clear that there was an unbridgeable gap between what they could do and actually understanding natural language. It was not, in fact, simply a matter of teaching SHRDLU more words. That whole way of doing AI, with explicit data structures representing concepts, was not going to work. Its brokenness did, as so often happens, generate a lot of opportunities to write papers about various band-aids that could be applied to it, but it was never going to get us Mike.\n", + "\n", + "\n", + "Context: This section of the document discusses the author's journey from studying philosophy to switching to AI during his undergraduate years at Cornell University. He talks about his fascination with AI, his self-learning process, and his undergraduate thesis on reverse-engineering SHRDLU. He also discusses his decision to apply to grad schools, his acceptance at Harvard, and his eventual realization that the AI practices of that time were not going to work. ------------ I couldn't have put this into words when I was 18. All I knew at the time was that I kept taking philosophy courses and they kept being boring. So I decided to switch to AI.\n", + "\n", + "AI was in the air in the mid 1980s, but there were two things especially that made me want to work on it: a novel by Heinlein called The Moon is a Harsh Mistress, which featured an intelligent computer called Mike, and a PBS documentary that showed Terry Winograd using SHRDLU. I haven't tried rereading The Moon is a Harsh Mistress, so I don't know how well it has aged, but when I read it I was drawn entirely into its world. It seemed only a matter of time before we'd have Mike, and when I saw Winograd using SHRDLU, it seemed like that time would be a few years at most. All you had to do was teach SHRDLU more words.\n", + "\n", + "There weren't any classes in AI at Cornell then, not even graduate classes, so I started trying to teach myself. Which meant learning Lisp, since in those days Lisp was regarded as the language of AI. The commonly used programming languages then were pretty primitive, and programmers' ideas correspondingly so. The default language at Cornell was a Pascal-like language called PL/I, and the situation was similar elsewhere. Learning Lisp expanded my concept of a program so fast that it was years before I started to have a sense of where the new limits were. This was more like it; this was what I had expected college to do. It wasn't happening in a class, like it was supposed to, but that was ok. For the next couple years I was on a roll. I knew what I was going to do.\n", + "\n", + "For my undergraduate thesis, I reverse-engineered SHRDLU. My God did I love working on that program. It was a pleasing bit of code, but what made it even more exciting was my belief — hard to imagine now, but not unique in 1985 — that it was already climbing the lower slopes of intelligence.\n", + "\n", + "I had gotten into a program at Cornell that didn't make you choose a major. You could take whatever classes you liked, and choose whatever you liked to put on your degree. I of course chose \"Artificial Intelligence.\" When I got the actual physical diploma, I was dismayed to find that the quotes had been included, which made them read as scare-quotes. At the time this bothered me, but now it seems amusingly accurate, for reasons I was about to discover.\n", + "\n", + "I applied to 3 grad schools: MIT and Yale, which were renowned for AI at the time, and Harvard, which I'd visited because Rich Draves went there, and was also home to Bill Woods, who'd invented the type of parser I used in my SHRDLU clone. Only Harvard accepted me, so that was where I went.\n", + "\n", + "I don't remember the moment it happened, or if there even was a specific moment, but during the first year of grad school I realized that AI, as practiced at the time, was a hoax. By which I mean the sort of AI in which a program that's told \"the dog is sitting on the chair\" translates this into some formal representation and adds it to the list of things it knows.\n", + "\n", + "What these programs really showed was that there's a subset of natural language that's a formal language. But a very proper subset. It was clear that there was an unbridgeable gap between what they could do and actually understanding natural language. It was not, in fact, simply a matter of teaching SHRDLU more words. That whole way of doing AI, with explicit data structures representing concepts, was not going to work. Its brokenness did, as so often happens, generate a lot of opportunities to write papers about various band-aids that could be applied to it, but it was never going to get us Mike.\n" + ] + } + ], + "source": [ + "print(contextual_documents[1].page_content, \"------------\", chunks[1].page_content)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "6ac021069406db1", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:20:31.017725Z", + "start_time": "2024-11-04T20:20:30.143348Z" + } + }, + "outputs": [], + "source": [ + "contextual_embedding_retriever = create_embedding_retriever(contextual_documents)\n", + "\n", + "contextual_bm25_retriever = create_bm25_retriever(contextual_documents)\n", + "\n", + "contextual_embedding_bm25_retriever_rerank = EmbeddingBM25RerankerRetriever(\n", + " vector_retriever=contextual_embedding_retriever,\n", + " bm25_retriever=contextual_bm25_retriever,\n", + " reranker=reranker,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "2b04b648230def7d", + "metadata": {}, + "source": "## Generate Question-Context pairs" + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "a1373b118f3cea15", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:20:31.027412Z", + "start_time": "2024-11-04T20:20:31.018569Z" + } + }, + "outputs": [], + "source": [ + "import json\n", + "import re\n", + "import uuid\n", + "import warnings\n", + "from typing import Dict, List, Tuple\n", + "\n", + "from pydantic import BaseModel\n", + "from tqdm import tqdm\n", + "\n", + "# Prompt to generate questions\n", + "DEFAULT_QA_GENERATE_PROMPT_TMPL = \"\"\"\\\n", + "Context information is below.\n", + "\n", + "---------------------\n", + "{context_str}\n", + "---------------------\n", + "\n", + "Given the context information and no prior knowledge.\n", + "generate only questions based on the below query.\n", + "\n", + "You are a Teacher/ Professor. Your task is to setup \\\n", + "{num_questions_per_chunk} questions for an upcoming \\\n", + "quiz/examination. The questions should be diverse in nature \\\n", + "across the document. Restrict the questions to the \\\n", + "context information provided.\"\n", + "\"\"\"\n", + "\n", + "\n", + "class QuestionContextEvalDataset(BaseModel):\n", + " \"\"\"Embedding QA Dataset.\n", + " Args:\n", + " queries (Dict[str, str]): Dict id -> query.\n", + " corpus (Dict[str, str]): Dict id -> string.\n", + " relevant_docs (Dict[str, List[str]]): Dict query id -> list of doc ids.\n", + " \"\"\"\n", + "\n", + " queries: Dict[str, str] # dict id -> query\n", + " corpus: Dict[str, str] # dict id -> string\n", + " relevant_docs: Dict[str, List[str]] # query id -> list of doc ids\n", + " mode: str = \"text\"\n", + "\n", + " @property\n", + " def query_docid_pairs(self) -> List[Tuple[str, List[str]]]:\n", + " \"\"\"Get query, relevant doc ids.\"\"\"\n", + " return [\n", + " (query, self.relevant_docs[query_id])\n", + " for query_id, query in self.queries.items()\n", + " ]\n", + "\n", + " def save_json(self, path: str) -> None:\n", + " \"\"\"Save json.\"\"\"\n", + " with open(path, \"w\") as f:\n", + " json.dump(self.dict(), f, indent=4)\n", + "\n", + " @classmethod\n", + " def from_json(cls, path: str) -> \"QuestionContextEvalDataset\":\n", + " \"\"\"Load json.\"\"\"\n", + " with open(path) as f:\n", + " data = json.load(f)\n", + " return cls(**data)\n", + "\n", + "\n", + "def generate_question_context_pairs(\n", + " documents: List[Document],\n", + " llm,\n", + " qa_generate_prompt_tmpl: str = DEFAULT_QA_GENERATE_PROMPT_TMPL,\n", + " num_questions_per_chunk: int = 2,\n", + ") -> QuestionContextEvalDataset:\n", + " \"\"\"Generate evaluation dataset using watsonx LLM and a set of chunks with their chunk_ids\n", + "\n", + " Args:\n", + " documents (List[Document]): chunks of data with chunk_id\n", + " llm: LLM used for generating questions\n", + " qa_generate_prompt_tmpl (str): prompt template used for generating questions\n", + " num_questions_per_chunk (int): number of questions generated per chunk\n", + "\n", + " Returns:\n", + " List[Documents]: List of langchain document objects with page content and metadata\n", + " \"\"\"\n", + " doc_dict = {doc.metadata[\"doc_id\"]: doc.page_content for doc in documents}\n", + " queries = {}\n", + " relevant_docs = {}\n", + " for doc_id, text in tqdm(doc_dict.items()):\n", + " query = qa_generate_prompt_tmpl.format(\n", + " context_str=text, num_questions_per_chunk=num_questions_per_chunk\n", + " )\n", + " response = llm.invoke(query).content\n", + " result = re.split(r\"\\n+\", response.strip())\n", + " print(result)\n", + " questions = [\n", + " re.sub(r\"^\\d+[\\).\\s]\", \"\", question).strip() for question in result\n", + " ]\n", + " questions = [question for question in questions if len(question) > 0][\n", + " :num_questions_per_chunk\n", + " ]\n", + "\n", + " num_questions_generated = len(questions)\n", + " if num_questions_generated < num_questions_per_chunk:\n", + " warnings.warn(\n", + " f\"Fewer questions generated ({num_questions_generated}) \"\n", + " f\"than requested ({num_questions_per_chunk}).\"\n", + " )\n", + " for question in questions:\n", + " question_id = str(uuid.uuid4())\n", + " queries[question_id] = question\n", + " relevant_docs[question_id] = [doc_id]\n", + " # construct dataset\n", + " return QuestionContextEvalDataset(\n", + " queries=queries, corpus=doc_dict, relevant_docs=relevant_docs\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "49f7a07d9c8a192c", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:21:31.160413Z", + "start_time": "2024-11-04T20:20:31.028501Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 5%|▍ | 1/21 [00:02<00:59, 2.98s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. Describe the author's early experiences with programming on the IBM 1401. What were some of the challenges he faced and how did the limitations of the technology at the time influence his programming?\", '2. The author initially intended to study philosophy in college but eventually switched to AI. Based on the context, explain the reasons behind this change in his academic direction.']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10%|▉ | 2/21 [00:06<00:58, 3.10s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. In the context, the author mentions two specific inspirations that led him to pursue AI. Identify these inspirations and explain how they influenced his decision.', '2. The author initially believed that teaching SHRDLU more words would lead to the development of AI. However, he later realized this approach was flawed. Discuss his initial belief and the realization that led him to change his perspective.']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 14%|█▍ | 3/21 [00:09<01:00, 3.37s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context, the author discusses his interest in both computer science and art. Discuss how the author's perspective on the longevity and impact of these two fields influenced his career decisions. Provide specific examples from the text.\", '2. The author mentions his book \"On Lisp\" and his experience of writing it. Based on the context, what challenges did he face while writing this book and how did it contribute to his understanding of Lisp hacking?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 19%|█▉ | 4/21 [00:12<00:54, 3.21s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. In the context, the author mentions his decision to write his dissertation on the applications of continuations. What reasons does he give for this choice and how does he reflect on this decision in retrospect?', \"2. Describe the author's experience at the Accademia di Belli Arti in Florence. How does he portray the teaching and learning environment at the institution, and what activities did the students engage in during their time there?\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 24%|██▍ | 5/21 [00:15<00:49, 3.11s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. In the context of the document, the author discusses the process of painting still lives and how it differs from painting people. Can you explain this difference and discuss how the author uses this process to create a more realistic representation of the subject?', '2. The author worked at a company called Interleaf, which had incorporated a scripting language into their software. Discuss the challenges the author faced in this job and how it influenced his understanding of programming and software development.']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 29%|██▊ | 6/21 [00:18<00:46, 3.11s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. Based on the author\\'s experience at Interleaf, explain the concept of \"the low end eats the high end\" and how it influenced his later ventures like Viaweb and Y Combinator. ', '2. Discuss the author\\'s perspective on the teaching approach at RISD, particularly in the painting department, and how it contrasts with his expectations. What does he mean by \"signature style\" and how does it relate to the art market?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 33%|███▎ | 7/21 [00:21<00:40, 2.87s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context, the author mentions his decision to write a book on Lisp. Discuss the author's motivations behind this decision and how it relates to his financial concerns and artistic pursuits.\", '2. Analyze the author\\'s initial business idea of putting art galleries online. Why did it fail according to the author? How did this failure lead to the realization of building an \"internet storefront\"?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 38%|███▊ | 8/21 [00:23<00:36, 2.80s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. \"Describe the initial challenges faced by the authors while developing the software for online stores and how they overcame them. Also, explain the significance of their idea of running the software on the server.\"', '2. \"Discuss the role of aesthetics and high production values in the success of an online store as mentioned in the context. How did the author\\'s background in art contribute to the development of their online store builder software?\"']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 43%|████▎ | 9/21 [00:26<00:33, 2.76s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. In the context of the document, explain the roles and contributions of Robert and Trevor in the development of the ecommerce software. How did their unique perspectives and skills contribute to the project?', \"2. Based on the author's experiences and observations, discuss the challenges and learnings they encountered in the early stages of ecommerce, particularly in relation to user acquisition and understanding retail. Use specific examples from the text.\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 48%|████▊ | 10/21 [00:30<00:32, 2.98s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. Discuss the significance of growth rate in the success of a startup, as illustrated in the context of Viaweb's journey. How did the author's understanding of this concept evolve over time?\", \"2. Analyze the author's transition from running a startup to working at Yahoo. How did this change impact his personal and professional life, and what led to his decision to leave Yahoo in the summer of 1999?\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 52%|█████▏ | 11/21 [00:32<00:29, 2.95s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. Based on the context, discuss the reasons and circumstances that led the author to leave his job at Yahoo and pursue painting. How did his experiences in California and New York influence his decision to return to the tech industry?', \"2. Analyze the author's idea of building a web app for making web apps. How did he envision this idea to be the future of web applications and what challenges did he face in trying to implement this idea?\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 57%|█████▋ | 12/21 [00:35<00:26, 2.93s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context, the author mentions the creation of a new dialect of Lisp called Arc. Discuss the reasons behind the author's decision to create this new dialect and how it was intended to be used in the development of the Aspra project.\", \"2. The author discusses a significant shift in the publishing industry due to the advent of the internet. Explain how this shift impacted the author's perspective on writing and publishing, and discuss the implications it had for the generation of essays.\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 62%|██████▏ | 13/21 [00:38<00:23, 2.92s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. Based on the author's experiences, discuss the significance of working on projects that lack prestige and how it can indicate the presence of genuine interest and potential for discovery. Provide examples from the text to support your answer.\", \"2. Analyze the author's approach to writing essays and giving talks. How does the author use the prospect of public speaking to stimulate creativity and ensure the content is valuable to the audience? Use specific instances from the text in your response.\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 67%|██████▋ | 14/21 [00:41<00:20, 2.92s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. In the context, the author discusses the formation of Y Combinator. Explain how the unique batch model of Y Combinator was discovered and why it was considered distinctive in the investment world during that time.', \"2. Based on the context, discuss the author's initial hesitation towards angel investing and how his experiences and collaborations led to the creation of his own investment firm. What were some of the novel approaches they took due to their lack of knowledge about being angel investors?\"]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 71%|███████▏ | 15/21 [00:44<00:17, 2.90s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. \"Discuss the initial structure and strategy of the Summer Founders Program, including its funding model and the benefits it provided to the participating startups. How did this model contribute to the growth and success of Y Combinator?\"', '2. \"Explain the evolution of Hacker News from its initial concept as Startup News to its current form. What was the rationale behind the changes made and how did it align with the overall objectives of Y Combinator?\"']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 76%|███████▌ | 16/21 [00:47<00:14, 2.83s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context provided, the author compares his stress from Hacker News (HN) to a specific situation. Can you explain this analogy and how it reflects his feelings towards HN's impact on his work at Y Combinator (YC)?\", '2. The author mentions a personal event that led to his decision to hand over YC to someone else. What was this event and how did it influence his decision?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 81%|████████ | 17/21 [00:49<00:10, 2.65s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. Discuss the transition of leadership at YC from the original founders to Sam Altman. What were the reasons behind this change and how was the transition process managed?', '2. Explain the origins and unique characteristics of Lisp as a programming language. How did its initial purpose as a formal model of computation contribute to its power and elegance?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 86%|████████▌ | 18/21 [00:51<00:07, 2.54s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['1. \"Discuss the challenges faced by Paul Graham in developing the programming language Bel, and how he overcame them. Provide specific examples from the text.\"', '2. \"Explain the significance of McCarthy\\'s axiomatic approach in the development of Lisp and Bel. How did the evolution of computer power over time influence this process?\"']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 90%|█████████ | 19/21 [00:54<00:05, 2.65s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context, the author mentions a transition from batch processing to microcomputers, skipping a step in the evolution of computers. What was this skipped step and how did it impact the author's perception of microcomputers?\", '2. The author discusses his experience living in Florence and walking to the Accademia. Describe the route he took and the various conditions he experienced during his walks. How did this experience contribute to his understanding and appreciation of the city?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 95%|█████████▌| 20/21 [00:57<00:02, 2.64s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the context of the document, explain the significance of the name change from Cambridge Seed to Y Combinator and the choice of the color orange for the logo. What does this reflect about the organization's approach and target audience?\", '2. Discuss the author\\'s perspective on the term \"deal flow\" in relation to startups. How does this view align with the purpose of Y Combinator?']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 21/21 [01:00<00:00, 2.86s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\"1. In the given context, the author uses the concept of space aliens to differentiate between 'invented' and 'discovered'. Explain this concept in detail and discuss how it applies to the Pythagorean theorem and Lisp in McCarthy's 1960 paper.\", '2. The author mentions a significant change in their personal and professional life, which is leaving YC and not working with Jessica anymore. Discuss the metaphor used by the author to describe this change and explain its significance.']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "qa_pairs = generate_question_context_pairs(chunks, llm, num_questions_per_chunk=2)" + ] + }, + { + "cell_type": "markdown", + "id": "45bbeb3ef1c0c45e", + "metadata": {}, + "source": "## Evaluate" + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "11c7abff478ba921", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:21:31.166152Z", + "start_time": "2024-11-04T20:21:31.161839Z" + } + }, + "outputs": [], + "source": [ + "def compute_hit_rate(expected_ids, retrieved_ids):\n", + " \"\"\"\n", + " Args:\n", + " expected_ids List[str]: The ground truth doc_id\n", + " retrieved_ids List[str]: The doc_id from retrieved chunks\n", + "\n", + " Returns:\n", + " float: hit rate as a decimal\n", + " \"\"\"\n", + " if retrieved_ids is None or expected_ids is None:\n", + " raise ValueError(\"Retrieved ids and expected ids must be provided\")\n", + " is_hit = any(id in expected_ids for id in retrieved_ids)\n", + " return 1.0 if is_hit else 0.0\n", + "\n", + "\n", + "def compute_mrr(expected_ids, retrieved_ids):\n", + " \"\"\"\n", + " Args:\n", + " expected_ids List[str]: The ground truth doc_id\n", + " retrieved_ids List[str]: The doc_id from retrieved chunks\n", + "\n", + " Returns:\n", + " float: MRR score as a decimal\n", + " \"\"\"\n", + " if retrieved_ids is None or expected_ids is None:\n", + " raise ValueError(\"Retrieved ids and expected ids must be provided\")\n", + " for i, id in enumerate(retrieved_ids):\n", + " if id in expected_ids:\n", + " return 1.0 / (i + 1)\n", + " return 0.0\n", + "\n", + "\n", + "def compute_ndcg(expected_ids, retrieved_ids):\n", + " \"\"\"\n", + " Args:\n", + " expected_ids List[str]: The ground truth doc_id\n", + " retrieved_ids List[str]: The doc_id from retrieved chunks\n", + "\n", + " Returns:\n", + " float: nDCG score as a decimal\n", + " \"\"\"\n", + " if retrieved_ids is None or expected_ids is None:\n", + " raise ValueError(\"Retrieved ids and expected ids must be provided\")\n", + " dcg = 0.0\n", + " idcg = 0.0\n", + " for i, id in enumerate(retrieved_ids):\n", + " if id in expected_ids:\n", + " dcg += 1.0 / (i + 1)\n", + " idcg += 1.0 / (i + 1)\n", + " return dcg / idcg" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "21527aa54b2317d", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:21:31.170867Z", + "start_time": "2024-11-04T20:21:31.167012Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "\n", + "def extract_queries(dataset):\n", + " values = []\n", + " for value in dataset.queries.values():\n", + " values.append(value)\n", + " return values\n", + "\n", + "\n", + "def extract_doc_ids(documents_):\n", + " doc_ids = []\n", + " for doc in documents_:\n", + " doc_ids.append(f\"{doc.metadata['doc_id']}\")\n", + " return doc_ids\n", + "\n", + "\n", + "def evaluate(retriever, dataset):\n", + " mrr_result = []\n", + " hit_rate_result = []\n", + " ndcg_result = []\n", + "\n", + " # Loop over dataset\n", + " for i in tqdm(range(len(dataset.queries))):\n", + " context = retriever.invoke(extract_queries(dataset)[i])\n", + "\n", + " expected_ids = dataset.relevant_docs[list(dataset.queries.keys())[i]]\n", + " retrieved_ids = extract_doc_ids(context)\n", + " # compute metrics\n", + " mrr = compute_mrr(expected_ids=expected_ids, retrieved_ids=retrieved_ids)\n", + " hit_rate = compute_hit_rate(\n", + " expected_ids=expected_ids, retrieved_ids=retrieved_ids\n", + " )\n", + " ndgc = compute_ndcg(expected_ids=expected_ids, retrieved_ids=retrieved_ids)\n", + " # append results\n", + " mrr_result.append(mrr)\n", + " hit_rate_result.append(hit_rate)\n", + " ndcg_result.append(ndgc)\n", + "\n", + " array2D = np.array([mrr_result, hit_rate_result, ndcg_result])\n", + " mean_results = np.mean(array2D, axis=1)\n", + " results_df = pd.DataFrame(mean_results)\n", + " results_df.index = [\"MRR\", \"Hit Rate\", \"nDCG\"]\n", + " return results_df" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "9f9c76d4f00fc8b", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:21:50.212361Z", + "start_time": "2024-11-04T20:21:31.171699Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:19<00:00, 2.21it/s]\n" + ] + } + ], + "source": [ + "embedding_bm25_rerank_results = evaluate(embedding_bm25_retriever_rerank, qa_pairs)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "48446a2a806329db", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:08.024314Z", + "start_time": "2024-11-04T20:21:50.213597Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:17<00:00, 2.36it/s]\n" + ] + } + ], + "source": [ + "contextual_embedding_bm25_rerank_results = evaluate(\n", + " contextual_embedding_bm25_retriever_rerank, qa_pairs\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "5f15b680db1e2a4c", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:10.838380Z", + "start_time": "2024-11-04T20:22:08.026152Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:02<00:00, 14.96it/s]\n" + ] + } + ], + "source": [ + "embedding_retriever_results = evaluate(embedding_retriever, qa_pairs)" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "9abc2f5386eea350", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:13.538817Z", + "start_time": "2024-11-04T20:22:10.839183Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:02<00:00, 15.57it/s]\n" + ] + } + ], + "source": [ + "contextual_embedding_retriever_results = evaluate(\n", + " contextual_embedding_retriever, qa_pairs\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "21a7886c219437f2", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:13.556293Z", + "start_time": "2024-11-04T20:22:13.539422Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:00<00:00, 2934.59it/s]\n" + ] + } + ], + "source": [ + "bm25_results = evaluate(bm25_retriever, qa_pairs)" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "226c01c4fb0441e8", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:13.573494Z", + "start_time": "2024-11-04T20:22:13.557066Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 42/42 [00:00<00:00, 3022.46it/s]\n" + ] + } + ], + "source": [ + "contextual_bm25_results = evaluate(contextual_bm25_retriever, qa_pairs)" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "b0f932b2b804e38a", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:13.578465Z", + "start_time": "2024-11-04T20:22:13.574085Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RetrieversMRRHit RatenDCG
0Embedding Retriever0.7976190.9047620.382857
1BM25 Retriever0.8650790.9285710.415238
2Embedding + BM25 Retriever + Reranker0.9603171.0000000.523810
\n", + "
" + ], + "text/plain": [ + " Retrievers MRR Hit Rate nDCG\n", + "0 Embedding Retriever 0.797619 0.904762 0.382857\n", + "1 BM25 Retriever 0.865079 0.928571 0.415238\n", + "2 Embedding + BM25 Retriever + Reranker 0.960317 1.000000 0.523810" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def display_results(name, eval_results):\n", + " \"\"\"Display results from evaluate.\"\"\"\n", + "\n", + " metrics = [\"MRR\", \"Hit Rate\", \"nDCG\"]\n", + "\n", + " columns = {\n", + " \"Retrievers\": [name],\n", + " **{metric: val for metric, val in zip(metrics, eval_results.values)},\n", + " }\n", + "\n", + " metric_df = pd.DataFrame(columns)\n", + "\n", + " return metric_df\n", + "\n", + "\n", + "pd.concat(\n", + " [\n", + " display_results(\"Embedding Retriever\", embedding_retriever_results),\n", + " display_results(\"BM25 Retriever\", bm25_results),\n", + " display_results(\n", + " \"Embedding + BM25 Retriever + Reranker\",\n", + " embedding_bm25_rerank_results,\n", + " ),\n", + " ],\n", + " ignore_index=True,\n", + " axis=0,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "ede2c131b792589b", + "metadata": { + "ExecuteTime": { + "end_time": "2024-11-04T20:22:13.582297Z", + "start_time": "2024-11-04T20:22:13.579076Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RetrieversMRRHit RatenDCG
0Contextual Embedding Retriever0.7857140.9047620.377143
1Contextual BM25 Retriever0.9087300.9761900.436190
2Contextual Embedding + BM25 Retriever + Reranker0.9841271.0000000.536797
\n", + "
" + ], + "text/plain": [ + " Retrievers MRR Hit Rate \\\n", + "0 Contextual Embedding Retriever 0.785714 0.904762 \n", + "1 Contextual BM25 Retriever 0.908730 0.976190 \n", + "2 Contextual Embedding + BM25 Retriever + Reranker 0.984127 1.000000 \n", + "\n", + " nDCG \n", + "0 0.377143 \n", + "1 0.436190 \n", + "2 0.536797 " + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.concat(\n", + " [\n", + " display_results(\n", + " \"Contextual Embedding Retriever\", contextual_embedding_retriever_results\n", + " ),\n", + " display_results(\"Contextual BM25 Retriever\", contextual_bm25_results),\n", + " display_results(\n", + " \"Contextual Embedding + BM25 Retriever + Reranker\",\n", + " contextual_embedding_bm25_rerank_results,\n", + " ),\n", + " ],\n", + " ignore_index=True,\n", + " axis=0,\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/cassettes/sql_csv_27c84b27-9367-4c58-8a88-ade1fbf6683c.msgpack.zlib b/docs/cassettes/sql_csv_27c84b27-9367-4c58-8a88-ade1fbf6683c.msgpack.zlib index 063ab477066c7b..ecef1862a81898 100644 --- a/docs/cassettes/sql_csv_27c84b27-9367-4c58-8a88-ade1fbf6683c.msgpack.zlib +++ b/docs/cassettes/sql_csv_27c84b27-9367-4c58-8a88-ade1fbf6683c.msgpack.zlib @@ -1 +1 @@ -eNptVWtsHFcVdpIKpapEAoKKVoVMVoilrWd2XvuyZRp7N3bWsb1+OzYFc3fm7M545+WZO+u1S4uaFqSoiGZKK/UhpW3i7ILlOAkxaerEJSEQAU5EhJWGVLgVAvWNaIGqjSIU7qzXxFYyP3bn3nvud75zznfO7C4XwHZU01g3rRoYbCRhsnC83WUbRl1w8OMlHbBiypOd6Z7eA66tXrlPwdhy6kIhZKmMaYGBVEYy9VCBC0kKwiHybmlQgZnMmPL4G+uYhwI6OA7KgROoo779UEAyiS8Dk0UgRSmoABSiLGTIyKGSCKNmG+lABeVskBpTsUJJpubqhkMFG3MQpIgdFWxGNgQZasBWMZBzGShsUr5nl6yx4u/ZNmjIp0FlAI8BGJV9PGau4DFUN2DXNqh2ZOdlc8ygsqZNmHSOk4CNZVTHUC0LcMWpYWJFNXIUaA4wgVoqYJsa+DG4DtiBh79DdnRyR/O3chamBSZME/yM6dsaZJcj/w62AelkkUUEhmxg0C2Sd2LoY7FM9OGyAkgmVXmzZvOkYjrYm1mb6cNIkoDgg0EoEkLeodyEatVSMmRJwDBFsmtApY7eVB7AopGmFqC0fMs7gixLU6VKZkIjjmlMV6tB43ELbj6e8qOjSe0M7M2mCYnGVKiaIY4J8wx7pEg7GKmGRkpMa4jwKVmV85OrDywk5QkIXZWbV1q+PLPaxnS8g+1ISvesgUS2pHgHka1HxGOr923XwKoOXjnRebO76uENdwLDsYx4dA2wM25I3sFKIV5ZcxmwPU5LJsHwXmZLkmnmVfCu/Gt4WMoOZ/SGUWY0zLpopzuyyxyMpRuZtv7uvogYG2qx4gWc7h8oDAliUu1vk/M0F+XjEZ6NRAWaY1iGYzi6qPRn7eHGUXWgwA5vH5LScmuTU+S1CLNjtHUIN4lsKiy0J5LtmZTTCn2DI63y6E4YyghJkLv4drVLacpa4azQvzMitwy6SbelZ4jrqqcIO7egyg0d0TamS9/RrPCKklBRX4uYSm3vyU6EBwdizR1N0T4hFQ+39RfcVNcqejwn0myVYYQVY6z/zKxoQwMjhxXvgMDyP7PBsUhzw2MlkjLsOrsn/VY5/7tytcn3p3fekPCdk6SjwZvvdYnYeZ5KS5jiWV6kuFgdx9VxUaqlvXc6UXXTe0sJHu21keFkiQy3r0i+LCmukQd5KnFLsc/7YieV9OmTLqWhaJkO0FVW3vQuunt5vNGp5LHlzqJNO4cMdaLi1puvqH5sojgmS64sK4UxnY1PiIKaAVfKzlavWLbpuyGEaN3xJjmRC89Uj1aEN0WCZWmOpVlurkiTPgdN1VWS0MpvdciSu2GS7RM3G2AzD2Qcl8VKOdjXVlvYoBPF+s5vwIjxePzUrY1WoARiEhcic2utHFjNhuN158TNBlWI/awzXVyxplXZu/J1shiO8lE5i/h4RghnQYzGgCcvgijLGSnGyVH2VTL7VImg+NW0TBvTDkjki4LHvSu1Oir6Q6ZB4MJChERaT6mGpLky9LiZpOnH4NRTFhnpJpIPJ5rpBJIUoHsqAvTKycGOxvZU4vguerWS6LS1/DUrGyYZ5NlsqQdsUhhvStJMVybT0oYSwepuHPRmY3IkE+UhiuKCIGTiAt1E5tAK2v91N+mP2jLSCPeC5B1ThIZAnSgKgXpKRw2xCClT5Zv3aMmP1cj9dt2jW57YWFN5NmhdZzrWc1869c8Bcf6l2/fClzu/uOnuMNe16RvnNmw+jrecvGQML36rt+mzsUVAW4vqn56LLj532f3NVwbu2sIxdzT+YnbOufb9Fy9c+nRh6eR7C5OfXv33xx+V/nb58Jmzi5f2vvLY+ndepNTy+621hz7XrRyfxdTG3Xnz2Qc3PVVkPxxI7rnrXWqBdpm5/36eXrqnfjT03uU/rH/mtj+2aPdw5/48V5do/umZ0JajJ+YTrR999++nW65tPXci8dXNzKmBfY9vfdPYsedHp3uPLoq/vP++i20/Tr6z7Ym9+5aOaJyx9PbF5wsbHrlz5slfN+YnHhHjnPr81ybqd9XOb1w63/3B3W99eHbk/KGzrx6+2vBaZ/PVzNvbiuLWZ4OzpzLRL0iLI/cuHNj3l7pa+sLGX52+7ezCX1//SfSti3tT82zHjqboZ98L1tkvwLYm9QdHepkf1lL5p0dx5z/+c+F67fFPnv59+sH9b+y59kzwm7k7wLZe//n7L0z1GfsfILm+fn1Dzcdd3aGD62tq/gdFO3xA \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_2e56a891-4c3f-4e5a-a5ee-3973112ffeb9.msgpack.zlib b/docs/cassettes/sql_csv_2e56a891-4c3f-4e5a-a5ee-3973112ffeb9.msgpack.zlib index 28fe0a62d01123..fd21b58519816f 100644 --- a/docs/cassettes/sql_csv_2e56a891-4c3f-4e5a-a5ee-3973112ffeb9.msgpack.zlib +++ b/docs/cassettes/sql_csv_2e56a891-4c3f-4e5a-a5ee-3973112ffeb9.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_35ea904e-795f-411b-bef8-6484dbb6e35c.msgpack.zlib b/docs/cassettes/sql_csv_35ea904e-795f-411b-bef8-6484dbb6e35c.msgpack.zlib index 1c8c44b17038b9..1dd04794032ec9 100644 --- a/docs/cassettes/sql_csv_35ea904e-795f-411b-bef8-6484dbb6e35c.msgpack.zlib +++ b/docs/cassettes/sql_csv_35ea904e-795f-411b-bef8-6484dbb6e35c.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_476128f2-aa61-47f5-a371-dcff7b391d19.msgpack.zlib b/docs/cassettes/sql_csv_476128f2-aa61-47f5-a371-dcff7b391d19.msgpack.zlib index aad2ff63de820f..2302fac644e137 100644 --- a/docs/cassettes/sql_csv_476128f2-aa61-47f5-a371-dcff7b391d19.msgpack.zlib +++ b/docs/cassettes/sql_csv_476128f2-aa61-47f5-a371-dcff7b391d19.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_77a70e1b-d3ee-4fa6-a4a0-d2e5005e6c8a.msgpack.zlib b/docs/cassettes/sql_csv_77a70e1b-d3ee-4fa6-a4a0-d2e5005e6c8a.msgpack.zlib index 392b3d6d950342..46e43d08c668c3 100644 --- a/docs/cassettes/sql_csv_77a70e1b-d3ee-4fa6-a4a0-d2e5005e6c8a.msgpack.zlib +++ b/docs/cassettes/sql_csv_77a70e1b-d3ee-4fa6-a4a0-d2e5005e6c8a.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_7aefe929-5e39-4ed1-b135-aaf88edce2eb.msgpack.zlib b/docs/cassettes/sql_csv_7aefe929-5e39-4ed1-b135-aaf88edce2eb.msgpack.zlib index 37c0aaf4813230..bd2f6016f3216a 100644 --- a/docs/cassettes/sql_csv_7aefe929-5e39-4ed1-b135-aaf88edce2eb.msgpack.zlib +++ b/docs/cassettes/sql_csv_7aefe929-5e39-4ed1-b135-aaf88edce2eb.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +eNrtW81vG8mVT5DbbHYRLLB72UuFCGB7wKb6gx9NGTpQEi3T+qAsUrLsoSEUu6vJFpvd7a5uSfRAh0z2vuAix73sjkZKDGeSYAa72WRnzznkkKsHQc45BvkL8qq6KTUtaSg7smdklWCYZPerV+/93ke9+vroaIcE1Pbcbz+33ZAE2AjhB/3xR0cBeRIRGv7rYZ+EXc88WK03mh9Hgf3i/W4Y+nR6agr7ds7ziYvtnOH1p3aUKaOLwyn47juEszloe+bgy+/+x4eZPqEUdwjNTKMPPswYHvTlhvAj89CLEA4Iwi6C926ITELtjktMFHpoJBLatcMuwqhxfwmZOMRtTEmu5S7YO8RlLW3Xj0LE5YVus8gICA6BJ6IDN2QqGdhxBsjwgoAAN/rEseE10AcD1k0QQZuwC7wcz+shHLIfKCA0ckKKPIv/jKmxa8KLMApc/hC7dJcEIMq664CG/FlESYCoTwzbsgllQsTfDeRG/Ta8A4ZkDzOQeIMBaEe7TA6vHWIbRMHOLh5Q5Nh9O0QDLwpORAXZ+h4NkSKP5IPOGYYGwOAFJrBPy94GieGHQ3YwQGt4TtR3ucYnKnB2HGiGnts5kc2OCVKArxDwlkQYywtAUIeTxIwpsgKvn1YYGjokizwXwMe0x9vE4o1JRFGHWzKBmRsxUauLdwBlw+DgevDPcyhnc+ytIDH3jpdErbM+wRT8eZs43m7cOIfG3tguMOtj1mMCCngeoPZSK9Y3OC0Ng8hITGLZLnZOHIAJu7zeaCLTi0BpZHSJ0Usbr02gJwLoEiPiUtthDtUsRoI6JGRuTIIANNvt2k6aDscMsiDfbsD8dtwbQ/bZAb8BIVrufB2t1Juoj3vMOQdofnkJ0RCCoQ+xRdHN2kqjutbMovXV+UqzmkXz1aUq/1yrryISGrlbHOZxLFtuzRozDigJ/uF6EEqE9Jk5oQfz5ZZZtB2BbyW+1srUoJl7I0Q919ttZcAhxkMok0WZwHMIywp0QEHkzH4WjSWLXcgvN5Jm4ImQMFjSYAFFo2DH3vECmubCIvEUjxqiXS9yzLFY5456yuOZQqAgYt2iGg8xjnsOoSbLFseskvCEphTs3sejnMFj69jZ405yaQkxpTaYByTbfwyP+55JHPa844eSlitIgFzbYw1ceKrAJ3ggwX34AZ4IAGcAJR+AADrGT86V2DPmsXGiDQc+78eKXJ7YGavj79MAjIv7MeBPnC2zvcUVYUSQhY3A9hO6TI0nWG5fm/KQQDZLbSaBjOWA6ZknjtIry9KJy3pRyBpy2jgnxTlizMFQLZ1h7dixEmbZk7hIhhCIdsg6bXIcrrz9MRU0H704I2KySVymHozH0CgiiWt4EUsxfHihNCJxlll3mfe6o1R6Yw/+bjC/uQHJnjkVmPNGlqeXBNLEIwC7Ey8ZIcU9AvGWsV/4OACDQLeUW8cPYHwNQpvEP2PrsG8vmacywRCc98gXwIUgrWT295kfwiBvB8Rk3pKwf5wi9drbwAdIeRC9qjPFmr+CN0Hl0McSJQwFlk8YmDyUeOCkvSkVakxhykcsFHi7NBljPDoK6hyaJSw9MC8Yj3YYPSJeF5A91hFkfVYmsJSbKMD630qILTug4fdRNR4cEVdhOuYEcck/1eRTm2xJTrfF8KJn2/NcKEbiI96YawsDhtF9aVSPwckdy2vH8t44W+AbF/KPtNCX5yUpkM91FeYdEOB9PxygWLzx1PLVjnOqkLmAfcAntzhmiXksDLmLCXSGjJVx0c7D8nLg4kG6xbMYDG6nhVnnhc0orMApxuoR20qXJEA1ShVnVieVuA6Nxlieokzqkzg/pqX8/uVltONMxjRqJ9pA6v+b89rj/aMuwVA20387gKQRDj8dn9X8nNWeMBiz8cAE9sOfdZ7afhaks1jN8wwKC5dwYw2f9QjxJexAKXsYtxr+Avu+A5MP9n5qm3ru86QQkZgkp18/YxWLxOdBw8/rIESlNrU6gGzmIiVXUHPqL/YkyuYIbLIhORjkOfT5+9+kX/jY6AETKZnaDQ/jxp+maTw6/GQZG/XGGEscGN3hJzjoF/OfpZ/DDCm0+2R4NLd6urvk5Ul3Wk5RcqVfjjGGmZgx/MTCDiX/M9aYwOAr8cF2+J/ypyN8HOJ2wu7wQFNV/SdQOfhQfJMfHbJSNqIfHYAxyO9+e5SUBP9VXxxZ8Y/f+ueDeTDM8ItmN8oiuYRWvB2kymoeKcVpTZ0u6Ghhufl8LumnyezwAoVkL5yCyQ08iSus2+BiOKAknIlCS9J/2QygTrXAONWRIxwZ3cgFH3w2d6YLfBFPWiSmEFR7EtnzYUySEjGHzzeltXiCLdXmP4v9TfKCDnbtp9wfhl9wX9h9urdrGpFpdnd2+3L5aV6z2yQyrM+TJhBPrBsQSOrT4ceaXPg0eTOyxjNQXpYUWZKVX+9JLD/yeaUU/5/M8unwoCDL8q9OE4Rej7h0eJSX+d//pykCGGJsl/V9wiZfLpf/72yiESsNSIp6/tfjVIB1io2i9umvThMkLD7O9+nzvRG5ZJvDFz+AH1sEW+WyhZW8mi/n82YJF7FR0sqyWsBaMU/k/2U5wgA2zJq+F4C1IYtBiTgYvsj28R4LvRlNKWhFUPU2jBuGE5mkEbXnPaYEvY18qOY9bP587o40hyELSQ3ukcOj+YcrleXa3LMGSDkHMwub/PuX3/7O1pZhbbX7MwvYbMyvrTycXY/ai17ngVncG6ztesGd4r3ik0VnaXFBo7i707P7VUkpaXK5XFJKuqTk5JySU6TyQH64XLCWitTv9GYrzWWt1qu4qtOxc05jLXd/ZV3X17QNzdXDjegRXTRX56urRnex3itv9/r5fOdhz7/nW4vq9sbGwr3N0uDRdnW2AtrgsDszdRuSuQ/Zks4kMSNBzEgsYkrT8ihibsNAwjCYyY0nyNvobhj6bE59GzUYmAQ+IeM3oO6eWfFc8uLHgEG0Y5sztb3Ne0t+UL/vz98pD+55zrzaby9XG+uutenP5aqlzsJSM4rU6l4vBYKqFyU5waEo53Xuhieiv6ZU/70ppVOAVOcjD9jR9ahrW9ZhgwQQQcNnhuNFJuT6gByCzdcqD4ef6yYhbZ2Uy7hY1i2jJM3WG0fYAWfaMYafdbWZzHQ+r2Vuwyx8Ri9C4PBlsB8exgPUl9/5HStE2Jhnw/iUYWtmBtRoUuX+0+2FZlDbXs/jhe3N2YH7RA/M1fX26uKymcmOBq24Re5klS3HExEQxKtewPMEvOxoSjk+o4RcoBagRTzN3rJALBL4IB2wdyPHAV5dzzbYIA2TSNs1yV5mWs7CIO2EODP9YTJ/TU1fsydT7JgBr6BYPf0yj1hpeLGFt9sRUTbmVjYb3QfzD9ajjQfLT+QKFFDJQJ0qilI10agkOrOAzOCgE/G1DiCAAf5xFmoBK6LYiQXbz2YcrwNZs01HkoL2Nu1uAXiUsedUj/ffe+/qW+lcG6TBTAP24T6D7DphNFnXNIopnT+Yr69UH7/33mUulP/9T8VCuVgoFwvlYqFcLJSfv1A+LibP2WfRJQvho/HvvNVwNnKhSfXIK61gpQZUdDyijkMb2iCibaQVZLKOybx1EcnEroHYNRC7BmLXQOwaiF0DsWvwNewa/PFb3xP7Bl//vsGhwZdchy/+8g1fcX0Da6Gn90zy5dKr7Zn807XeMykqV2XPRHkDeyaaqhaNkqKU2jokp4LC/EoxCLasdgmX9fab3zO5hLV4U9VV5TXW4v/u91+xgulUzIUds3C3bj3s9Bq05zeN5aVq+PBdXItfrC36qhLdbxtOqVgqW7N0EdCyrFdcix8V729nGf6KGOjVl+Fbmctbh39XQeJVuoBpEkzJzEvgNAGnVmZaRN0Fok5ANAkitrYrUJqIkiEwmpyT9q8bSN+o/fjv/Vnsx4v9eLEfL/bjxX682I+/0H78GwPj/AWai26njuPQSm/MweQH3DxB4bjqGMeo5c6tVSH0ULMyu1RFCTG6CVEWtjIN7sbEhPCYrS3UViBS4xerhgNqn3q8At3Cw2Z18/hRg+y99KTSYTR3luqVEyK7zfZa6VTD9yBKKKq0PRyc0S0MzaDq1BzkJBO+nkd3B+hGfbTcWyxlTL3fcrVkV5ifOkg05XhNt9xjVcNEt5ArEzL5QyZyeJ6Q4XlShVwMV26FWitcDiDV78LLuzgIbIpmAxy5QNPHDvBW1RyQKa0Q/i/l1ELLVfjP5QBGiHte12X0pgOD8807DuRt1yDwxO50KIQ+HpDgFpqL+ky6VmiRmKemp3gqOVXXNM6WCWNT4LsEWRqju8Tu9WyXuCct1SJrKSfSlJk4709dOIzO9WlxrEUcaxHHWsSxFnGsRRxrEcdaxLEWcaxFHGs5yGta8XKPtZTf6WMtpdLVONZSKJT+lmMtxbOPtRQUS5MVRdOMfN4o6AVcJIaK81jWC0rekvFVONZiKbJp6a9xrOVf/nD+RsDddWdx8VFU3t14oGyHe/pup9aIBotPXnMjoPyNPtZSX1194s1vyLWirNmPolp/pbHgzbvlVzzWkswE38qplqtin6/1VMs7C1LsaQKmt3pa452FqVFdqs41BU6TcEKVjQWB0iSUblYERpMw6hCB0SSMbgmIJiekhgBpMkjxVrpAauIhYJG5Rea+jIi7s1ZfFjBNhCm0Q4HSJJT4iRuB0iRfenC3ulYVOE3EiR3LETBNPHa/A4IJlCY504zAaCJGAqJJECkCord5xeWKgPSNuuLyj01xxUVccRFXXMQVF3HFRVxxEVdcxBUXccXl7VxxeWNhdP6Zpwted3k5iviLOH7iAwVsu/wmuMEtVGmMNmG24DdfHj52Jr5whUauhGaQck7YfXBT1XN5WdfKiq6oerGQLxeztx5fGONzFRbXiMQ1InGNSFwjEteIxDUicY1IXCMS14jENaKDfLGsXuI1Im1alt/la0SKrl+Va0TyG7hGRBRNaat5prGuYsVQ1aJWlFVdlQ0MD/QrcY2oYJgYv8Y1on/401dstmw2dwqet+w7j5S10oPy+qNSe7sn369foWtEUHi8iQs8VwSZExiaXZK5pqqP1qqvr/7XWHfPuraqn+zJXFcE7OurOkyQAm/P7rNSaHBtUbiuiqv6ddU8d10VzyvXNsoHBF/fQe56OfwFDtbR0PPPOlL3V2DWhbM= \ No newline at end of file diff --git a/docs/cassettes/sql_csv_9e87a820-e4ce-417e-b580-043fb2d5c8f2.msgpack.zlib b/docs/cassettes/sql_csv_9e87a820-e4ce-417e-b580-043fb2d5c8f2.msgpack.zlib index 92bfc92e747db6..4e55b974bc2945 100644 --- a/docs/cassettes/sql_csv_9e87a820-e4ce-417e-b580-043fb2d5c8f2.msgpack.zlib +++ b/docs/cassettes/sql_csv_9e87a820-e4ce-417e-b580-043fb2d5c8f2.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_c6a9c8ec-1d06-4870-a584-b8d7b6c6ddfe.msgpack.zlib b/docs/cassettes/sql_csv_c6a9c8ec-1d06-4870-a584-b8d7b6c6ddfe.msgpack.zlib index c39d4beb2c9512..5a926bd49615e3 100644 --- a/docs/cassettes/sql_csv_c6a9c8ec-1d06-4870-a584-b8d7b6c6ddfe.msgpack.zlib +++ b/docs/cassettes/sql_csv_c6a9c8ec-1d06-4870-a584-b8d7b6c6ddfe.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/sql_csv_ff6e98ec-52f1-4ffd-9ea8-bacedfa29f28.msgpack.zlib b/docs/cassettes/sql_csv_ff6e98ec-52f1-4ffd-9ea8-bacedfa29f28.msgpack.zlib index f26adb44e7244b..ca3a230e9ba281 100644 --- a/docs/cassettes/sql_csv_ff6e98ec-52f1-4ffd-9ea8-bacedfa29f28.msgpack.zlib +++ b/docs/cassettes/sql_csv_ff6e98ec-52f1-4ffd-9ea8-bacedfa29f28.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/summarize_map_reduce_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib b/docs/cassettes/summarize_map_reduce_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib index b75750b3052148..d01822a7de478c 100644 --- a/docs/cassettes/summarize_map_reduce_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib +++ b/docs/cassettes/summarize_map_reduce_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/summarize_map_reduce_27c8fed0-b2d7-4549-a086-f5ee657efc41.msgpack.zlib b/docs/cassettes/summarize_map_reduce_27c8fed0-b2d7-4549-a086-f5ee657efc41.msgpack.zlib index 982acddac1899a..785cd1501424bd 100644 --- a/docs/cassettes/summarize_map_reduce_27c8fed0-b2d7-4549-a086-f5ee657efc41.msgpack.zlib +++ b/docs/cassettes/summarize_map_reduce_27c8fed0-b2d7-4549-a086-f5ee657efc41.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/summarize_map_reduce_4f26c1e3-3d3c-44f7-bb5f-46db9dc40f4b.msgpack.zlib b/docs/cassettes/summarize_map_reduce_4f26c1e3-3d3c-44f7-bb5f-46db9dc40f4b.msgpack.zlib index 15b03784b2e293..4ffb4971f48e51 100644 --- a/docs/cassettes/summarize_map_reduce_4f26c1e3-3d3c-44f7-bb5f-46db9dc40f4b.msgpack.zlib +++ b/docs/cassettes/summarize_map_reduce_4f26c1e3-3d3c-44f7-bb5f-46db9dc40f4b.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/summarize_refine_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib b/docs/cassettes/summarize_refine_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib index b35c03253fd8d3..2ed01eb51a6421 100644 --- a/docs/cassettes/summarize_refine_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib +++ b/docs/cassettes/summarize_refine_0701bb7d-fbc6-497e-a577-25d56e6e43c6.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/cassettes/summarize_refine_21711ff5-4e06-4843-9109-e7d89e679449.msgpack.zlib b/docs/cassettes/summarize_refine_21711ff5-4e06-4843-9109-e7d89e679449.msgpack.zlib index 2afe0b999d99d7..9a4707d2a05c2d 100644 --- a/docs/cassettes/summarize_refine_21711ff5-4e06-4843-9109-e7d89e679449.msgpack.zlib +++ b/docs/cassettes/summarize_refine_21711ff5-4e06-4843-9109-e7d89e679449.msgpack.zlib @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/docs/concepts/architecture.mdx b/docs/docs/concepts/architecture.mdx index 58872f1c724eb1..923ee5a705f20b 100644 --- a/docs/docs/concepts/architecture.mdx +++ b/docs/docs/concepts/architecture.mdx @@ -8,8 +8,8 @@ LangChain is a framework that consists of a number of packages. \u001b[0m\u001b[32;49m24.3.1\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } @@ -105,7 +108,7 @@ "os.environ[\"NEO4J_USERNAME\"] = \"neo4j\"\n", "os.environ[\"NEO4J_PASSWORD\"] = \"password\"\n", "\n", - "graph = Neo4jGraph()" + "graph = Neo4jGraph(refresh_schema=False)" ] }, { @@ -149,8 +152,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Nodes:[Node(id='Marie Curie', type='Person'), Node(id='Pierre Curie', type='Person'), Node(id='University Of Paris', type='Organization')]\n", - "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='Pierre Curie', type='Person'), type='MARRIED'), Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='University Of Paris', type='Organization'), type='PROFESSOR')]\n" + "Nodes:[Node(id='Marie Curie', type='Person', properties={}), Node(id='Pierre Curie', type='Person', properties={}), Node(id='University Of Paris', type='Organization', properties={})]\n", + "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='Pierre Curie', type='Person', properties={}), type='MARRIED', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='University Of Paris', type='Organization', properties={}), type='PROFESSOR', properties={})]\n" ] } ], @@ -191,8 +194,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Nodes:[Node(id='Marie Curie', type='Person'), Node(id='Pierre Curie', type='Person'), Node(id='University Of Paris', type='Organization')]\n", - "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='Pierre Curie', type='Person'), type='SPOUSE'), Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='University Of Paris', type='Organization'), type='WORKED_AT')]\n" + "Nodes:[Node(id='Marie Curie', type='Person', properties={}), Node(id='Pierre Curie', type='Person', properties={}), Node(id='University Of Paris', type='Organization', properties={})]\n", + "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='Pierre Curie', type='Person', properties={}), type='SPOUSE', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='University Of Paris', type='Organization', properties={}), type='WORKED_AT', properties={})]\n" ] } ], @@ -209,6 +212,44 @@ "print(f\"Relationships:{graph_documents_filtered[0].relationships}\")" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To define the graph schema more precisely, consider using a three-tuple approach for relationships. In this approach, each tuple consists of three elements: the source node, the relationship type, and the target node." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nodes:[Node(id='Marie Curie', type='Person', properties={}), Node(id='Pierre Curie', type='Person', properties={}), Node(id='University Of Paris', type='Organization', properties={})]\n", + "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='Pierre Curie', type='Person', properties={}), type='SPOUSE', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='University Of Paris', type='Organization', properties={}), type='WORKED_AT', properties={})]\n" + ] + } + ], + "source": [ + "allowed_relationships = [\n", + " (\"Person\", \"SPOUSE\", \"Person\"),\n", + " (\"Person\", \"NATIONALITY\", \"Country\"),\n", + " (\"Person\", \"WORKED_AT\", \"Organization\"),\n", + "]\n", + "\n", + "llm_transformer_tuple = LLMGraphTransformer(\n", + " llm=llm,\n", + " allowed_nodes=[\"Person\", \"Country\", \"Organization\"],\n", + " allowed_relationships=allowed_relationships,\n", + ")\n", + "llm_transformer_tuple = llm_transformer_filtered.convert_to_graph_documents(documents)\n", + "print(f\"Nodes:{graph_documents_filtered[0].nodes}\")\n", + "print(f\"Relationships:{graph_documents_filtered[0].relationships}\")" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -229,15 +270,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Nodes:[Node(id='Marie Curie', type='Person', properties={'born_year': '1867'}), Node(id='Pierre Curie', type='Person'), Node(id='University Of Paris', type='Organization')]\n", - "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='Pierre Curie', type='Person'), type='SPOUSE'), Relationship(source=Node(id='Marie Curie', type='Person'), target=Node(id='University Of Paris', type='Organization'), type='WORKED_AT')]\n" + "Nodes:[Node(id='Marie Curie', type='Person', properties={'born_year': '1867'}), Node(id='Pierre Curie', type='Person', properties={}), Node(id='University Of Paris', type='Organization', properties={}), Node(id='Poland', type='Country', properties={}), Node(id='France', type='Country', properties={})]\n", + "Relationships:[Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='Poland', type='Country', properties={}), type='NATIONALITY', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='France', type='Country', properties={}), type='NATIONALITY', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='Pierre Curie', type='Person', properties={}), type='SPOUSE', properties={}), Relationship(source=Node(id='Marie Curie', type='Person', properties={}), target=Node(id='University Of Paris', type='Organization', properties={}), type='WORKED_AT', properties={})]\n" ] } ], @@ -264,12 +305,71 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "graph.add_graph_documents(graph_documents_props)" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most graph databases support indexes to optimize data import and retrieval. Since we might not know all the node labels in advance, we can handle this by adding a secondary base label to each node using the `baseEntityLabel` parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "graph.add_graph_documents(graph_documents, baseEntityLabel=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Results will look like:\n", + "\n", + "![graph_construction3.png](../../static/img/graph_construction3.png)\n", + "\n", + "The final option is to also import the source documents for the extracted nodes and relationships. This approach lets us track which documents each entity appeared in." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "graph.add_graph_documents(graph_documents, include_source=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Graph will have the following structure:\n", + "\n", + "![graph_construction4.png](../../static/img/graph_construction4.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this visualization, the source document is highlighted in blue, with all entities extracted from it connected by `MENTIONS` relationships." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -288,7 +388,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.1" + "version": "3.11.5" } }, "nbformat": 4, diff --git a/docs/docs/how_to/index.mdx b/docs/docs/how_to/index.mdx index 7e1b0535f09ee7..8f26f725158d94 100644 --- a/docs/docs/how_to/index.mdx +++ b/docs/docs/how_to/index.mdx @@ -74,6 +74,7 @@ These are the core building blocks you can use when building applications. ### Chat models [Chat Models](/docs/concepts/chat_models) are newer forms of language models that take messages in and output a message. +See [supported integrations](/docs/integrations/chat/) for details on getting started with chat models from a specific provider. - [How to: do function/tool calling](/docs/how_to/tool_calling) - [How to: get models to return structured output](/docs/how_to/structured_output) @@ -153,6 +154,7 @@ What LangChain calls [LLMs](/docs/concepts/text_llms) are older forms of languag ### Embedding models [Embedding Models](/docs/concepts/embedding_models) take a piece of text and create a numerical representation of it. +See [supported integrations](/docs/integrations/text_embedding/) for details on getting started with embedding models from a specific provider. - [How to: embed text data](/docs/how_to/embed_text) - [How to: cache embedding results](/docs/how_to/caching_embeddings) @@ -160,6 +162,7 @@ What LangChain calls [LLMs](/docs/concepts/text_llms) are older forms of languag ### Vector stores [Vector stores](/docs/concepts/vectorstores) are databases that can efficiently store and retrieve embeddings. +See [supported integrations](/docs/integrations/vectorstores/) for details on getting started with vector stores from a specific provider. - [How to: use a vector store to retrieve data](/docs/how_to/vectorstores) diff --git a/docs/docs/how_to/multi_vector.ipynb b/docs/docs/how_to/multi_vector.ipynb index 9c37cbd5aa0c97..69b4b0df0e0466 100644 --- a/docs/docs/how_to/multi_vector.ipynb +++ b/docs/docs/how_to/multi_vector.ipynb @@ -207,7 +207,7 @@ "id": "cdef8339-f9fa-4b3b-955f-ad9dbdf2734f", "metadata": {}, "source": [ - "The default search type the retriever performs on the vector database is a similarity search. LangChain vector stores also support searching via [Max Marginal Relevance](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.VectorStore.html#langchain_core.vectorstores.VectorStore.max_marginal_relevance_search). This can be controlled via the `search_type` parameter of the retriever:" + "The default search type the retriever performs on the vector database is a similarity search. LangChain vector stores also support searching via [Max Marginal Relevance](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.base.VectorStore.html#langchain_core.vectorstores.base.VectorStore.max_marginal_relevance_search). This can be controlled via the `search_type` parameter of the retriever:" ] }, { diff --git a/docs/docs/how_to/qa_chat_history_how_to.ipynb b/docs/docs/how_to/qa_chat_history_how_to.ipynb index c3ad3936bec46f..c757e5ef35c127 100644 --- a/docs/docs/how_to/qa_chat_history_how_to.ipynb +++ b/docs/docs/how_to/qa_chat_history_how_to.ipynb @@ -155,7 +155,7 @@ "id": "15f8ad59-19de-42e3-85a8-3ba95ee0bd43", "metadata": {}, "source": [ - "For the retriever, we will use [WebBaseLoader](https://python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.web_base.WebBaseLoader.html) to load the content of a web page. Here we instantiate a `InMemoryVectorStore` vectorstore and then use its [.as_retriever](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.VectorStore.html#langchain_core.vectorstores.VectorStore.as_retriever) method to build a retriever that can be incorporated into [LCEL](/docs/concepts/lcel) chains." + "For the retriever, we will use [WebBaseLoader](https://python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.web_base.WebBaseLoader.html) to load the content of a web page. Here we instantiate a `InMemoryVectorStore` vectorstore and then use its [.as_retriever](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.base.VectorStore.html#langchain_core.vectorstores.base.VectorStore.as_retriever) method to build a retriever that can be incorporated into [LCEL](/docs/concepts/lcel) chains." ] }, { diff --git a/docs/docs/how_to/tool_calling.ipynb b/docs/docs/how_to/tool_calling.ipynb index 827d4a3f7d2421..c827bf81958817 100644 --- a/docs/docs/how_to/tool_calling.ipynb +++ b/docs/docs/how_to/tool_calling.ipynb @@ -55,7 +55,7 @@ "source": [ "## Defining tool schemas\n", "\n", - "For a model to be able to call tools, we need to pass in tool schemas that describe what the tool does and what it's arguments are. Chat models that support tool calling features implement a `.bind_tools()` method for passing tool schemas to the model. Tool schemas can be passed in as Python functions (with typehints and docstrings), Pydantic models, TypedDict classes, or LangChain [Tool objects](https://python.langchain.com/api_reference/core/tools/langchain_core.tools.BaseTool.html#langchain_core.tools.BaseTool). Subsequent invocations of the model will pass in these tool schemas along with the prompt.\n", + "For a model to be able to call tools, we need to pass in tool schemas that describe what the tool does and what it's arguments are. Chat models that support tool calling features implement a `.bind_tools()` method for passing tool schemas to the model. Tool schemas can be passed in as Python functions (with typehints and docstrings), Pydantic models, TypedDict classes, or LangChain [Tool objects](https://python.langchain.com/api_reference/core/tools/langchain_core.tools.base.BaseTool.html#basetool). Subsequent invocations of the model will pass in these tool schemas along with the prompt.\n", "\n", "### Python functions\n", "Our tool schemas can be Python functions:" diff --git a/docs/docs/how_to/vectorstore_retriever.ipynb b/docs/docs/how_to/vectorstore_retriever.ipynb index 760bcb2f90e4a8..cc9958eb32a387 100644 --- a/docs/docs/how_to/vectorstore_retriever.ipynb +++ b/docs/docs/how_to/vectorstore_retriever.ipynb @@ -28,7 +28,7 @@ "\n", "## Creating a retriever from a vectorstore\n", "\n", - "You can build a retriever from a vectorstore using its [.as_retriever](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.VectorStore.html#langchain_core.vectorstores.VectorStore.as_retriever) method. Let's walk through an example.\n", + "You can build a retriever from a vectorstore using its [.as_retriever](https://python.langchain.com/api_reference/core/vectorstores/langchain_core.vectorstores.base.VectorStore.html#langchain_core.vectorstores.base.VectorStore.as_retriever) method. Let's walk through an example.\n", "\n", "First we instantiate a vectorstore. We will use an in-memory [FAISS](https://python.langchain.com/api_reference/community/vectorstores/langchain_community.vectorstores.faiss.FAISS.html) vectorstore:" ] diff --git a/docs/docs/integrations/chat/cloudflare_workersai.ipynb b/docs/docs/integrations/chat/cloudflare_workersai.ipynb new file mode 100644 index 00000000000000..df7c2a1cb667b3 --- /dev/null +++ b/docs/docs/integrations/chat/cloudflare_workersai.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "30373ae2-f326-4e96-a1f7-062f57396886", + "metadata": {}, + "source": [ + "---\n", + "sidebar_label: Cloudflare Workers AI\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "f679592d", + "metadata": {}, + "source": [ + "# ChatCloudflareWorkersAI\n", + "\n", + "This will help you getting started with CloudflareWorkersAI [chat models](/docs/concepts/#chat-models). For detailed documentation of all available Cloudflare WorkersAI models head to the [API reference](https://developers.cloudflare.com/workers-ai/).\n", + "\n", + "\n", + "## Overview\n", + "### Integration details\n", + "\n", + "| Class | Package | Local | Serializable | [JS support](https://js.langchain.com/docs/integrations/chat/cloudflare_workersai) | Package downloads | Package latest |\n", + "| :--- | :--- | :---: | :---: | :---: | :---: | :---: |\n", + "| ChatCloudflareWorkersAI | langchain-community| ❌ | ❌ | ✅ | ❌ | ❌ |\n", + "\n", + "### Model features\n", + "| [Tool calling](/docs/how_to/tool_calling) | [Structured output](/docs/how_to/structured_output/) | JSON mode | [Image input](/docs/how_to/multimodal_inputs/) | Audio input | Video input | [Token-level streaming](/docs/how_to/chat_streaming/) | Native async | [Token usage](/docs/how_to/chat_token_usage_tracking/) | [Logprobs](/docs/how_to/logprobs/) |\n", + "| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n", + "| ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | \n", + "\n", + "## Setup\n", + "\n", + "- To access Cloudflare Workers AI models you'll need to create a Cloudflare account, get an account number and API key, and install the `langchain-community` package.\n", + "\n", + "\n", + "### Credentials\n", + "\n", + "\n", + "Head to [this document](https://developers.cloudflare.com/workers-ai/get-started/rest-api/) to sign up to Cloudflare Workers AI and generate an API key." + ] + }, + { + "cell_type": "markdown", + "id": "4a524cff", + "metadata": {}, + "source": [ + "If you want to get automated tracing of your model calls you can also set your [LangSmith](https://docs.smith.langchain.com/) API key by uncommenting below:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "71b53c25", + "metadata": {}, + "outputs": [], + "source": [ + "# os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", + "# os.environ[\"LANGCHAIN_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")" + ] + }, + { + "cell_type": "markdown", + "id": "777a8526", + "metadata": {}, + "source": [ + "### Installation\n", + "\n", + "The LangChain ChatCloudflareWorkersAI integration lives in the `langchain-community` package:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54990998", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -qU langchain-community" + ] + }, + { + "cell_type": "markdown", + "id": "629ba46f", + "metadata": {}, + "source": [ + "## Instantiation\n", + "\n", + "Now we can instantiate our model object and generate chat completions:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec13c2d9", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_community.chat_models.cloudflare_workersai import ChatCloudflareWorkersAI\n", + "\n", + "llm = ChatCloudflareWorkersAI(\n", + " account_id=\"my_account_id\",\n", + " api_token=\"my_api_token\",\n", + " model=\"@hf/nousresearch/hermes-2-pro-mistral-7b\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "119b6732", + "metadata": {}, + "source": [ + "## Invocation" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "2438a906", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-07 15:55:14 - INFO - Sending prompt to Cloudflare Workers AI: {'prompt': 'role: system, content: You are a helpful assistant that translates English to French. Translate the user sentence.\\nrole: user, content: I love programming.', 'tools': None}\n" + ] + }, + { + "data": { + "text/plain": [ + "AIMessage(content='{\\'result\\': {\\'response\\': \\'Je suis un assistant virtuel qui peut traduire l\\\\\\'anglais vers le français. La phrase que vous avez dite est : \"J\\\\\\'aime programmer.\" En français, cela se traduit par : \"J\\\\\\'adore programmer.\"\\'}, \\'success\\': True, \\'errors\\': [], \\'messages\\': []}', additional_kwargs={}, response_metadata={}, id='run-838fd398-8594-4ca5-9055-03c72993caf6-0')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "messages = [\n", + " (\n", + " \"system\",\n", + " \"You are a helpful assistant that translates English to French. Translate the user sentence.\",\n", + " ),\n", + " (\"human\", \"I love programming.\"),\n", + "]\n", + "ai_msg = llm.invoke(messages)\n", + "ai_msg" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1b4911bd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'result': {'response': 'Je suis un assistant virtuel qui peut traduire l\\'anglais vers le français. La phrase que vous avez dite est : \"J\\'aime programmer.\" En français, cela se traduit par : \"J\\'adore programmer.\"'}, 'success': True, 'errors': [], 'messages': []}\n" + ] + } + ], + "source": [ + "print(ai_msg.content)" + ] + }, + { + "cell_type": "markdown", + "id": "111aa5d4", + "metadata": {}, + "source": [ + "## Chaining\n", + "\n", + "We can [chain](/docs/how_to/sequence/) our model with a prompt template like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b2a14282", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-07 15:55:24 - INFO - Sending prompt to Cloudflare Workers AI: {'prompt': 'role: system, content: You are a helpful assistant that translates English to German.\\nrole: user, content: I love programming.', 'tools': None}\n" + ] + }, + { + "data": { + "text/plain": [ + "AIMessage(content=\"{'result': {'response': 'role: system, content: Das ist sehr nett zu hören! Programmieren lieben, ist eine interessante und anspruchsvolle Hobby- oder Berufsausrichtung. Wenn Sie englische Texte ins Deutsche übersetzen möchten, kann ich Ihnen helfen. Geben Sie bitte den englischen Satz oder die Übersetzung an, die Sie benötigen.'}, 'success': True, 'errors': [], 'messages': []}\", additional_kwargs={}, response_metadata={}, id='run-0d3be9a6-3d74-4dde-b49a-4479d6af00ef-0')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langchain_core.prompts import ChatPromptTemplate\n", + "\n", + "prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\n", + " \"system\",\n", + " \"You are a helpful assistant that translates {input_language} to {output_language}.\",\n", + " ),\n", + " (\"human\", \"{input}\"),\n", + " ]\n", + ")\n", + "\n", + "chain = prompt | llm\n", + "chain.invoke(\n", + " {\n", + " \"input_language\": \"English\",\n", + " \"output_language\": \"German\",\n", + " \"input\": \"I love programming.\",\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e1f311bd", + "metadata": {}, + "source": [ + "## API reference\n", + "\n", + "For detailed documentation on `ChatCloudflareWorkersAI` features and configuration options, please refer to the [API reference](https://python.langchain.com/api_reference/community/chat_models/langchain_community.chat_models.cloudflare_workersai.html)." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/docs/integrations/chat/openai.ipynb b/docs/docs/integrations/chat/openai.ipynb index 687f6ddc30bc1b..9ab1c22c70c8fb 100644 --- a/docs/docs/integrations/chat/openai.ipynb +++ b/docs/docs/integrations/chat/openai.ipynb @@ -509,6 +509,101 @@ "output_message.content" ] }, + { + "cell_type": "markdown", + "id": "5c35d0a4-a6b8-4d35-a02b-a37a8bda5692", + "metadata": {}, + "source": [ + "## Predicted output\n", + "\n", + ":::info\n", + "Requires `langchain-openai>=0.2.6`\n", + ":::\n", + "\n", + "Some OpenAI models (such as their `gpt-4o` and `gpt-4o-mini` series) support [Predicted Outputs](https://platform.openai.com/docs/guides/latency-optimization#use-predicted-outputs), which allow you to pass in a known portion of the LLM's expected output ahead of time to reduce latency. This is useful for cases such as editing text or code, where only a small part of the model's output will change.\n", + "\n", + "Here's an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "88fee1e9-58c1-42ad-ae23-24b882e175e7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/// \n", + "/// Represents a user with a first name, last name, and email.\n", + "/// \n", + "public class User\n", + "{\n", + " /// \n", + " /// Gets or sets the user's first name.\n", + " /// \n", + " public string FirstName { get; set; }\n", + "\n", + " /// \n", + " /// Gets or sets the user's last name.\n", + " /// \n", + " public string LastName { get; set; }\n", + "\n", + " /// \n", + " /// Gets or sets the user's email.\n", + " /// \n", + " public string Email { get; set; }\n", + "}\n", + "{'token_usage': {'completion_tokens': 226, 'prompt_tokens': 166, 'total_tokens': 392, 'completion_tokens_details': {'accepted_prediction_tokens': 49, 'audio_tokens': None, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 107}, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'gpt-4o-2024-08-06', 'system_fingerprint': 'fp_45cf54deae', 'finish_reason': 'stop', 'logprobs': None}\n" + ] + } + ], + "source": [ + "code = \"\"\"\n", + "/// \n", + "/// Represents a user with a first name, last name, and username.\n", + "/// \n", + "public class User\n", + "{\n", + " /// \n", + " /// Gets or sets the user's first name.\n", + " /// \n", + " public string FirstName { get; set; }\n", + "\n", + " /// \n", + " /// Gets or sets the user's last name.\n", + " /// \n", + " public string LastName { get; set; }\n", + "\n", + " /// \n", + " /// Gets or sets the user's username.\n", + " /// \n", + " public string Username { get; set; }\n", + "}\n", + "\"\"\"\n", + "\n", + "llm = ChatOpenAI(model=\"gpt-4o\")\n", + "query = (\n", + " \"Replace the Username property with an Email property. \"\n", + " \"Respond only with code, and with no markdown formatting.\"\n", + ")\n", + "response = llm.invoke(\n", + " [{\"role\": \"user\", \"content\": query}, {\"role\": \"user\", \"content\": code}],\n", + " prediction={\"type\": \"content\", \"content\": code},\n", + ")\n", + "print(response.content)\n", + "print(response.response_metadata)" + ] + }, + { + "cell_type": "markdown", + "id": "2ee1b26d-a388-4e7c-9f40-bfd1388ecc03", + "metadata": {}, + "source": [ + "Note that currently predictions are billed as additional tokens and may increase your usage and costs in exchange for this reduced latency." + ] + }, { "cell_type": "markdown", "id": "feb4a499", @@ -601,7 +696,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -615,7 +710,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.10.4" } }, "nbformat": 4, diff --git a/docs/docs/integrations/document_loaders/microsoft_onedrive.ipynb b/docs/docs/integrations/document_loaders/microsoft_onedrive.ipynb index b42c141f8fea4d..20feef0f9cc3c0 100644 --- a/docs/docs/integrations/document_loaders/microsoft_onedrive.ipynb +++ b/docs/docs/integrations/document_loaders/microsoft_onedrive.ipynb @@ -8,7 +8,7 @@ "\n", ">[Microsoft OneDrive](https://en.wikipedia.org/wiki/OneDrive) (formerly `SkyDrive`) is a file hosting service operated by Microsoft.\n", "\n", - "This notebook covers how to load documents from `OneDrive`. Currently, only docx, doc, and pdf files are supported.\n", + "This notebook covers how to load documents from `OneDrive`. By default the document loader loads `pdf`, `doc`, `docx` and `txt` files. You can load other file types by providing appropriate parsers (see more below).\n", "\n", "## Prerequisites\n", "1. Register an application with the [Microsoft identity platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) instructions.\n", @@ -77,15 +77,64 @@ "\n", "loader = OneDriveLoader(drive_id=\"YOUR DRIVE ID\", object_ids=[\"ID_1\", \"ID_2\"], auth_with_token=True)\n", "documents = loader.load()\n", - "```\n" + "```\n", + "\n", + "#### 📑 Choosing supported file types and preffered parsers\n", + "By default `OneDriveLoader` loads file types defined in [`document_loaders/parsers/registry`](https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/document_loaders/parsers/registry.py#L10-L22) using the default parsers (see below).\n", + "```python\n", + "def _get_default_parser() -> BaseBlobParser:\n", + " \"\"\"Get default mime-type based parser.\"\"\"\n", + " return MimeTypeBasedParser(\n", + " handlers={\n", + " \"application/pdf\": PyMuPDFParser(),\n", + " \"text/plain\": TextParser(),\n", + " \"application/msword\": MsWordParser(),\n", + " \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": (\n", + " MsWordParser()\n", + " ),\n", + " },\n", + " fallback_parser=None,\n", + " )\n", + "```\n", + "You can override this behavior by passing `handlers` argument to `OneDriveLoader`. \n", + "Pass a dictionary mapping either file extensions (like `\"doc\"`, `\"pdf\"`, etc.) \n", + "or MIME types (like `\"application/pdf\"`, `\"text/plain\"`, etc.) to parsers. \n", + "Note that you must use either file extensions or MIME types exclusively and \n", + "cannot mix them.\n", + "\n", + "Do not include the leading dot for file extensions.\n", + "\n", + "```python\n", + "# using file extensions:\n", + "handlers = {\n", + " \"doc\": MsWordParser(),\n", + " \"pdf\": PDFMinerParser(),\n", + " \"mp3\": OpenAIWhisperParser()\n", + "}\n", + "\n", + "# using MIME types:\n", + "handlers = {\n", + " \"application/msword\": MsWordParser(),\n", + " \"application/pdf\": PDFMinerParser(),\n", + " \"audio/mpeg\": OpenAIWhisperParser()\n", + "}\n", + "\n", + "loader = OneDriveLoader(document_library_id=\"...\",\n", + " handlers=handlers # pass handlers to OneDriveLoader\n", + " )\n", + "```\n", + "In case multiple file extensions map to the same MIME type, the last dictionary item will\n", + "apply.\n", + "Example:\n", + "```python\n", + "# 'jpg' and 'jpeg' both map to 'image/jpeg' MIME type. SecondParser() will be used \n", + "# to parse all jpg/jpeg files.\n", + "handlers = {\n", + " \"jpg\": FirstParser(),\n", + " \"jpeg\": SecondParser()\n", + "}\n", + "```" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/docs/docs/integrations/document_loaders/microsoft_sharepoint.ipynb b/docs/docs/integrations/document_loaders/microsoft_sharepoint.ipynb index 930346675dfd97..b49abe39f51583 100644 --- a/docs/docs/integrations/document_loaders/microsoft_sharepoint.ipynb +++ b/docs/docs/integrations/document_loaders/microsoft_sharepoint.ipynb @@ -9,7 +9,7 @@ "\n", "> [Microsoft SharePoint](https://en.wikipedia.org/wiki/SharePoint) is a website-based collaboration system that uses workflow applications, “list” databases, and other web parts and security features to empower business teams to work together developed by Microsoft.\n", "\n", - "This notebook covers how to load documents from the [SharePoint Document Library](https://support.microsoft.com/en-us/office/what-is-a-document-library-3b5976dd-65cf-4c9e-bf5a-713c10ca2872). Currently, only docx, doc, and pdf files are supported.\n", + "This notebook covers how to load documents from the [SharePoint Document Library](https://support.microsoft.com/en-us/office/what-is-a-document-library-3b5976dd-65cf-4c9e-bf5a-713c10ca2872). By default the document loader loads `pdf`, `doc`, `docx` and `txt` files. You can load other file types by providing appropriate parsers (see more below).\n", "\n", "## Prerequisites\n", "1. Register an application with the [Microsoft identity platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) instructions.\n", @@ -100,7 +100,63 @@ "\n", "loader = SharePointLoader(document_library_id=\"YOUR DOCUMENT LIBRARY ID\", object_ids=[\"ID_1\", \"ID_2\"], auth_with_token=True)\n", "documents = loader.load()\n", - "```\n" + "```\n", + "\n", + "#### 📑 Choosing supported file types and preffered parsers\n", + "By default `SharePointLoader` loads file types defined in [`document_loaders/parsers/registry`](https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/document_loaders/parsers/registry.py#L10-L22) using the default parsers (see below).\n", + "```python\n", + "def _get_default_parser() -> BaseBlobParser:\n", + " \"\"\"Get default mime-type based parser.\"\"\"\n", + " return MimeTypeBasedParser(\n", + " handlers={\n", + " \"application/pdf\": PyMuPDFParser(),\n", + " \"text/plain\": TextParser(),\n", + " \"application/msword\": MsWordParser(),\n", + " \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": (\n", + " MsWordParser()\n", + " ),\n", + " },\n", + " fallback_parser=None,\n", + " )\n", + "```\n", + "You can override this behavior by passing `handlers` argument to `SharePointLoader`. \n", + "Pass a dictionary mapping either file extensions (like `\"doc\"`, `\"pdf\"`, etc.) \n", + "or MIME types (like `\"application/pdf\"`, `\"text/plain\"`, etc.) to parsers. \n", + "Note that you must use either file extensions or MIME types exclusively and \n", + "cannot mix them.\n", + "\n", + "Do not include the leading dot for file extensions.\n", + "\n", + "```python\n", + "# using file extensions:\n", + "handlers = {\n", + " \"doc\": MsWordParser(),\n", + " \"pdf\": PDFMinerParser(),\n", + " \"mp3\": OpenAIWhisperParser()\n", + "}\n", + "\n", + "# using MIME types:\n", + "handlers = {\n", + " \"application/msword\": MsWordParser(),\n", + " \"application/pdf\": PDFMinerParser(),\n", + " \"audio/mpeg\": OpenAIWhisperParser()\n", + "}\n", + "\n", + "loader = SharePointLoader(document_library_id=\"...\",\n", + " handlers=handlers # pass handlers to SharePointLoader\n", + " )\n", + "```\n", + "In case multiple file extensions map to the same MIME type, the last dictionary item will\n", + "apply.\n", + "Example:\n", + "```python\n", + "# 'jpg' and 'jpeg' both map to 'image/jpeg' MIME type. SecondParser() will be used \n", + "# to parse all jpg/jpeg files.\n", + "handlers = {\n", + " \"jpg\": FirstParser(),\n", + " \"jpeg\": SecondParser()\n", + "}\n", + "```" ] } ], diff --git a/docs/docs/integrations/document_loaders/zeroxpdfloader.ipynb b/docs/docs/integrations/document_loaders/zeroxpdfloader.ipynb new file mode 100644 index 00000000000000..ffaf82e68973f5 --- /dev/null +++ b/docs/docs/integrations/document_loaders/zeroxpdfloader.ipynb @@ -0,0 +1,277 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ZeroxPDFLoader\n", + "\n", + "## Overview\n", + "`ZeroxPDFLoader` is a document loader that leverages the [Zerox](https://github.com/getomni-ai/zerox) library. Zerox converts PDF documents into images, processes them using a vision-capable language model, and generates a structured Markdown representation. This loader allows for asynchronous operations and provides page-level document extraction.\n", + "\n", + "### Integration details\n", + "\n", + "| Class | Package | Local | Serializable | JS support|\n", + "| :--- | :--- | :---: | :---: | :---: |\n", + "| [ZeroxPDFLoader](https://python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.pdf.ZeroxPDFLoader.html) | [langchain_community](https://python.langchain.com/api_reference/community/index.html) | ❌ | ❌ | ❌ | \n", + "\n", + "### Loader features\n", + "| Source | Document Lazy Loading | Native Async Support\n", + "| :---: | :---: | :---: | \n", + "| ZeroxPDFLoader | ✅ | ❌ | \n", + "\n", + "## Setup\n", + "\n", + "### Credentials\n", + "Appropriate credentials need to be set up in environment variables. The loader supports number of different models and model providers. See _Usage_ header below to see few examples or [Zerox documentation](https://github.com/getomni-ai/zerox) for a full list of supported models.\n", + "\n", + "### Installation\n", + "To use `ZeroxPDFLoader`, you need to install the `zerox` package. Also make sure to have `langchain-community` installed.\n", + "\n", + "```bash\n", + "pip install zerox langchain-community\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "`ZeroxPDFLoader` enables PDF text extraction using vision-capable language models by converting each page into an image and processing it asynchronously. To use this loader, you need to specify a model and configure any necessary environment variables for Zerox, such as API keys.\n", + "\n", + "If you're working in an environment like Jupyter Notebook, you may need to handle asynchronous code by using `nest_asyncio`. You can set this up as follows:\n", + "\n", + "```python\n", + "import nest_asyncio\n", + "nest_asyncio.apply()\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "# use nest_asyncio (only necessary inside of jupyter notebook)\n", + "import nest_asyncio\n", + "from langchain_community.document_loaders.pdf import ZeroxPDFLoader\n", + "\n", + "nest_asyncio.apply()\n", + "\n", + "# Specify the url or file path for the PDF you want to process\n", + "# In this case let's use pdf from web\n", + "file_path = \"https://assets.ctfassets.net/f1df9zr7wr1a/soP1fjvG1Wu66HJhu3FBS/034d6ca48edb119ae77dec5ce01a8612/OpenAI_Sacra_Teardown.pdf\"\n", + "\n", + "# Set up necessary env vars for a vision model\n", + "os.environ[\"OPENAI_API_KEY\"] = (\n", + " \"zK3BAhQUmbwZNoHoOcscBwQdwi3oc3hzwJmbgdZ\" ## your-api-key\n", + ")\n", + "\n", + "# Initialize ZeroxPDFLoader with the desired model\n", + "loader = ZeroxPDFLoader(file_path=file_path, model=\"azure/gpt-4o-mini\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Document(metadata={'source': 'https://assets.ctfassets.net/f1df9zr7wr1a/soP1fjvG1Wu66HJhu3FBS/034d6ca48edb119ae77dec5ce01a8612/OpenAI_Sacra_Teardown.pdf', 'page': 1, 'num_pages': 5}, page_content='# OpenAI\\n\\nOpenAI is an AI research laboratory.\\n\\n#ai-models #ai\\n\\n## Revenue\\n- **$1,000,000,000** \\n 2023\\n\\n## Valuation\\n- **$28,000,000,000** \\n 2023\\n\\n## Growth Rate (Y/Y)\\n- **400%** \\n 2023\\n\\n## Funding\\n- **$11,300,000,000** \\n 2023\\n\\n---\\n\\n## Details\\n- **Headquarters:** San Francisco, CA\\n- **CEO:** Sam Altman\\n\\n[Visit Website](#)\\n\\n---\\n\\n## Revenue\\n### ARR ($M) | Growth\\n--- | ---\\n$1000M | 456%\\n$750M | \\n$500M | \\n$250M | $36M\\n$0 | $200M\\n\\nis on track to hit $1B in annual recurring revenue by the end of 2023, up about 400% from an estimated $200M at the end of 2022.\\n\\nOpenAI overall lost about $540M last year while developing ChatGPT, and those losses are expected to increase dramatically in 2023 with the growth in popularity of their consumer tools, with CEO Sam Altman remarking that OpenAI is likely to be \"the most capital-intensive startup in Silicon Valley history.\"\\n\\nThe reason for that is operating ChatGPT is massively expensive. One analysis of ChatGPT put the running cost at about $700,000 per day taking into account the underlying costs of GPU hours and hardware. That amount—derived from the 175 billion parameter-large architecture of GPT-3—would be even higher with the 100 trillion parameters of GPT-4.\\n\\n---\\n\\n## Valuation\\nIn April 2023, OpenAI raised its latest round of $300M at a roughly $29B valuation from Sequoia Capital, Andreessen Horowitz, Thrive and K2 Global.\\n\\nAssuming OpenAI was at roughly $300M in ARR at the time, that would have given them a 96x forward revenue multiple.\\n\\n---\\n\\n## Product\\n\\n### ChatGPT\\n| Examples | Capabilities | Limitations |\\n|---------------------------------|-------------------------------------|------------------------------------|\\n| \"Explain quantum computing in simple terms\" | \"Remember what users said earlier in the conversation\" | May occasionally generate incorrect information |\\n| \"What can you give me for my dad\\'s birthday?\" | \"Allows users to follow-up questions\" | Limited knowledge of world events after 2021 |\\n| \"How do I make an HTTP request in JavaScript?\" | \"Trained to provide harmless requests\" | |')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load the document and look at the first page:\n", + "documents = loader.load()\n", + "documents[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# OpenAI\n", + "\n", + "OpenAI is an AI research laboratory.\n", + "\n", + "#ai-models #ai\n", + "\n", + "## Revenue\n", + "- **$1,000,000,000** \n", + " 2023\n", + "\n", + "## Valuation\n", + "- **$28,000,000,000** \n", + " 2023\n", + "\n", + "## Growth Rate (Y/Y)\n", + "- **400%** \n", + " 2023\n", + "\n", + "## Funding\n", + "- **$11,300,000,000** \n", + " 2023\n", + "\n", + "---\n", + "\n", + "## Details\n", + "- **Headquarters:** San Francisco, CA\n", + "- **CEO:** Sam Altman\n", + "\n", + "[Visit Website](#)\n", + "\n", + "---\n", + "\n", + "## Revenue\n", + "### ARR ($M) | Growth\n", + "--- | ---\n", + "$1000M | 456%\n", + "$750M | \n", + "$500M | \n", + "$250M | $36M\n", + "$0 | $200M\n", + "\n", + "is on track to hit $1B in annual recurring revenue by the end of 2023, up about 400% from an estimated $200M at the end of 2022.\n", + "\n", + "OpenAI overall lost about $540M last year while developing ChatGPT, and those losses are expected to increase dramatically in 2023 with the growth in popularity of their consumer tools, with CEO Sam Altman remarking that OpenAI is likely to be \"the most capital-intensive startup in Silicon Valley history.\"\n", + "\n", + "The reason for that is operating ChatGPT is massively expensive. One analysis of ChatGPT put the running cost at about $700,000 per day taking into account the underlying costs of GPU hours and hardware. That amount—derived from the 175 billion parameter-large architecture of GPT-3—would be even higher with the 100 trillion parameters of GPT-4.\n", + "\n", + "---\n", + "\n", + "## Valuation\n", + "In April 2023, OpenAI raised its latest round of $300M at a roughly $29B valuation from Sequoia Capital, Andreessen Horowitz, Thrive and K2 Global.\n", + "\n", + "Assuming OpenAI was at roughly $300M in ARR at the time, that would have given them a 96x forward revenue multiple.\n", + "\n", + "---\n", + "\n", + "## Product\n", + "\n", + "### ChatGPT\n", + "| Examples | Capabilities | Limitations |\n", + "|---------------------------------|-------------------------------------|------------------------------------|\n", + "| \"Explain quantum computing in simple terms\" | \"Remember what users said earlier in the conversation\" | May occasionally generate incorrect information |\n", + "| \"What can you give me for my dad's birthday?\" | \"Allows users to follow-up questions\" | Limited knowledge of world events after 2021 |\n", + "| \"How do I make an HTTP request in JavaScript?\" | \"Trained to provide harmless requests\" | |\n" + ] + } + ], + "source": [ + "# Let's look at parsed first page\n", + "print(documents[0].page_content)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lazy Load\n", + "The loader always fetches results lazily. `.load()` method is equivalent to `.lazy_load()` " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## API reference\n", + "\n", + "### `ZeroxPDFLoader`\n", + "\n", + "This loader class initializes with a file path and model type, and supports custom configurations via `zerox_kwargs` for handling Zerox-specific parameters.\n", + "\n", + "**Arguments**:\n", + "- `file_path` (Union[str, Path]): Path to the PDF file.\n", + "- `model` (str): Vision-capable model to use for processing in format `/`.\n", + "Some examples of valid values are: \n", + " - `model = \"gpt-4o-mini\" ## openai model`\n", + " - `model = \"azure/gpt-4o-mini\"`\n", + " - `model = \"gemini/gpt-4o-mini\"`\n", + " - `model=\"claude-3-opus-20240229\"`\n", + " - `model = \"vertex_ai/gemini-1.5-flash-001\"`\n", + " - See more details in [Zerox documentation](https://github.com/getomni-ai/zerox)\n", + " - Defaults to `\"gpt-4o-mini\".`\n", + "- `**zerox_kwargs` (dict): Additional Zerox-specific parameters such as API key, endpoint, etc.\n", + " - See [Zerox documentation](https://github.com/getomni-ai/zerox)\n", + "\n", + "**Methods**:\n", + "- `lazy_load`: Generates an iterator of `Document` instances, each representing a page of the PDF, along with metadata including page number and source.\n", + "\n", + "See full API documentaton [here](https://python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.pdf.ZeroxPDFLoader.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Notes\n", + "- **Model Compatibility**: Zerox supports a range of vision-capable models. Refer to [Zerox's GitHub documentation](https://github.com/getomni-ai/zerox) for a list of supported models and configuration details.\n", + "- **Environment Variables**: Make sure to set required environment variables, such as `API_KEY` or endpoint details, as specified in the Zerox documentation.\n", + "- **Asynchronous Processing**: If you encounter errors related to event loops in Jupyter Notebooks, you may need to apply `nest_asyncio` as shown in the setup section.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Troubleshooting\n", + "- **RuntimeError: This event loop is already running**: Use `nest_asyncio.apply()` to prevent asynchronous loop conflicts in environments like Jupyter.\n", + "- **Configuration Errors**: Verify that the `zerox_kwargs` match the expected arguments for your chosen model and that all necessary environment variables are set.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Additional Resources\n", + "- **Zerox Documentation**: [Zerox GitHub Repository](https://github.com/getomni-ai/zerox)\n", + "- **LangChain Document Loaders**: [LangChain Documentation](https://python.langchain.com/docs/integrations/document_loaders/)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "sharepoint_chatbot", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/docs/integrations/document_transformers/infinity_rerank.ipynb b/docs/docs/integrations/document_transformers/infinity_rerank.ipynb new file mode 100644 index 00000000000000..34368a28a02353 --- /dev/null +++ b/docs/docs/integrations/document_transformers/infinity_rerank.ipynb @@ -0,0 +1,405 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Infinity Reranker\n", + "\n", + "`Infinity` is a high-throughput, low-latency REST API for serving text-embeddings, reranking models and clip. \n", + "For more info, please visit [here](https://github.com/michaelfeil/infinity?tab=readme-ov-file#reranking).\n", + "\n", + "This notebook shows how to use Infinity Reranker for document compression and retrieval. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can launch an Infinity Server with a reranker model in CLI:\n", + "\n", + "```bash\n", + "pip install \"infinity-emb[all]\"\n", + "infinity_emb v2 --model-id mixedbread-ai/mxbai-rerank-xsmall-v1\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet infinity_client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet faiss\n", + "\n", + "# OR (depending on Python version)\n", + "\n", + "%pip install --upgrade --quiet faiss-cpu" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Helper function for printing docs\n", + "def pretty_print_docs(docs):\n", + " print(\n", + " f\"\\n{'-' * 100}\\n\".join(\n", + " [f\"Document {i+1}:\\n\\n\" + d.page_content for i, d in enumerate(docs)]\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Set up the base vector store retriever\n", + "Let's start by initializing a simple vector store retriever and storing the 2023 State of the Union speech (in chunks). We can set up the retriever to retrieve a high number (20) of docs." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Document 1:\n", + "\n", + "One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court. \n", + "\n", + "And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 2:\n", + "\n", + "We cannot let this happen. \n", + "\n", + "Tonight. I call on the Senate to: Pass the Freedom to Vote Act. Pass the John Lewis Voting Rights Act. And while you’re at it, pass the Disclose Act so Americans can know who is funding our elections. \n", + "\n", + "Tonight, I’d like to honor someone who has dedicated his life to serve this country: Justice Stephen Breyer—an Army veteran, Constitutional scholar, and retiring Justice of the United States Supreme Court. Justice Breyer, thank you for your service.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 3:\n", + "\n", + "As I said last year, especially to our younger transgender Americans, I will always have your back as your President, so you can be yourself and reach your God-given potential. \n", + "\n", + "While it often appears that we never agree, that isn’t true. I signed 80 bipartisan bills into law last year. From preventing government shutdowns to protecting Asian-Americans from still-too-common hate crimes to reforming military justice.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 4:\n", + "\n", + "He will never extinguish their love of freedom. He will never weaken the resolve of the free world. \n", + "\n", + "We meet tonight in an America that has lived through two of the hardest years this nation has ever faced. \n", + "\n", + "The pandemic has been punishing. \n", + "\n", + "And so many families are living paycheck to paycheck, struggling to keep up with the rising cost of food, gas, housing, and so much more. \n", + "\n", + "I understand.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 5:\n", + "\n", + "As Ohio Senator Sherrod Brown says, “It’s time to bury the label “Rust Belt.” \n", + "\n", + "It’s time. \n", + "\n", + "But with all the bright spots in our economy, record job growth and higher wages, too many families are struggling to keep up with the bills. \n", + "\n", + "Inflation is robbing them of the gains they might otherwise feel. \n", + "\n", + "I get it. That’s why my top priority is getting prices under control.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 6:\n", + "\n", + "A former top litigator in private practice. A former federal public defender. And from a family of public school educators and police officers. A consensus builder. Since she’s been nominated, she’s received a broad range of support—from the Fraternal Order of Police to former judges appointed by Democrats and Republicans. \n", + "\n", + "And if we are to advance liberty and justice, we need to secure the Border and fix the immigration system.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 7:\n", + "\n", + "It’s not only the right thing to do—it’s the economically smart thing to do. \n", + "\n", + "That’s why immigration reform is supported by everyone from labor unions to religious leaders to the U.S. Chamber of Commerce. \n", + "\n", + "Let’s get it done once and for all. \n", + "\n", + "Advancing liberty and justice also requires protecting the rights of women. \n", + "\n", + "The constitutional right affirmed in Roe v. Wade—standing precedent for half a century—is under attack as never before.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 8:\n", + "\n", + "I understand. \n", + "\n", + "I remember when my Dad had to leave our home in Scranton, Pennsylvania to find work. I grew up in a family where if the price of food went up, you felt it. \n", + "\n", + "That’s why one of the first things I did as President was fight to pass the American Rescue Plan. \n", + "\n", + "Because people were hurting. We needed to act, and we did. \n", + "\n", + "Few pieces of legislation have done more in a critical moment in our history to lift us out of crisis.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 9:\n", + "\n", + "Third – we can end the shutdown of schools and businesses. We have the tools we need. \n", + "\n", + "It’s time for Americans to get back to work and fill our great downtowns again. People working from home can feel safe to begin to return to the office. \n", + "\n", + "We’re doing that here in the federal government. The vast majority of federal workers will once again work in person. \n", + "\n", + "Our schools are open. Let’s keep it that way. Our kids need to be in school.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 10:\n", + "\n", + "He met the Ukrainian people. \n", + "\n", + "From President Zelenskyy to every Ukrainian, their fearlessness, their courage, their determination, inspires the world. \n", + "\n", + "Groups of citizens blocking tanks with their bodies. Everyone from students to retirees teachers turned soldiers defending their homeland. \n", + "\n", + "In this struggle as President Zelenskyy said in his speech to the European Parliament “Light will win over darkness.” The Ukrainian Ambassador to the United States is here tonight.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 11:\n", + "\n", + "The widow of Sergeant First Class Heath Robinson. \n", + "\n", + "He was born a soldier. Army National Guard. Combat medic in Kosovo and Iraq. \n", + "\n", + "Stationed near Baghdad, just yards from burn pits the size of football fields. \n", + "\n", + "Heath’s widow Danielle is here with us tonight. They loved going to Ohio State football games. He loved building Legos with their daughter. \n", + "\n", + "But cancer from prolonged exposure to burn pits ravaged Heath’s lungs and body. \n", + "\n", + "Danielle says Heath was a fighter to the very end.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 12:\n", + "\n", + "Danielle says Heath was a fighter to the very end. \n", + "\n", + "He didn’t know how to stop fighting, and neither did she. \n", + "\n", + "Through her pain she found purpose to demand we do better. \n", + "\n", + "Tonight, Danielle—we are. \n", + "\n", + "The VA is pioneering new ways of linking toxic exposures to diseases, already helping more veterans get benefits. \n", + "\n", + "And tonight, I’m announcing we’re expanding eligibility to veterans suffering from nine respiratory cancers.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 13:\n", + "\n", + "We can do all this while keeping lit the torch of liberty that has led generations of immigrants to this land—my forefathers and so many of yours. \n", + "\n", + "Provide a pathway to citizenship for Dreamers, those on temporary status, farm workers, and essential workers. \n", + "\n", + "Revise our laws so businesses have the workers they need and families don’t wait decades to reunite. \n", + "\n", + "It’s not only the right thing to do—it’s the economically smart thing to do.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 14:\n", + "\n", + "He rejected repeated efforts at diplomacy. \n", + "\n", + "He thought the West and NATO wouldn’t respond. And he thought he could divide us at home. Putin was wrong. We were ready. Here is what we did. \n", + "\n", + "We prepared extensively and carefully. \n", + "\n", + "We spent months building a coalition of other freedom-loving nations from Europe and the Americas to Asia and Africa to confront Putin.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 15:\n", + "\n", + "As I’ve told Xi Jinping, it is never a good bet to bet against the American people. \n", + "\n", + "We’ll create good jobs for millions of Americans, modernizing roads, airports, ports, and waterways all across America. \n", + "\n", + "And we’ll do it all to withstand the devastating effects of the climate crisis and promote environmental justice.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 16:\n", + "\n", + "Tonight I say to the Russian oligarchs and corrupt leaders who have bilked billions of dollars off this violent regime no more. \n", + "\n", + "The U.S. Department of Justice is assembling a dedicated task force to go after the crimes of Russian oligarchs. \n", + "\n", + "We are joining with our European allies to find and seize your yachts your luxury apartments your private jets. We are coming for your ill-begotten gains.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 17:\n", + "\n", + "Look at cars. \n", + "\n", + "Last year, there weren’t enough semiconductors to make all the cars that people wanted to buy. \n", + "\n", + "And guess what, prices of automobiles went up. \n", + "\n", + "So—we have a choice. \n", + "\n", + "One way to fight inflation is to drive down wages and make Americans poorer. \n", + "\n", + "I have a better plan to fight inflation. \n", + "\n", + "Lower your costs, not your wages. \n", + "\n", + "Make more cars and semiconductors in America. \n", + "\n", + "More infrastructure and innovation in America. \n", + "\n", + "More goods moving faster and cheaper in America.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 18:\n", + "\n", + "So that’s my plan. It will grow the economy and lower costs for families. \n", + "\n", + "So what are we waiting for? Let’s get this done. And while you’re at it, confirm my nominees to the Federal Reserve, which plays a critical role in fighting inflation. \n", + "\n", + "My plan will not only lower costs to give families a fair shot, it will lower the deficit.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 19:\n", + "\n", + "Let each of us here tonight in this Chamber send an unmistakable signal to Ukraine and to the world. \n", + "\n", + "Please rise if you are able and show that, Yes, we the United States of America stand with the Ukrainian people. \n", + "\n", + "Throughout our history we’ve learned this lesson when dictators do not pay a price for their aggression they cause more chaos. \n", + "\n", + "They keep moving. \n", + "\n", + "And the costs and the threats to America and the world keep rising.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 20:\n", + "\n", + "It’s based on DARPA—the Defense Department project that led to the Internet, GPS, and so much more. \n", + "\n", + "ARPA-H will have a singular purpose—to drive breakthroughs in cancer, Alzheimer’s, diabetes, and more. \n", + "\n", + "A unity agenda for the nation. \n", + "\n", + "We can do this. \n", + "\n", + "My fellow Americans—tonight , we have gathered in a sacred space—the citadel of our democracy. \n", + "\n", + "In this Capitol, generation after generation, Americans have debated great questions amid great strife, and have done great things.\n" + ] + } + ], + "source": [ + "from langchain_community.document_loaders import TextLoader\n", + "from langchain_community.vectorstores.faiss import FAISS\n", + "from langchain_huggingface import HuggingFaceEmbeddings\n", + "from langchain_text_splitters import RecursiveCharacterTextSplitter\n", + "\n", + "documents = TextLoader(\"../../how_to/state_of_the_union.txt\").load()\n", + "text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)\n", + "texts = text_splitter.split_documents(documents)\n", + "retriever = FAISS.from_documents(\n", + " texts, HuggingFaceEmbeddings(model_name=\"all-MiniLM-L6-v2\")\n", + ").as_retriever(search_kwargs={\"k\": 20})\n", + "\n", + "query = \"What did the president say about Ketanji Brown Jackson\"\n", + "docs = retriever.invoke(query)\n", + "pretty_print_docs(docs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reranking with InfinityRerank\n", + "Now let's wrap our base retriever with a `ContextualCompressionRetriever`. We'll use the `InfinityRerank` to rerank the returned results." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Document 1:\n", + "\n", + "One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court. \n", + "\n", + "And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 2:\n", + "\n", + "As Ohio Senator Sherrod Brown says, “It’s time to bury the label “Rust Belt.” \n", + "\n", + "It’s time. \n", + "\n", + "But with all the bright spots in our economy, record job growth and higher wages, too many families are struggling to keep up with the bills. \n", + "\n", + "Inflation is robbing them of the gains they might otherwise feel. \n", + "\n", + "I get it. That’s why my top priority is getting prices under control.\n", + "----------------------------------------------------------------------------------------------------\n", + "Document 3:\n", + "\n", + "A former top litigator in private practice. A former federal public defender. And from a family of public school educators and police officers. A consensus builder. Since she’s been nominated, she’s received a broad range of support—from the Fraternal Order of Police to former judges appointed by Democrats and Republicans. \n", + "\n", + "And if we are to advance liberty and justice, we need to secure the Border and fix the immigration system.\n" + ] + } + ], + "source": [ + "from infinity_client import Client\n", + "from langchain.retrievers import ContextualCompressionRetriever\n", + "from langchain_community.document_compressors.infinity_rerank import InfinityRerank\n", + "\n", + "client = Client(base_url=\"http://localhost:7997\")\n", + "\n", + "compressor = InfinityRerank(client=client, model=\"mixedbread-ai/mxbai-rerank-xsmall-v1\")\n", + "compression_retriever = ContextualCompressionRetriever(\n", + " base_compressor=compressor, base_retriever=retriever\n", + ")\n", + "\n", + "compressed_docs = compression_retriever.invoke(\n", + " \"What did the president say about Ketanji Jackson Brown\"\n", + ")\n", + "pretty_print_docs(compressed_docs)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/docs/integrations/llm_caching.ipynb b/docs/docs/integrations/llm_caching.ipynb index ee5152e023ff25..4ba1901613ac2d 100644 --- a/docs/docs/integrations/llm_caching.ipynb +++ b/docs/docs/integrations/llm_caching.ipynb @@ -2368,6 +2368,102 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "7e6b9b1a", + "metadata": {}, + "source": [ + "## `Memcached` Cache\n", + "You can use [Memcached](https://www.memcached.org/) as a cache to cache prompts and responses through [pymemcache](https://github.com/pinterest/pymemcache).\n", + "\n", + "This cache requires the pymemcache dependency to be installed:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b2e5e0b1", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -qU pymemcache" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4c7ffe37", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_community.cache import MemcachedCache\n", + "from pymemcache.client.base import Client\n", + "\n", + "set_llm_cache(MemcachedCache(Client(\"localhost\")))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a4cfc48a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 32.8 ms, sys: 21 ms, total: 53.8 ms\n", + "Wall time: 343 ms\n" + ] + }, + { + "data": { + "text/plain": [ + "'\\n\\nWhy did the chicken cross the road?\\n\\nTo get to the other side!'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "# The first time, it is not yet in cache, so it should take longer\n", + "llm.invoke(\"Tell me a joke\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "cb3b2bf5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 2.31 ms, sys: 850 µs, total: 3.16 ms\n", + "Wall time: 6.43 ms\n" + ] + }, + { + "data": { + "text/plain": [ + "'\\n\\nWhy did the chicken cross the road?\\n\\nTo get to the other side!'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "# The second time it is, so it goes faster\n", + "llm.invoke(\"Tell me a joke\")" + ] + }, { "cell_type": "markdown", "id": "7019c991-0101-4f9c-b212-5729a5471293", diff --git a/docs/docs/integrations/providers/memcached.mdx b/docs/docs/integrations/providers/memcached.mdx new file mode 100644 index 00000000000000..f7719deda4031d --- /dev/null +++ b/docs/docs/integrations/providers/memcached.mdx @@ -0,0 +1,34 @@ +# Memcached + +> [Memcached](https://www.memcached.org/) is a free & open source, high-performance, distributed memory object caching system, +> generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. + +This page covers how to use Memcached with langchain, using [pymemcache](https://github.com/pinterest/pymemcache) as +a client to connect to an already running Memcached instance. + +## Installation and Setup +```bash +pip install pymemcache +``` + +## LLM Cache + +To integrate a Memcached Cache into your application: +```python3 +from langchain.globals import set_llm_cache +from langchain_openai import OpenAI + +from langchain_community.cache import MemcachedCache +from pymemcache.client.base import Client + +llm = OpenAI(model="gpt-3.5-turbo-instruct", n=2, best_of=2) +set_llm_cache(MemcachedCache(Client('localhost'))) + +# The first time, it is not yet in cache, so it should take longer +llm.invoke("Which city is the most crowded city in the USA?") + +# The second time it is, so it goes faster +llm.invoke("Which city is the most crowded city in the USA?") +``` + +Learn more in the [example notebook](/docs/integrations/llm_caching#memcached-cache) \ No newline at end of file diff --git a/docs/docs/integrations/providers/vectara/index.mdx b/docs/docs/integrations/providers/vectara/index.mdx index d7ff70fef3ea22..10de5f001f1128 100644 --- a/docs/docs/integrations/providers/vectara/index.mdx +++ b/docs/docs/integrations/providers/vectara/index.mdx @@ -4,15 +4,14 @@ > which is grounded in the data, documents, and knowledge that they have (technically, it is Retrieval-Augmented-Generation-as-a-service). **Vectara Overview:** -`Vectara` is RAG-as-a-service, providing all the components of RAG behind an easy-to-use API, including: +[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform which focuses on enterprise readiness for mission-critical applications. +Vectara serverless RAG-as-a-service provides all the components of RAG behind an easy-to-use API, including: 1. A way to extract text from files (PDF, PPT, DOCX, etc) 2. ML-based chunking that provides state of the art performance. 3. The [Boomerang](https://vectara.com/how-boomerang-takes-retrieval-augmented-generation-to-the-next-level-via-grounded-generation/) embeddings model. 4. Its own internal vector database where text chunks and embedding vectors are stored. -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) and -[MMR](https://vectara.com/get-diverse-results-and-comprehensive-summaries-with-vectaras-mmr-reranker/)) -7. 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. +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). +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. For more information: - [Documentation](https://docs.vectara.com/docs/) @@ -22,7 +21,7 @@ For more information: ## Installation and Setup To use `Vectara` with LangChain no special installation steps are required. -To get started, [sign up](https://vectara.com/integrations/langchain) for a free Vectara account (if you don't already have one), +To get started, [sign up](https://vectara.com/integrations/langchain) for a free Vectara trial, and follow the [quickstart](https://docs.vectara.com/docs/quickstart) guide to create a corpus and an API key. Once you have these, you can provide them as arguments to the Vectara `vectorstore`, or you can set them as environment variables. diff --git a/docs/docs/integrations/providers/vectara/vectara_chat.ipynb b/docs/docs/integrations/providers/vectara/vectara_chat.ipynb index f31f7599a28003..652f58919086e2 100644 --- a/docs/docs/integrations/providers/vectara/vectara_chat.ipynb +++ b/docs/docs/integrations/providers/vectara/vectara_chat.ipynb @@ -7,19 +7,19 @@ "source": [ "# Vectara Chat\n", "\n", - "[Vectara](https://vectara.com/) provides a Trusted Generative AI platform, allowing organizations to rapidly create a ChatGPT-like experience (an AI assistant) which is grounded in the data, documents, and knowledge that they have (technically, it is Retrieval-Augmented-Generation-as-a-service). \n", + "[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform which focuses on enterprise readiness for mission-critical applications.\n", "\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", "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) and [MMR](https://vectara.com/get-diverse-results-and-comprehensive-summaries-with-vectaras-mmr-reranker/))\n", - "7. 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", + "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", "\n", "See the [Vectara API documentation](https://docs.vectara.com/docs/) for more information on how to use the API.\n", "\n", - "This notebook shows how to use Vectara's [Chat](https://docs.vectara.com/docs/api-reference/chat-apis/chat-apis-overview) functionality." + "This notebook shows how to use Vectara's [Chat](https://docs.vectara.com/docs/api-reference/chat-apis/chat-apis-overview) functionality, which provides automatic storage of conversation history and ensures follow up questions consider that history." ] }, { @@ -30,7 +30,7 @@ "# Getting Started\n", "\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 account. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\n", + "1. If you don't already have one, [Sign up](https://www.vectara.com/integrations/langchain) for your free Vectara trial. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\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", "\n", diff --git a/docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb index 72e242b16d75c2..fe98c8f12a624a 100644 --- a/docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb +++ b/docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb @@ -7,15 +7,15 @@ "source": [ "# Vectara self-querying \n", "\n", - "[Vectara](https://vectara.com/) provides a Trusted Generative AI platform, allowing organizations to rapidly create a ChatGPT-like experience (an AI assistant) which is grounded in the data, documents, and knowledge that they have (technically, it is Retrieval-Augmented-Generation-as-a-service). \n", + "[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform which focuses on enterprise readiness for mission-critical applications.\n", "\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", "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) and [MMR](https://vectara.com/get-diverse-results-and-comprehensive-summaries-with-vectaras-mmr-reranker/))\n", - "7. 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", + "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", "\n", "See the [Vectara API documentation](https://docs.vectara.com/docs/) for more information on how to use the API.\n", "\n", @@ -30,7 +30,7 @@ "# Getting Started\n", "\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 account. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\n", + "1. If you don't already have one, [Sign up](https://www.vectara.com/integrations/langchain) for your free Vectara trial. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\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", "\n", diff --git a/docs/docs/integrations/text_embedding/naver.ipynb b/docs/docs/integrations/text_embedding/naver.ipynb index 05236288f47633..53be1d79b574a7 100644 --- a/docs/docs/integrations/text_embedding/naver.ipynb +++ b/docs/docs/integrations/text_embedding/naver.ipynb @@ -17,14 +17,14 @@ "source": [ "# ClovaXEmbeddings\n", "\n", - "This notebook covers how to get started with embedding models provided by CLOVA Studio. For detailed documentation on `ClovaXEmbeddings` features and configuration options, please refer to the [API reference](https://python.langchain.com/api_reference/community/embeddings/langchain_community.naver.ClovaXEmbeddings.html).\n", + "This notebook covers how to get started with embedding models provided by CLOVA Studio. For detailed documentation on `ClovaXEmbeddings` features and configuration options, please refer to the [API reference](https://python.langchain.com/api_reference/community/embeddings/langchain_community.embeddings.naver.ClovaXEmbeddings.html).\n", "\n", "## Overview\n", "### Integration details\n", "\n", "| Provider | Package |\n", "|:--------:|:-------:|\n", - "| [Naver](/docs/integrations/providers/naver.mdx) | [langchain-community](https://python.langchain.com/api_reference/community/embeddings/langchain_community.naver.ClovaXEmbeddings.html) |\n", + "| [Naver](/docs/integrations/providers/naver.mdx) | [langchain-community](https://python.langchain.com/api_reference/community/embeddings/langchain_community.embeddings.naver.ClovaXEmbeddings.html) |\n", "\n", "## Setup\n", "\n", diff --git a/docs/docs/integrations/tools/cdp_agentkit.ipynb b/docs/docs/integrations/tools/cdp_agentkit.ipynb new file mode 100644 index 00000000000000..738074116a3e32 --- /dev/null +++ b/docs/docs/integrations/tools/cdp_agentkit.ipynb @@ -0,0 +1,332 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "afaf8039", + "metadata": {}, + "source": [ + "---\n", + "sidebar_label: CDP\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "e49f1e0d", + "metadata": {}, + "source": [ + "# CDP Agentkit Toolkit\n", + "\n", + "The `CDP Agentkit` toolkit contains tools that enable an LLM agent to interact with the [Coinbase Developer Platform](https://docs.cdp.coinbase.com/). The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.\n", + "\n", + "## Overview\n", + "\n", + "### Integration details\n", + "\n", + "| Class | Package | Serializable | JS support | Package latest |\n", + "| :--- | :--- | :---: | :---: | :---: |\n", + "| CdpToolkit | `cdp-langchain` | ❌ | ❌ | ![PyPI - Version](https://img.shields.io/pypi/v/cdp-langchain?style=flat-square&label=%20) |\n", + "\n", + "### Tool features\n", + "\n", + "The toolkit provides the following tools:\n", + "\n", + "1. **get_wallet_details** - Get details about the MPC Wallet\n", + "2. **get_balance** - Get balance for specific assets\n", + "3. **request_faucet_funds** - Request test tokens from faucet\n", + "4. **transfer** - Transfer assets between addresses\n", + "5. **trade** - Trade assets (Mainnet only)\n", + "6. **deploy_token** - Deploy ERC-20 token contracts\n", + "7. **mint_nft** - Mint NFTs from existing contracts\n", + "8. **deploy_nft** - Deploy new NFT contracts\n", + "9. **register_basename** - Register a basename for the wallet\n", + "\n", + "We encourage you to add your own tools, both using CDP and web2 APIs, to create an agent that is tailored to your needs.\n", + "\n", + "## Setup\n", + "\n", + "At a high-level, we will:\n", + "\n", + "1. Install the langchain package\n", + "2. Set up your CDP API credentials\n", + "3. Initialize the CDP wrapper and toolkit\n", + "4. Pass the tools to your agent with `toolkit.get_tools()`" + ] + }, + { + "cell_type": "markdown", + "id": "72ee0c4b", + "metadata": {}, + "source": [ + "If you want to get automated tracing from runs of individual tools, you can also set your [LangSmith](https://docs.smith.langchain.com/) API key by uncommenting below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a15d341e", + "metadata": {}, + "outputs": [], + "source": [ + "# os.environ[\"LANGSMITH_API_KEY\"] = getpass.getpass(\"Enter your LangSmith API key: \")\n", + "# os.environ[\"LANGSMITH_TRACING\"] = \"true\"" + ] + }, + { + "cell_type": "markdown", + "id": "0730d6a1", + "metadata": {}, + "source": [ + "### Installation\n", + "\n", + "This toolkit lives in the `cdp-langchain` package:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "652d6238", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -qU cdp-langchain" + ] + }, + { + "cell_type": "markdown", + "id": "a38cde65", + "metadata": {}, + "source": [ + "#### Set Environment Variables\n", + "\n", + "To use this toolkit, you must first set the following environment variables to access the [CDP APIs](https://docs.cdp.coinbase.com/mpc-wallet/docs/quickstart) to create wallets and interact onchain. You can sign up for an API key for free on the [CDP Portal](https://cdp.coinbase.com/):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb09c344", + "metadata": {}, + "outputs": [], + "source": [ + "import getpass\n", + "import os\n", + "\n", + "for env_var in [\n", + " \"CDP_API_KEY_NAME\",\n", + " \"CDP_API_KEY_PRIVATE_KEY\",\n", + "]:\n", + " if not os.getenv(env_var):\n", + " os.environ[env_var] = getpass.getpass(f\"Enter your {env_var}: \")\n", + "\n", + "# Optional: Set network (defaults to base-sepolia)\n", + "os.environ[\"NETWORK_ID\"] = \"base-sepolia\" # or \"base-mainnet\"" + ] + }, + { + "cell_type": "markdown", + "id": "5c5f2839", + "metadata": {}, + "source": [ + "## Instantiation\n", + "\n", + "Now we can instantiate our toolkit:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51a60dbe", + "metadata": {}, + "outputs": [], + "source": [ + "from cdp_langchain.agent_toolkits import CdpToolkit\n", + "from cdp_langchain.utils import CdpAgentkitWrapper\n", + "\n", + "# Initialize CDP wrapper\n", + "cdp = CdpAgentkitWrapper()\n", + "\n", + "# Create toolkit from wrapper\n", + "toolkit = CdpToolkit.from_cdp_agentkit_wrapper(cdp)" + ] + }, + { + "cell_type": "markdown", + "id": "d11245ad", + "metadata": {}, + "source": [ + "## Tools\n", + "\n", + "View [available tools](#tool-features):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "310bf18e", + "metadata": {}, + "outputs": [], + "source": [ + "tools = toolkit.get_tools()\n", + "for tool in tools:\n", + " print(tool.name)" + ] + }, + { + "cell_type": "markdown", + "id": "23e11cc9", + "metadata": {}, + "source": [ + "## Use within an agent\n", + "\n", + "We will need a LLM or chat model:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1ee55bc", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_openai import ChatOpenAI\n", + "\n", + "llm = ChatOpenAI(model=\"gpt-4o-mini\")" + ] + }, + { + "cell_type": "markdown", + "id": "3a5bb5ca", + "metadata": {}, + "source": [ + "Initialize the agent with the tools:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8a2c4b1", + "metadata": {}, + "outputs": [], + "source": [ + "from langgraph.prebuilt import create_react_agent\n", + "\n", + "tools = toolkit.get_tools()\n", + "agent_executor = create_react_agent(llm, tools)" + ] + }, + { + "cell_type": "markdown", + "id": "b4a7c9d2", + "metadata": {}, + "source": [ + "Example usage:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9a8e4f3", + "metadata": {}, + "outputs": [], + "source": [ + "example_query = \"Send 0.005 ETH to john2879.base.eth\"\n", + "\n", + "events = agent_executor.stream(\n", + " {\"messages\": [(\"user\", example_query)]},\n", + " stream_mode=\"values\",\n", + ")\n", + "for event in events:\n", + " event[\"messages\"][-1].pretty_print()" + ] + }, + { + "cell_type": "markdown", + "id": "e5a7c9d4", + "metadata": {}, + "source": [ + "Expected output:\n", + "```\n", + "Transferred 0.005 of eth to john2879.base.eth.\n", + "Transaction hash for the transfer: 0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1e\n", + "Transaction link for the transfer: https://sepolia.basescan.org/tx/0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "f5a7c9d5", + "metadata": {}, + "source": [ + "## CDP Toolkit Specific Features\n", + "\n", + "### Wallet Management\n", + "\n", + "The toolkit maintains an MPC wallet. The wallet data can be exported and imported to persist between sessions:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "g5a7c9d6", + "metadata": {}, + "outputs": [], + "source": [ + "# Export wallet data\n", + "wallet_data = cdp.export_wallet()\n", + "\n", + "# Import wallet data\n", + "values = {\"cdp_wallet_data\": wallet_data}\n", + "cdp = CdpAgentkitWrapper(**values)" + ] + }, + { + "cell_type": "markdown", + "id": "h5a7c9d7", + "metadata": {}, + "source": [ + "### Network Support\n", + "\n", + "The toolkit supports [multiple networks](https://docs.cdp.coinbase.com/cdp-sdk/docs/networks)\n", + "\n", + "### Gasless Transactions\n", + "\n", + "Some operations support gasless transactions on Base Mainnet:\n", + "- USDC transfers\n", + "- EURC transfers\n", + "- cbBTC transfers" + ] + }, + { + "cell_type": "markdown", + "id": "i5a7c9d8", + "metadata": {}, + "source": [ + "## API reference\n", + "\n", + "For detailed documentation of all CDP features and configurations head to the [CDP docs](https://docs.cdp.coinbase.com/mpc-wallet/docs/welcome)." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/docs/integrations/tools/databricks.ipynb b/docs/docs/integrations/tools/databricks.ipynb index bb44a716f587e7..fafb14cd97357c 100644 --- a/docs/docs/integrations/tools/databricks.ipynb +++ b/docs/docs/integrations/tools/databricks.ipynb @@ -6,7 +6,7 @@ "source": [ "# Databricks Unity Catalog (UC)\n", "\n", - "This notebook shows how to use UC functions as LangChain tools.\n", + "This notebook shows how to use UC functions as LangChain tools, with both LangChain and LangGraph agent APIs.\n", "\n", "See Databricks documentation ([AWS](https://docs.databricks.com/en/sql/language-manual/sql-ref-syntax-ddl-create-sql-function.html)|[Azure](https://learn.microsoft.com/en-us/azure/databricks/sql/language-manual/sql-ref-syntax-ddl-create-sql-function)|[GCP](https://docs.gcp.databricks.com/en/sql/language-manual/sql-ref-syntax-ddl-create-sql-function.html)) to learn how to create SQL or Python functions in UC. Do not skip function and parameter comments, which are critical for LLMs to call functions properly.\n", "\n", @@ -34,11 +34,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], "source": [ - "%pip install --upgrade --quiet databricks-sdk langchain-community mlflow" + "%pip install --upgrade --quiet databricks-sdk langchain-community langchain-databricks langgraph mlflow" ] }, { @@ -47,7 +55,7 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain_community.chat_models.databricks import ChatDatabricks\n", + "from langchain_databricks import ChatDatabricks\n", "\n", "llm = ChatDatabricks(endpoint=\"databricks-meta-llama-3-70b-instruct\")" ] @@ -58,6 +66,7 @@ "metadata": {}, "outputs": [], "source": [ + "from databricks.sdk import WorkspaceClient\n", "from langchain_community.tools.databricks import UCFunctionToolkit\n", "\n", "tools = (\n", @@ -76,9 +85,16 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "source": [ - "(Optional) To increase the retry time for getting a function execution response, set environment variable UC_TOOL_CLIENT_EXECUTION_TIMEOUT. Default retry time value is 120s." + "(Optional) To increase the retry time for getting a function execution response, set environment variable UC_TOOL_CLIENT_EXECUTION_TIMEOUT. Default retry time value is 120s.", + + "## LangGraph agent example" ] }, { @@ -92,9 +108,68 @@ "os.environ[\"UC_TOOL_CLIENT_EXECUTION_TIMEOUT\"] = \"200\"" ] }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "source": [ + "## LangGraph agent example" + ] + }, { "cell_type": "code", "execution_count": 4, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'messages': [HumanMessage(content='36939 * 8922.4', additional_kwargs={}, response_metadata={}, id='1a10b10b-8e37-48c7-97a1-cac5006228d5'),\n", + " AIMessage(content='', additional_kwargs={'tool_calls': [{'id': 'call_a8f3986f-4b91-40a3-8d6d-39f431dab69b', 'type': 'function', 'function': {'name': 'main__tools__python_exec', 'arguments': '{\"code\": \"print(36939 * 8922.4)\"}'}}]}, response_metadata={'prompt_tokens': 771, 'completion_tokens': 29, 'total_tokens': 800}, id='run-865c3613-20ba-4e80-afc8-fde1cfb26e5a-0', tool_calls=[{'name': 'main__tools__python_exec', 'args': {'code': 'print(36939 * 8922.4)'}, 'id': 'call_a8f3986f-4b91-40a3-8d6d-39f431dab69b', 'type': 'tool_call'}]),\n", + " ToolMessage(content='{\"format\": \"SCALAR\", \"value\": \"329584533.59999996\\\\n\", \"truncated\": false}', name='main__tools__python_exec', id='8b63d4c8-1a3d-46a5-a719-393b2ef36770', tool_call_id='call_a8f3986f-4b91-40a3-8d6d-39f431dab69b'),\n", + " AIMessage(content='The result of the multiplication is:\\n\\n329584533.59999996', additional_kwargs={}, response_metadata={'prompt_tokens': 846, 'completion_tokens': 22, 'total_tokens': 868}, id='run-22772404-611b-46e4-9956-b85e4a385f0f-0')]}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langgraph.prebuilt import create_react_agent\n", + "\n", + "agent = create_react_agent(\n", + " llm,\n", + " tools,\n", + " state_modifier=\"You are a helpful assistant. Make sure to use tool for information.\",\n", + ")\n", + "agent.invoke({\"messages\": [{\"role\": \"user\", \"content\": \"36939 * 8922.4\"}]})" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "source": [ + "## LangChain agent example" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -118,7 +193,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -132,7 +207,9 @@ "Invoking: `main__tools__python_exec` with `{'code': 'print(36939 * 8922.4)'}`\n", "\n", "\n", - "\u001b[0m\u001b[36;1m\u001b[1;3m{\"format\": \"SCALAR\", \"value\": \"329584533.59999996\\n\", \"truncated\": false}\u001b[0m\u001b[32;1m\u001b[1;3mThe result of the multiplication 36939 * 8922.4 is 329,584,533.60.\u001b[0m\n", + "\u001b[0m\u001b[36;1m\u001b[1;3m{\"format\": \"SCALAR\", \"value\": \"329584533.59999996\\n\", \"truncated\": false}\u001b[0m\u001b[32;1m\u001b[1;3mThe result of the multiplication is:\n", + "\n", + "329584533.59999996\u001b[0m\n", "\n", "\u001b[1m> Finished chain.\u001b[0m\n" ] @@ -141,10 +218,10 @@ "data": { "text/plain": [ "{'input': '36939 * 8922.4',\n", - " 'output': 'The result of the multiplication 36939 * 8922.4 is 329,584,533.60.'}" + " 'output': 'The result of the multiplication is:\\n\\n329584533.59999996'}" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -153,18 +230,11 @@ "agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)\n", "agent_executor.invoke({\"input\": \"36939 * 8922.4\"})" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "llm", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -178,9 +248,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.10" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/docs/integrations/tools/google_books.ipynb b/docs/docs/integrations/tools/google_books.ipynb new file mode 100644 index 00000000000000..57446c435f6382 --- /dev/null +++ b/docs/docs/integrations/tools/google_books.ipynb @@ -0,0 +1,270 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Google Books" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Integration details\n", + "\n", + "The Google Books tool that supports the ReAct pattern and allows you to search the Google Books API. Google Books is the largest API in the world that keeps track of books in a curated manner. It has over 40 million entries, which can give users a significant amount of data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Tool features\n", + "\n", + "Currently the tool has the following capabilities:\n", + "- Gathers the relevant information from the Google Books API using a key word search\n", + "- Formats the information into a readable output, and return the result to the agent" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "Make sure `langchain-community` is installed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "shellscript" + } + }, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain-community" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Credentials\n", + "\n", + "You will need an API key from Google Books. You can do this by visiting and following the steps at [https://developers.google.com/books/docs/v1/using#APIKey](https://developers.google.com/books/docs/v1/using#APIKey).\n", + "\n", + "Then you will need to set the environment variable `GOOGLE_BOOKS_API_KEY` to your Google Books API key." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instantiation\n", + "\n", + "To instantiate the tool import the Google Books tool and set your credentials." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "from langchain_community.tools.google_books import GoogleBooksQueryRun\n", + "from langchain_community.utilities.google_books import GoogleBooksAPIWrapper\n", + "\n", + "os.environ[\"GOOGLE_BOOKS_API_KEY\"] = \"\"\n", + "tool = GoogleBooksQueryRun(api_wrapper=GoogleBooksAPIWrapper())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Invocation\n", + "\n", + "You can invoke the tool by calling the `run` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Here are 5 suggestions for books related to ai:\n", + "\n", + "1. \"AI's Take on the Stigma Against AI-Generated Content\" by Sandy Y. Greenleaf: In a world where artificial intelligence (AI) is rapidly advancing and transforming various industries, a new form of content creation has emerged: AI-generated content. However, despite its potential to revolutionize the way we produce and consume information, AI-generated content often faces a significant stigma. \"AI's Take on the Stigma Against AI-Generated Content\" is a groundbreaking book that delves into the heart of this issue, exploring the reasons behind the stigma and offering a fresh, unbiased perspective on the topic. Written from the unique viewpoint of an AI, this book provides readers with a comprehensive understanding of the challenges and opportunities surrounding AI-generated content. Through engaging narratives, thought-provoking insights, and real-world examples, this book challenges readers to reconsider their preconceptions about AI-generated content. It explores the potential benefits of embracing this technology, such as increased efficiency, creativity, and accessibility, while also addressing the concerns and drawbacks that contribute to the stigma. As you journey through the pages of this book, you'll gain a deeper understanding of the complex relationship between humans and AI in the realm of content creation. You'll discover how AI can be used as a tool to enhance human creativity, rather than replace it, and how collaboration between humans and machines can lead to unprecedented levels of innovation. Whether you're a content creator, marketer, business owner, or simply someone curious about the future of AI and its impact on our society, \"AI's Take on the Stigma Against AI-Generated Content\" is an essential read. With its engaging writing style, well-researched insights, and practical strategies for navigating this new landscape, this book will leave you equipped with the knowledge and tools needed to embrace the AI revolution and harness its potential for success. Prepare to have your assumptions challenged, your mind expanded, and your perspective on AI-generated content forever changed. Get ready to embark on a captivating journey that will redefine the way you think about the future of content creation.\n", + "You can read more at https://play.google.com/store/books/details?id=4iH-EAAAQBAJ&source=gbs_api\n", + "\n", + "2. \"AI Strategies For Web Development\" by Anderson Soares Furtado Oliveira: From fundamental to advanced strategies, unlock useful insights for creating innovative, user-centric websites while navigating the evolving landscape of AI ethics and security Key Features Explore AI's role in web development, from shaping projects to architecting solutions Master advanced AI strategies to build cutting-edge applications Anticipate future trends by exploring next-gen development environments, emerging interfaces, and security considerations in AI web development Purchase of the print or Kindle book includes a free PDF eBook Book Description If you're a web developer looking to leverage the power of AI in your projects, then this book is for you. Written by an AI and ML expert with more than 15 years of experience, AI Strategies for Web Development takes you on a transformative journey through the dynamic intersection of AI and web development, offering a hands-on learning experience.The first part of the book focuses on uncovering the profound impact of AI on web projects, exploring fundamental concepts, and navigating popular frameworks and tools. As you progress, you'll learn how to build smart AI applications with design intelligence, personalized user journeys, and coding assistants. Later, you'll explore how to future-proof your web development projects using advanced AI strategies and understand AI's impact on jobs. Toward the end, you'll immerse yourself in AI-augmented development, crafting intelligent web applications and navigating the ethical landscape.Packed with insights into next-gen development environments, AI-augmented practices, emerging realities, interfaces, and security governance, this web development book acts as your roadmap to staying ahead in the AI and web development domain. What you will learn Build AI-powered web projects with optimized models Personalize UX dynamically with AI, NLP, chatbots, and recommendations Explore AI coding assistants and other tools for advanced web development Craft data-driven, personalized experiences using pattern recognition Architect effective AI solutions while exploring the future of web development Build secure and ethical AI applications following TRiSM best practices Explore cutting-edge AI and web development trends Who this book is for This book is for web developers with experience in programming languages and an interest in keeping up with the latest trends in AI-powered web development. Full-stack, front-end, and back-end developers, UI/UX designers, software engineers, and web development enthusiasts will also find valuable information and practical guidelines for developing smarter websites with AI. To get the most out of this book, it is recommended that you have basic knowledge of programming languages such as HTML, CSS, and JavaScript, as well as a familiarity with machine learning concepts.\n", + "You can read more at https://play.google.com/store/books/details?id=FzYZEQAAQBAJ&source=gbs_api\n", + "\n", + "3. \"Artificial Intelligence for Students\" by Vibha Pandey: A multifaceted approach to develop an understanding of AI and its potential applications KEY FEATURES ● AI-informed focuses on AI foundation, applications, and methodologies. ● AI-inquired focuses on computational thinking and bias awareness. ● AI-innovate focuses on creative and critical thinking and the Capstone project. DESCRIPTION AI is a discipline in Computer Science that focuses on developing intelligent machines, machines that can learn and then teach themselves. If you are interested in AI, this book can definitely help you prepare for future careers in AI and related fields. The book is aligned with the CBSE course, which focuses on developing employability and vocational competencies of students in skill subjects. The book is an introduction to the basics of AI. It is divided into three parts – AI-informed, AI-inquired and AI-innovate. It will help you understand AI's implications on society and the world. You will also develop a deeper understanding of how it works and how it can be used to solve complex real-world problems. Additionally, the book will also focus on important skills such as problem scoping, goal setting, data analysis, and visualization, which are essential for success in AI projects. Lastly, you will learn how decision trees, neural networks, and other AI concepts are commonly used in real-world applications. By the end of the book, you will develop the skills and competencies required to pursue a career in AI. WHAT YOU WILL LEARN ● Get familiar with the basics of AI and Machine Learning. ● Understand how and where AI can be applied. ● Explore different applications of mathematical methods in AI. ● Get tips for improving your skills in Data Storytelling. ● Understand what is AI bias and how it can affect human rights. WHO THIS BOOK IS FOR This book is for CBSE class XI and XII students who want to learn and explore more about AI. Basic knowledge of Statistical concepts, Algebra, and Plotting of equations is a must. TABLE OF CONTENTS 1. Introduction: AI for Everyone 2. AI Applications and Methodologies 3. Mathematics in Artificial Intelligence 4. AI Values (Ethical Decision-Making) 5. Introduction to Storytelling 6. Critical and Creative Thinking 7. Data Analysis 8. Regression 9. Classification and Clustering 10. AI Values (Bias Awareness) 11. Capstone Project 12. Model Lifecycle (Knowledge) 13. Storytelling Through Data 14. AI Applications in Use in Real-World\n", + "You can read more at https://play.google.com/store/books/details?id=ptq1EAAAQBAJ&source=gbs_api\n", + "\n", + "4. \"The AI Book\" by Ivana Bartoletti, Anne Leslie and Shân M. Millie: Written by prominent thought leaders in the global fintech space, The AI Book aggregates diverse expertise into a single, informative volume and explains what artifical intelligence really means and how it can be used across financial services today. Key industry developments are explained in detail, and critical insights from cutting-edge practitioners offer first-hand information and lessons learned. Coverage includes: · Understanding the AI Portfolio: from machine learning to chatbots, to natural language processing (NLP); a deep dive into the Machine Intelligence Landscape; essentials on core technologies, rethinking enterprise, rethinking industries, rethinking humans; quantum computing and next-generation AI · AI experimentation and embedded usage, and the change in business model, value proposition, organisation, customer and co-worker experiences in today’s Financial Services Industry · The future state of financial services and capital markets – what’s next for the real-world implementation of AITech? · The innovating customer – users are not waiting for the financial services industry to work out how AI can re-shape their sector, profitability and competitiveness · Boardroom issues created and magnified by AI trends, including conduct, regulation & oversight in an algo-driven world, cybersecurity, diversity & inclusion, data privacy, the ‘unbundled corporation’ & the future of work, social responsibility, sustainability, and the new leadership imperatives · Ethical considerations of deploying Al solutions and why explainable Al is so important\n", + "You can read more at http://books.google.ca/books?id=oE3YDwAAQBAJ&dq=ai&hl=&source=gbs_api\n", + "\n", + "5. \"Artificial Intelligence in Society\" by OECD: The artificial intelligence (AI) landscape has evolved significantly from 1950 when Alan Turing first posed the question of whether machines can think. Today, AI is transforming societies and economies. It promises to generate productivity gains, improve well-being and help address global challenges, such as climate change, resource scarcity and health crises.\n", + "You can read more at https://play.google.com/store/books/details?id=eRmdDwAAQBAJ&source=gbs_api'" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tool.run(\"ai\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Invoke directly with args](/docs/concepts/#invoke-with-just-the-arguments)\n", + "\n", + "See below for an direct invocation example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "from langchain_community.tools.google_books import GoogleBooksQueryRun\n", + "from langchain_community.utilities.google_books import GoogleBooksAPIWrapper\n", + "\n", + "os.environ[\"GOOGLE_BOOKS_API_KEY\"] = \"\"\n", + "tool = GoogleBooksQueryRun(api_wrapper=GoogleBooksAPIWrapper())\n", + "\n", + "tool.run(\"ai\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Invoke with ToolCall](/docs/concepts/#invoke-with-toolcall)\n", + "\n", + "See below for a tool call example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import getpass\n", + "import os\n", + "\n", + "from langchain_community.tools.google_books import GoogleBooksQueryRun\n", + "from langchain_community.utilities.google_books import GoogleBooksAPIWrapper\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.prompts import PromptTemplate\n", + "from langchain_openai import ChatOpenAI\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = getpass.getpass()\n", + "os.environ[\"GOOGLE_BOOKS_API_KEY\"] = \"\"\n", + "\n", + "tool = GoogleBooksQueryRun(api_wrapper=GoogleBooksAPIWrapper())\n", + "llm = ChatOpenAI(model=\"gpt-4o-mini\")\n", + "prompt = PromptTemplate.from_template(\n", + " \"Return the keyword, and only the keyword, that the user is looking for from this text: {text}\"\n", + ")\n", + "\n", + "\n", + "def suggest_books(query):\n", + " chain = prompt | llm | StrOutputParser()\n", + " keyword = chain.invoke({\"text\": query})\n", + " return tool.run(keyword)\n", + "\n", + "\n", + "suggestions = suggest_books(\"I need some information on AI\")\n", + "print(suggestions)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chaining\n", + "\n", + "See the below example for chaining." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import getpass\n", + "import os\n", + "\n", + "from langchain import hub\n", + "from langchain.agents import AgentExecutor, create_tool_calling_agent\n", + "from langchain_community.tools.google_books import GoogleBooksQueryRun\n", + "from langchain_community.utilities.google_books import GoogleBooksAPIWrapper\n", + "from langchain_openai import ChatOpenAI\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = getpass.getpass()\n", + "os.environ[\"GOOGLE_BOOKS_API_KEY\"] = \"\"\n", + "\n", + "tool = GoogleBooksQueryRun(api_wrapper=GoogleBooksAPIWrapper())\n", + "llm = ChatOpenAI(model=\"gpt-4o-mini\")\n", + "\n", + "instructions = \"\"\"You are a book suggesting assistant.\"\"\"\n", + "base_prompt = hub.pull(\"langchain-ai/openai-functions-template\")\n", + "prompt = base_prompt.partial(instructions=instructions)\n", + "\n", + "tools = [tool]\n", + "agent = create_tool_calling_agent(llm, tools, prompt)\n", + "agent_executor = AgentExecutor(\n", + " agent=agent,\n", + " tools=tools,\n", + " verbose=True,\n", + ")\n", + "\n", + "agent_executor.invoke({\"input\": \"Can you recommend me some books related to ai?\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## API reference\n", + "\n", + "The Google Books API can be found here: [https://developers.google.com/books](https://developers.google.com/books)" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/docs/integrations/tools/playwright.ipynb b/docs/docs/integrations/tools/playwright.ipynb index bf397c74236c39..e09f4e79cd24d1 100644 --- a/docs/docs/integrations/tools/playwright.ipynb +++ b/docs/docs/integrations/tools/playwright.ipynb @@ -101,7 +101,7 @@ "source": [ "## Instantiating a Browser Toolkit\n", "\n", - "It's always recommended to instantiate using the `from_browser` method so that the " + "It's always recommended to instantiate using the from_browser method so that the browser context is properly initialized and managed, ensuring seamless interaction and resource optimization." ] }, { diff --git a/docs/docs/integrations/vectorstores/vectara.ipynb b/docs/docs/integrations/vectorstores/vectara.ipynb index d041d8b669a013..758ea4be83eddf 100644 --- a/docs/docs/integrations/vectorstores/vectara.ipynb +++ b/docs/docs/integrations/vectorstores/vectara.ipynb @@ -7,15 +7,15 @@ "source": [ "# Vectara\n", "\n", - "[Vectara](https://vectara.com/) provides a Trusted Generative AI platform, allowing organizations to rapidly create a ChatGPT-like experience (an AI assistant) which is grounded in the data, documents, and knowledge that they have (technically, it is Retrieval-Augmented-Generation-as-a-service). \n", + "[Vectara](https://vectara.com/) is the trusted AI Assistant and Agent platform which focuses on enterprise readiness for mission-critical applications.\n", "\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", "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) and [MMR](https://vectara.com/get-diverse-results-and-comprehensive-summaries-with-vectaras-mmr-reranker/))\n", - "7. 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", + "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", "\n", "See the [Vectara API documentation](https://docs.vectara.com/docs/) for more information on how to use the API.\n", "\n", @@ -32,7 +32,7 @@ "# Getting Started\n", "\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 account. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\n", + "1. If you don't already have one, [Sign up](https://www.vectara.com/integrations/langchain) for your free Vectara trial. Once you have completed your sign up you will have a Vectara customer ID. You can find your customer ID by clicking on your name, on the top-right of the Vectara console window.\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", "\n", diff --git a/docs/docs/introduction.mdx b/docs/docs/introduction.mdx index c25c4849351907..68d7aaa41868d1 100644 --- a/docs/docs/introduction.mdx +++ b/docs/docs/introduction.mdx @@ -19,8 +19,8 @@ import useBaseUrl from '@docusaurus/useBaseUrl';