diff --git a/docs/modules/agents/tools/examples/apify.ipynb b/docs/modules/agents/tools/examples/apify.ipynb index 26d6072b40..fa5c699496 100644 --- a/docs/modules/agents/tools/examples/apify.ipynb +++ b/docs/modules/agents/tools/examples/apify.ipynb @@ -1,7 +1,6 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -20,7 +19,15 @@ ] }, { - "attachments": {}, + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install apify-client" + ] + }, + { "cell_type": "markdown", "metadata": {}, "source": [ @@ -39,7 +46,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -60,7 +66,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -85,7 +90,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -102,7 +106,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -156,9 +159,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/CoNLL-U.ipynb b/docs/modules/indexes/document_loaders/examples/CoNLL-U.ipynb index e0ee735ee2..c0263acacb 100644 --- a/docs/modules/indexes/document_loaders/examples/CoNLL-U.ipynb +++ b/docs/modules/indexes/document_loaders/examples/CoNLL-U.ipynb @@ -11,9 +11,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d9b2e33e", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import CoNLLULoader" @@ -21,9 +23,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "5b5eec48", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = CoNLLULoader(\"example_data/conllu.conllu\")" @@ -31,9 +35,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "10f3f725", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "document = loader.load()" @@ -41,10 +47,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "acbb3579", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[Document(page_content='They buy and sell books.', metadata={'source': 'example_data/conllu.conllu'})]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "document" ] @@ -52,7 +71,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -66,7 +85,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.10.6" }, "toc": { "base_numbering": 1, diff --git a/docs/modules/indexes/document_loaders/examples/airbyte_json.ipynb b/docs/modules/indexes/document_loaders/examples/airbyte_json.ipynb index 775fd8a413..2b30ac47be 100644 --- a/docs/modules/indexes/document_loaders/examples/airbyte_json.ipynb +++ b/docs/modules/indexes/document_loaders/examples/airbyte_json.ipynb @@ -5,7 +5,22 @@ "id": "1f3a5ebf", "metadata": {}, "source": [ - "# Airbyte JSON\n", + "# Airbyte JSON" + ] + }, + { + "cell_type": "markdown", + "id": "35ac77b1-449b-44f7-b8f3-3494d55c286e", + "metadata": {}, + "source": [ + ">[Airbyte](https://github.com/airbytehq/airbyte) is a data integration platform for ELT pipelines from APIs, databases & files to warehouses & lakes. It has the largest catalog of ELT connectors to data warehouses and databases." + ] + }, + { + "cell_type": "markdown", + "id": "1fe72234-3110-4c07-a766-3dc505dd25cc", + "metadata": {}, + "source": [ "This covers how to load any source from Airbyte into a local JSON file that can be read in as a document\n", "\n", "Prereqs:\n", @@ -25,7 +40,7 @@ "\n", "6) Set destination as Local JSON, with specified destination path - lets say `/json_data`. Set up manual sync.\n", "\n", - "7) Run the connection!\n", + "7) Run the connection.\n", "\n", "7) To see what files are create, you can navigate to: `file:///tmp/airbyte_local`\n", "\n", @@ -52,7 +67,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "_airbyte_raw_pokemon.jsonl\r\n" + "_airbyte_raw_pokemon.jsonl\n" ] } ], diff --git a/docs/modules/indexes/document_loaders/examples/apify_dataset.ipynb b/docs/modules/indexes/document_loaders/examples/apify_dataset.ipynb index e02e836d62..2bed28ba4f 100644 --- a/docs/modules/indexes/document_loaders/examples/apify_dataset.ipynb +++ b/docs/modules/indexes/document_loaders/examples/apify_dataset.ipynb @@ -1,15 +1,15 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Apify Dataset\n", "\n", + ">[Apify Dataset](https://docs.apify.com/platform/storage/dataset) is a scaleable append-only storage with sequential access built for storing structured web scraping results, such as a list of products or Google SERPs, and then export them to various formats like JSON, CSV, or Excel. Datasets are mainly used to save results of [Apify Actors](https://apify.com/store)—serverless cloud programs for varius web scraping, crawling, and data extraction use cases.\n", + "\n", "This notebook shows how to load Apify datasets to LangChain.\n", "\n", - "[Apify Dataset](https://docs.apify.com/platform/storage/dataset) is a scaleable append-only storage with sequential access built for storing structured web scraping results, such as a list of products or Google SERPs, and then export them to various formats like JSON, CSV, or Excel. Datasets are mainly used to save results of [Apify Actors](https://apify.com/store)—serverless cloud programs for varius web scraping, crawling, and data extraction use cases.\n", "\n", "## Prerequisites\n", "\n", @@ -17,7 +17,17 @@ ] }, { - "attachments": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#!pip install apify-client" + ] + }, + { "cell_type": "markdown", "metadata": {}, "source": [ @@ -35,7 +45,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -77,7 +86,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -167,9 +175,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/arxiv.ipynb b/docs/modules/indexes/document_loaders/examples/arxiv.ipynb index ebfaf41ebd..1b8b6b8da4 100644 --- a/docs/modules/indexes/document_loaders/examples/arxiv.ipynb +++ b/docs/modules/indexes/document_loaders/examples/arxiv.ipynb @@ -7,7 +7,7 @@ "source": [ "# Arxiv\n", "\n", - "[arXiv](https://arxiv.org/) is an open-access archive for 2 million scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics.\n", + ">[arXiv](https://arxiv.org/) is an open-access archive for 2 million scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics.\n", "\n", "This notebook shows how to load scientific articles from `Arxiv.org` into a document format that we can use downstream." ] @@ -37,11 +37,10 @@ }, "outputs": [], "source": [ - "!pip install arxiv" + "#!pip install arxiv" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "094b5f13-7e54-4354-9d83-26d6926ecaa0", "metadata": { @@ -60,7 +59,7 @@ }, "outputs": [], "source": [ - "!pip install pymupdf" + "#!pip install pymupdf" ] }, { @@ -72,7 +71,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "e29b954c-1407-4797-ae21-6ba8937156be", "metadata": {}, @@ -171,7 +169,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/azlyrics.ipynb b/docs/modules/indexes/document_loaders/examples/azlyrics.ipynb index 9b8032f85a..48056751a1 100644 --- a/docs/modules/indexes/document_loaders/examples/azlyrics.ipynb +++ b/docs/modules/indexes/document_loaders/examples/azlyrics.ipynb @@ -6,6 +6,9 @@ "metadata": {}, "source": [ "# AZLyrics\n", + "\n", + ">[AZLyrics](https://www.azlyrics.com/) is a large, legal, every day growing collection of lyrics.\n", + "\n", "This covers how to load AZLyrics webpages into a document format that we can use downstream." ] }, @@ -85,7 +88,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/azure_blob_storage_container.ipynb b/docs/modules/indexes/document_loaders/examples/azure_blob_storage_container.ipynb index d843352f64..b6bfe946d5 100644 --- a/docs/modules/indexes/document_loaders/examples/azure_blob_storage_container.ipynb +++ b/docs/modules/indexes/document_loaders/examples/azure_blob_storage_container.ipynb @@ -1,34 +1,45 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "a634365e", "metadata": {}, "source": [ "# Azure Blob Storage Container\n", "\n", - "This covers how to load document objects from a container on Azure Blob Storage." + ">[Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) is Microsoft's object storage solution for the cloud. Blob Storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that doesn't adhere to a particular data model or definition, such as text or binary data.\n", + "\n", + "`Azure Blob Storage` is designed for:\n", + "- Serving images or documents directly to a browser.\n", + "- Storing files for distributed access.\n", + "- Streaming video and audio.\n", + "- Writing to log files.\n", + "- Storing data for backup and restore, disaster recovery, and archiving.\n", + "- Storing data for analysis by an on-premises or Azure-hosted service.\n", + "\n", + "This notebook covers how to load document objects from a container on `Azure Blob Storage`." ] }, { "cell_type": "code", - "execution_count": 1, - "id": "2f0cd6a5", + "execution_count": null, + "id": "49815096", "metadata": {}, "outputs": [], "source": [ - "from langchain.document_loaders import AzureBlobStorageContainerLoader" + "#!pip install azure-storage-blob" ] }, { "cell_type": "code", "execution_count": 2, - "id": "49815096", - "metadata": {}, + "id": "2f0cd6a5", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "#!pip install azure-storage-blob" + "from langchain.document_loaders import AzureBlobStorageContainerLoader" ] }, { @@ -127,7 +138,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/azure_blob_storage_file.ipynb b/docs/modules/indexes/document_loaders/examples/azure_blob_storage_file.ipynb index a7d3448717..6bfcdca73f 100644 --- a/docs/modules/indexes/document_loaders/examples/azure_blob_storage_file.ipynb +++ b/docs/modules/indexes/document_loaders/examples/azure_blob_storage_file.ipynb @@ -1,34 +1,37 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "66a7777e", "metadata": {}, "source": [ "# Azure Blob Storage File\n", "\n", - "This covers how to load document objects from a Azure Blob Storage file." + ">[Azure Files](https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction) offers fully managed file shares in the cloud that are accessible via the industry standard Server Message Block (`SMB`) protocol, Network File System (`NFS`) protocol, and `Azure Files REST API`.\n", + "\n", + "This covers how to load document objects from a Azure Files." ] }, { "cell_type": "code", "execution_count": 1, - "id": "9ec8a3b3", - "metadata": {}, + "id": "43128d8d", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "from langchain.document_loaders import AzureBlobStorageFileLoader" + "#!pip install azure-storage-blob" ] }, { "cell_type": "code", - "execution_count": 2, - "id": "43128d8d", + "execution_count": 1, + "id": "9ec8a3b3", "metadata": {}, "outputs": [], "source": [ - "#!pip install azure-storage-blob" + "from langchain.document_loaders import AzureBlobStorageFileLoader" ] }, { @@ -87,7 +90,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/bigquery.ipynb b/docs/modules/indexes/document_loaders/examples/bigquery.ipynb index f34f0f17d7..2932f1fc45 100644 --- a/docs/modules/indexes/document_loaders/examples/bigquery.ipynb +++ b/docs/modules/indexes/document_loaders/examples/bigquery.ipynb @@ -4,15 +4,31 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# BigQuery Loader\n", + "# BigQuery\n", "\n", - "Load a BigQuery query with one document per row." + ">[BigQuery](https://cloud.google.com/bigquery) is a serverless and cost-effective enterprise data warehouse that works across clouds and scales with your data.\n", + "`BigQuery` is a part of the `Google Cloud Platform`.\n", + "\n", + "Load a `BigQuery` query with one document per row." ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#!pip install google-cloud-bigquery" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import BigQueryLoader" @@ -194,9 +210,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/bilibili.ipynb b/docs/modules/indexes/document_loaders/examples/bilibili.ipynb index 294b9441dd..3622a6df86 100644 --- a/docs/modules/indexes/document_loaders/examples/bilibili.ipynb +++ b/docs/modules/indexes/document_loaders/examples/bilibili.ipynb @@ -7,29 +7,33 @@ "source": [ "# Bilibili\n", "\n", - "This loader utilizes the `bilibili-api` to fetch the text transcript from Bilibili, one of the most beloved long-form video sites in China.\n", + "This loader utilizes the [bilibili-api](https://github.com/MoyuScript/bilibili-api) to fetch the text transcript from [Bilibili](https://www.bilibili.tv/), one of the most beloved long-form video sites in China.\n", "\n", "With this BiliBiliLoader, users can easily obtain the transcript of their desired video content on the platform." ] }, { "cell_type": "code", - "execution_count": 11, - "id": "9ec8a3b3", - "metadata": {}, + "execution_count": null, + "id": "43128d8d", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "from langchain.document_loaders.bilibili import BiliBiliLoader" + "#!pip install bilibili-api" ] }, { "cell_type": "code", - "execution_count": 12, - "id": "43128d8d", - "metadata": {}, + "execution_count": null, + "id": "9ec8a3b3", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "#!pip install bilibili-api" + "from langchain.document_loaders.bilibili import BiliBiliLoader" ] }, { @@ -51,16 +55,20 @@ { "cell_type": "code", "execution_count": null, - "outputs": [], - "source": [ - "loader.load()" - ], + "id": "3470dadf", "metadata": { "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, "pycharm": { "name": "#%%\n" } - } + }, + "outputs": [], + "source": [ + "loader.load()" + ] } ], "metadata": { @@ -79,9 +87,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/docs/modules/indexes/document_loaders/examples/blackboard.ipynb b/docs/modules/indexes/document_loaders/examples/blackboard.ipynb index 8b0c815bcf..5834021bde 100644 --- a/docs/modules/indexes/document_loaders/examples/blackboard.ipynb +++ b/docs/modules/indexes/document_loaders/examples/blackboard.ipynb @@ -1,13 +1,18 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Blackboard\n", "\n", - "This covers how to load data from a Blackboard Learn instance." + "This covers how to load data from a [Blackboard Learn](https://www.anthology.com/products/teaching-and-learning/learning-effectiveness/blackboard-learn) instance.\n", + "\n", + "This loader is not compatible with all `Blackboard` courses. It is only\n", + " compatible with courses that use the new `Blackboard` interface.\n", + " To use this loader, you must have the BbRouter cookie. You can get this\n", + " cookie by logging into the course and then copying the value of the\n", + " BbRouter cookie from the browser's developer tools." ] }, { @@ -28,11 +33,24 @@ } ], "metadata": { - "language_info": { - "name": "python" + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "orig_nbformat": 4 + "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.6" + } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/blockchain.ipynb b/docs/modules/indexes/document_loaders/examples/blockchain.ipynb index f7950d32e2..fea0239a14 100644 --- a/docs/modules/indexes/document_loaders/examples/blockchain.ipynb +++ b/docs/modules/indexes/document_loaders/examples/blockchain.ipynb @@ -1,151 +1,149 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "vm8vn9t8DvC_" - }, - "source": [ - "# Blockchain" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "5WjXERXzFEhg" - }, - "source": [ - "## Overview" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "juAmbgoWD17u" - }, - "source": [ - "The intention of this notebook is to provide a means of testing functionality in the Langchain Document Loader for Blockchain.\n", - "\n", - "Initially this Loader supports:\n", - "\n", - "* Loading NFTs as Documents from NFT Smart Contracts (ERC721 and ERC1155)\n", - "* Ethereum Maninnet, Ethereum Testnet, Polgyon Mainnet, Polygon Testnet (default is eth-mainnet)\n", - "* Alchemy's getNFTsForCollection API\n", - "\n", - "It can be extended if the community finds value in this loader. Specifically:\n", - "\n", - "* Additional APIs can be added (e.g. Tranction-related APIs)\n", - "\n", - "This Document Loader Requires:\n", - "\n", - "* A free [Alchemy API Key](https://www.alchemy.com/)\n", - "\n", - "The output takes the following format:\n", - "\n", - "- pageContent= Individual NFT\n", - "- metadata={'source': '0x1a92f7381b9f03921564a437210bb9396471050c', 'blockchain': 'eth-mainnet', 'tokenId': '0x15'})" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Load NFTs into Document Loader" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "alchemyApiKey = \"get from https://www.alchemy.com/ and set in environment variable ALCHEMY_API_KEY\"" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Option 1: Ethereum Mainnet (default BlockchainType)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "J3LWHARC-Kn0" - }, - "outputs": [], - "source": [ - "contractAddress = \"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\" # Bored Ape Yacht Club contract address\n", - "\n", - "blockchainType = BlockchainType.ETH_MAINNET #default value, optional parameter\n", - "\n", - "blockchainLoader = BlockchainDocumentLoader(contract_address=contractAddress,\n", - " api_key=alchemyApiKey)\n", - "\n", - "nfts = blockchainLoader.load()\n", - "\n", - "nfts[:2]" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Option 2: Polygon Mainnet" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "contractAddress = \"0x448676ffCd0aDf2D85C1f0565e8dde6924A9A7D9\" # Polygon Mainnet contract address\n", - "\n", - "blockchainType = BlockchainType.POLYGON_MAINNET \n", - "\n", - "blockchainLoader = BlockchainDocumentLoader(contract_address=contractAddress, \n", - " blockchainType=blockchainType, \n", - " api_key=alchemyApiKey)\n", - "\n", - "nfts = blockchainLoader.load()\n", - "\n", - "nfts[:2]" - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [ - "5WjXERXzFEhg" - ], - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "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.9.16" - } + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "vm8vn9t8DvC_" + }, + "source": [ + "# Blockchain" + ] }, - "nbformat": 4, - "nbformat_minor": 0 + { + "cell_type": "markdown", + "metadata": { + "id": "5WjXERXzFEhg" + }, + "source": [ + "## Overview" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "juAmbgoWD17u" + }, + "source": [ + "The intention of this notebook is to provide a means of testing functionality in the Langchain Document Loader for Blockchain.\n", + "\n", + "Initially this Loader supports:\n", + "\n", + "* Loading NFTs as Documents from NFT Smart Contracts (ERC721 and ERC1155)\n", + "* Ethereum Maninnet, Ethereum Testnet, Polgyon Mainnet, Polygon Testnet (default is eth-mainnet)\n", + "* Alchemy's getNFTsForCollection API\n", + "\n", + "It can be extended if the community finds value in this loader. Specifically:\n", + "\n", + "* Additional APIs can be added (e.g. Tranction-related APIs)\n", + "\n", + "This Document Loader Requires:\n", + "\n", + "* A free [Alchemy API Key](https://www.alchemy.com/)\n", + "\n", + "The output takes the following format:\n", + "\n", + "- pageContent= Individual NFT\n", + "- metadata={'source': '0x1a92f7381b9f03921564a437210bb9396471050c', 'blockchain': 'eth-mainnet', 'tokenId': '0x15'})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load NFTs into Document Loader" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# get ALCHEMY_API_KEY from https://www.alchemy.com/ \n", + "\n", + "alchemyApiKey = \"...\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Option 1: Ethereum Mainnet (default BlockchainType)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "J3LWHARC-Kn0" + }, + "outputs": [], + "source": [ + "from langchain.document_loaders.blockchain import BlockchainDocumentLoader, BlockchainType\n", + "contractAddress = \"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\" # Bored Ape Yacht Club contract address\n", + "\n", + "blockchainType = BlockchainType.ETH_MAINNET #default value, optional parameter\n", + "\n", + "blockchainLoader = BlockchainDocumentLoader(contract_address=contractAddress,\n", + " api_key=alchemyApiKey)\n", + "\n", + "nfts = blockchainLoader.load()\n", + "\n", + "nfts[:2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Option 2: Polygon Mainnet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "contractAddress = \"0x448676ffCd0aDf2D85C1f0565e8dde6924A9A7D9\" # Polygon Mainnet contract address\n", + "\n", + "blockchainType = BlockchainType.POLYGON_MAINNET \n", + "\n", + "blockchainLoader = BlockchainDocumentLoader(contract_address=contractAddress, \n", + " blockchainType=blockchainType, \n", + " api_key=alchemyApiKey)\n", + "\n", + "nfts = blockchainLoader.load()\n", + "\n", + "nfts[:2]" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [ + "5WjXERXzFEhg" + ], + "provenance": [] + }, + "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.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/chatgpt_loader.ipynb b/docs/modules/indexes/document_loaders/examples/chatgpt_loader.ipynb index e748559867..1e4a3d583b 100644 --- a/docs/modules/indexes/document_loaders/examples/chatgpt_loader.ipynb +++ b/docs/modules/indexes/document_loaders/examples/chatgpt_loader.ipynb @@ -1,21 +1,22 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### ChatGPT Data Loader\n", "\n", - "This notebook covers how to load `conversations.json` from your ChatGPT data export folder.\n", + "This notebook covers how to load `conversations.json` from your `ChatGPT` data export folder.\n", "\n", "You can get your data export by email by going to: https://chat.openai.com/ -> (Profile) - Settings -> Export data -> Confirm export." ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders.chatgpt import ChatGPTLoader" @@ -53,7 +54,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -67,10 +68,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" - }, - "orig_nbformat": 4 + "version": "3.10.6" + } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/college_confidential.ipynb b/docs/modules/indexes/document_loaders/examples/college_confidential.ipynb index 1faf3a7ce8..b790761fbf 100644 --- a/docs/modules/indexes/document_loaders/examples/college_confidential.ipynb +++ b/docs/modules/indexes/document_loaders/examples/college_confidential.ipynb @@ -6,7 +6,10 @@ "metadata": {}, "source": [ "# College Confidential\n", - "This covers how to load College Confidential webpages into a document format that we can use downstream." + "\n", + ">[College Confidential](https://www.collegeconfidential.com/) gives information on 3,800+ colleges and universities.\n", + "\n", + "This covers how to load `College Confidential` webpages into a document format that we can use downstream." ] }, { @@ -85,7 +88,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/confluence.ipynb b/docs/modules/indexes/document_loaders/examples/confluence.ipynb index 38bbf00865..48d8cb4064 100644 --- a/docs/modules/indexes/document_loaders/examples/confluence.ipynb +++ b/docs/modules/indexes/document_loaders/examples/confluence.ipynb @@ -6,18 +6,29 @@ "source": [ "# Confluence\n", "\n", - "A loader for Confluence pages.\n", + "A loader for [Confluence](https://www.atlassian.com/software/confluence) pages.\n", "\n", "\n", - "This currently supports both username/api_key and Oauth2 login.\n", + "This currently supports both `username/api_key` and `Oauth2 login`.\n", "\n", "\n", "Specify a list page_ids and/or space_key to load in the corresponding pages into Document objects, if both are specified the union of both sets will be returned.\n", "\n", "\n", - "You can also specify a boolean `include_attachments` to include attachments, this is set to False by default, if set to True all attachments will be downloaded and ConfluenceReader will extract the text from the attachments and add it to the Document object. Currently supported attachment types are: PDF, PNG, JPEG/JPG, SVG, Word and Excel.\n", + "You can also specify a boolean `include_attachments` to include attachments, this is set to False by default, if set to True all attachments will be downloaded and ConfluenceReader will extract the text from the attachments and add it to the Document object. Currently supported attachment types are: `PDF`, `PNG`, `JPEG/JPG`, `SVG`, `Word` and `Excel`.\n", "\n", - "Hint: space_key and page_id can both be found in the URL of a page in Confluence - https://yoursite.atlassian.com/wiki/spaces//pages/\n" + "Hint: `space_key` and `page_id` can both be found in the URL of a page in Confluence - https://yoursite.atlassian.com/wiki/spaces//pages/\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#!pip install atlassian-python-api" ] }, { @@ -33,7 +44,7 @@ " username=\"me\",\n", " api_key=\"12345\"\n", ")\n", - "documents = loader.load(space_key=\"SPACE\", include_attachments=True, limit=50)\n" + "documents = loader.load(space_key=\"SPACE\", include_attachments=True, limit=50)" ] } ], @@ -53,7 +64,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" }, "vscode": { "interpreter": { @@ -62,5 +73,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/copypaste.ipynb b/docs/modules/indexes/document_loaders/examples/copypaste.ipynb index 40f1142724..1abc65b933 100644 --- a/docs/modules/indexes/document_loaders/examples/copypaste.ipynb +++ b/docs/modules/indexes/document_loaders/examples/copypaste.ipynb @@ -94,7 +94,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/csv.ipynb b/docs/modules/indexes/document_loaders/examples/csv.ipynb index 5b43f39d49..7080320cbd 100644 --- a/docs/modules/indexes/document_loaders/examples/csv.ipynb +++ b/docs/modules/indexes/document_loaders/examples/csv.ipynb @@ -2,20 +2,21 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "collapsed": false - }, + "metadata": {}, "source": [ - "# CSV Loader\n", + "# CSV Files\n", "\n", - "Load csv files with a single row per document." + "Load [csv](https://en.wikipedia.org/wiki/Comma-separated_values) data with a single row per document." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "outputs": [], "source": [ @@ -26,7 +27,10 @@ "cell_type": "code", "execution_count": 26, "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -39,7 +43,10 @@ "cell_type": "code", "execution_count": 27, "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [ { @@ -56,9 +63,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false - }, + "metadata": {}, "source": [ "## Customizing the csv parsing and loading\n", "\n", @@ -69,7 +74,10 @@ "cell_type": "code", "execution_count": 28, "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -86,7 +94,10 @@ "cell_type": "code", "execution_count": 29, "metadata": { - "collapsed": false + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [ { @@ -102,13 +113,12 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "## Specify a column to be used identify the document source\n", + "## Specify a column to identify the document source\n", "\n", - "Use the `source_column` argument to specify a column to be set as the source for the document created from each row. Otherwise `file_path` will be used as the source for all documents created from the csv file.\n", + "Use the `source_column` argument to specify a source for the document created from each row. Otherwise `file_path` will be used as the source for all documents created from the CSV file.\n", "\n", "This is useful when using documents loaded from CSV files for chains that answer questions using sources." ] @@ -144,7 +154,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -158,9 +168,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.9" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/dataframe.ipynb b/docs/modules/indexes/document_loaders/examples/dataframe.ipynb index 46d601686b..8b384edf0b 100644 --- a/docs/modules/indexes/document_loaders/examples/dataframe.ipynb +++ b/docs/modules/indexes/document_loaders/examples/dataframe.ipynb @@ -5,9 +5,19 @@ "id": "213a38a2", "metadata": {}, "source": [ - "# DataFrame Loader\n", + "# Pandas DataFrame\n", "\n", - "This notebook goes over how to load data from a pandas dataframe" + "This notebook goes over how to load data from a [pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/index.html) DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6a7a9e4-80d6-486a-b2e3-636c568aa97c", + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install pandas" ] }, { @@ -210,7 +220,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/diffbot.ipynb b/docs/modules/indexes/document_loaders/examples/diffbot.ipynb index 14f481f422..46184b5cea 100644 --- a/docs/modules/indexes/document_loaders/examples/diffbot.ipynb +++ b/docs/modules/indexes/document_loaders/examples/diffbot.ipynb @@ -1,13 +1,16 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "2dfc4698", "metadata": {}, "source": [ "# Diffbot\n", "\n", + ">Unlike traditional web scraping tools, [Diffbot](https://docs.diffbot.com/docs) doesn't require any rules to read the content on a page.\n", + ">It starts with computer vision, which classifies a page into one of 20 possible types. Content is then interpreted by a machine learning model trained to identify the key attributes on a page based on its type.\n", + ">The result is a website transformed into clean structured data (like JSON or CSV), ready for your application.\n", + "\n", "This covers how to extract HTML documents from a list of URLs using the [Diffbot extract API](https://www.diffbot.com/products/extract/), into a document format that we can use downstream." ] }, @@ -24,7 +27,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "6fffec88", "metadata": {}, @@ -45,7 +47,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "e0ce8c05", "metadata": {}, diff --git a/docs/modules/indexes/document_loaders/examples/directory_loader.ipynb b/docs/modules/indexes/document_loaders/examples/directory_loader.ipynb index 8bec57a3d1..b2bee4d944 100644 --- a/docs/modules/indexes/document_loaders/examples/directory_loader.ipynb +++ b/docs/modules/indexes/document_loaders/examples/directory_loader.ipynb @@ -69,7 +69,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "e633d62f", "metadata": {}, @@ -78,7 +77,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "43911860", "metadata": {}, @@ -119,7 +117,7 @@ "metadata": {}, "source": [ "## Change loader class\n", - "By default this uses the UnstructuredLoader class. However, you can change up the type of loader pretty easily." + "By default this uses the `UnstructuredLoader` class. However, you can change up the type of loader pretty easily." ] }, { @@ -257,7 +255,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.3" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/duckdb.ipynb b/docs/modules/indexes/document_loaders/examples/duckdb.ipynb index b842f0c7a6..b6309d1844 100644 --- a/docs/modules/indexes/document_loaders/examples/duckdb.ipynb +++ b/docs/modules/indexes/document_loaders/examples/duckdb.ipynb @@ -4,24 +4,41 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# DuckDB Loader\n", + "# DuckDB\n", "\n", - "Load a DuckDB query with one document per row." + ">[DuckDB](https://duckdb.org/) is an in-process SQL OLAP database management system.\n", + "\n", + "Load a `DuckDB` query with one document per row." ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "from langchain.document_loaders import DuckDBLoader" + "#!pip install duckdb" ] }, { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from langchain.document_loaders import DuckDBLoader" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -40,8 +57,10 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, + "execution_count": 4, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = DuckDBLoader(\"SELECT * FROM read_csv_auto('example.csv')\")\n", @@ -51,8 +70,10 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, + "execution_count": 5, + "metadata": { + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -167,9 +188,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/email.ipynb b/docs/modules/indexes/document_loaders/examples/email.ipynb index b9789fe665..5c0b16ea88 100644 --- a/docs/modules/indexes/document_loaders/examples/email.ipynb +++ b/docs/modules/indexes/document_loaders/examples/email.ipynb @@ -7,7 +7,7 @@ "source": [ "# Email\n", "\n", - "This notebook shows how to load email (`.eml`) and Microsoft Outlook (`.msg`) files." + "This notebook shows how to load email (`.eml`) or `Microsoft Outlook` (`.msg`) files." ] }, { @@ -20,9 +20,23 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "id": "226e50aa-407d-43d9-a81d-f6706298b10c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#!pip install unstructured" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "id": "40cd9806", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import UnstructuredEmailLoader" @@ -30,9 +44,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 6, "id": "2d20b852", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = UnstructuredEmailLoader('example_data/fake-email.eml')" @@ -40,9 +56,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "579fa702", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -50,17 +68,19 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "90c1d899", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='This is a test email to use for unit tests.\\n\\nImportant points:\\n\\nRoses are red\\n\\nViolets are blue', lookup_str='', metadata={'source': 'example_data/fake-email.eml'}, lookup_index=0)]" + "[Document(page_content='This is a test email to use for unit tests.\\n\\nImportant points:\\n\\nRoses are red\\n\\nViolets are blue', metadata={'source': 'example_data/fake-email.eml'})]" ] }, - "execution_count": 4, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -128,6 +148,16 @@ "## Using OutlookMessageLoader" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "058e670e-9964-44ee-b888-44f23ffb9310", + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install extract_msg" + ] + }, { "cell_type": "code", "execution_count": 8, @@ -204,7 +234,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/epub.ipynb b/docs/modules/indexes/document_loaders/examples/epub.ipynb index 05b3295f4f..d1472e4843 100644 --- a/docs/modules/indexes/document_loaders/examples/epub.ipynb +++ b/docs/modules/indexes/document_loaders/examples/epub.ipynb @@ -5,16 +5,18 @@ "id": "39af9ecd", "metadata": {}, "source": [ - "# EPubs\n", + "# EPub \n", "\n", - "This covers how to load `.epub` documents into a document format that we can use downstream. You'll need to install the [`pandocs`](https://pandoc.org/installing.html) package for this loader to work." + "This covers how to load `.epub` documents into the Document format that we can use downstream. You'll need to install the [`pandocs`](https://pandoc.org/installing.html) package for this loader to work." ] }, { "cell_type": "code", "execution_count": 1, "id": "721c48aa", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import UnstructuredEPubLoader" @@ -24,7 +26,9 @@ "cell_type": "code", "execution_count": 2, "id": "9d3d0e35", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = UnstructuredEPubLoader(\"winter-sports.epub\")" @@ -32,9 +36,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "06073f91", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -54,7 +60,9 @@ "cell_type": "code", "execution_count": 4, "id": "064f9162", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = UnstructuredEPubLoader(\"winter-sports.epub\", mode=\"elements\")" @@ -62,9 +70,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "abefbbdb", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -116,7 +126,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.13" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/evernote.ipynb b/docs/modules/indexes/document_loaders/examples/evernote.ipynb index ec22ad3692..2c994d3cbe 100644 --- a/docs/modules/indexes/document_loaders/examples/evernote.ipynb +++ b/docs/modules/indexes/document_loaders/examples/evernote.ipynb @@ -7,35 +7,41 @@ "source": [ "# EverNote\n", "\n", - "How to load EverNote file from disk." + ">[EverNote](https://evernote.com/) is intended for archiving and creating notes in which photos, audio and saved web content can be embedded. Notes are stored in virtual \"notebooks\" and can be tagged, annotated, edited, searched, and exported.\n", + "\n", + "This notebook shows how to load `EverNote` file from disk." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "id": "1a53ece0", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "# !pip install pypandoc\n", - "# import pypandoc\n", + "#!pip install pypandoc\n", + "import pypandoc\n", "\n", - "# pypandoc.download_pandoc()" + "pypandoc.download_pandoc()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "88df766f", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='testing this\\n\\nwhat happens?\\n\\nto the world?\\n', lookup_str='', metadata={'source': 'example_data/testing.enex'}, lookup_index=0)]" + "[Document(page_content='testing this\\n\\nwhat happens?\\n\\nto the world?\\n', metadata={'source': 'example_data/testing.enex'})]" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -46,14 +52,6 @@ "loader = EverNoteLoader(\"example_data/testing.enex\")\n", "loader.load()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c1329905", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -72,7 +70,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/example_data/facebook_chat.json b/docs/modules/indexes/document_loaders/examples/example_data/facebook_chat.json index b8baaa87e9..68c9c0c234 100644 --- a/docs/modules/indexes/document_loaders/examples/example_data/facebook_chat.json +++ b/docs/modules/indexes/document_loaders/examples/example_data/facebook_chat.json @@ -5,60 +5,60 @@ { "sender_name": "User 1", "timestamp_ms": 1675597435669, - "content": "Oh no worries! Bye", + "content": "Oh no worries! Bye" }, { "sender_name": "User 2", "timestamp_ms": 1675596277579, - "content": "No Im sorry it was my mistake, the blue one is not for sale", + "content": "No Im sorry it was my mistake, the blue one is not for sale" }, { "sender_name": "User 1", "timestamp_ms": 1675595140251, - "content": "I thought you were selling the blue one!", + "content": "I thought you were selling the blue one!" }, { "sender_name": "User 1", "timestamp_ms": 1675595109305, - "content": "Im not interested in this bag. Im interested in the blue one!", + "content": "Im not interested in this bag. Im interested in the blue one!" }, { "sender_name": "User 2", "timestamp_ms": 1675595068468, - "content": "Here is $129", + "content": "Here is $129" }, { "sender_name": "User 2", "timestamp_ms": 1675595060730, "photos": [ {"uri": "url_of_some_picture.jpg", "creation_timestamp": 1675595059} - ], + ] }, { "sender_name": "User 2", "timestamp_ms": 1675595045152, - "content": "Online is at least $100", + "content": "Online is at least $100" }, { "sender_name": "User 1", "timestamp_ms": 1675594799696, - "content": "How much do you want?", + "content": "How much do you want?" }, { "sender_name": "User 2", "timestamp_ms": 1675577876645, - "content": "Goodmorning! $50 is too low.", + "content": "Goodmorning! $50 is too low." }, { "sender_name": "User 1", "timestamp_ms": 1675549022673, - "content": "Hi! Im interested in your bag. Im offering $50. Let me know if you are interested. Thanks!", - }, + "content": "Hi! Im interested in your bag. Im offering $50. Let me know if you are interested. Thanks!" + } ], "title": "User 1 and User 2 chat", "is_still_participant": true, "thread_path": "inbox/User 1 and User 2 chat", "magic_words": [], "image": {"uri": "image_of_the_chat.jpg", "creation_timestamp": 1675549016}, - "joinable_mode": {"mode": 1, "link": ""}, + "joinable_mode": {"mode": 1, "link": ""} } diff --git a/docs/modules/indexes/document_loaders/examples/facebook_chat.ipynb b/docs/modules/indexes/document_loaders/examples/facebook_chat.ipynb index 7c60f68fbe..466c63f1b1 100644 --- a/docs/modules/indexes/document_loaders/examples/facebook_chat.ipynb +++ b/docs/modules/indexes/document_loaders/examples/facebook_chat.ipynb @@ -6,14 +6,25 @@ "source": [ "### Facebook Chat\n", "\n", - "This notebook covers how to load data from the Facebook Chats into a format that can be ingested into LangChain." + "This notebook covers how to load data from the [Facebook Chats](https://www.facebook.com/business/help/1646890868956360) into a format that can be ingested into LangChain." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], + "source": [ + "#pip install pandas" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "from langchain.document_loaders import FacebookChatLoader" ] @@ -21,7 +32,9 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = FacebookChatLoader(\"example_data/facebook_chat.json\")" @@ -29,16 +42,18 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, + "execution_count": 7, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='User 2 on 2023-02-05 12:46:11: Bye!\\n\\nUser 1 on 2023-02-05 12:43:55: Oh no worries! Bye\\n\\nUser 2 on 2023-02-05 12:24:37: No Im sorry it was my mistake, the blue one is not for sale\\n\\nUser 1 on 2023-02-05 12:05:40: I thought you were selling the blue one!\\n\\nUser 1 on 2023-02-05 12:05:09: Im not interested in this bag. Im interested in the blue one!\\n\\nUser 2 on 2023-02-05 12:04:28: Here is $129\\n\\nUser 2 on 2023-02-05 12:04:05: Online is at least $100\\n\\nUser 1 on 2023-02-05 11:59:59: How much do you want?\\n\\nUser 2 on 2023-02-05 07:17:56: Goodmorning! $50 is too low.\\n\\nUser 1 on 2023-02-04 23:17:02: Hi! Im interested in your bag. Im offering $50. Let me know if you are interested. Thanks!\\n\\n', lookup_str='', metadata={'source': 'docs/modules/document_loaders/examples/example_data/facebook_chat.json'}, lookup_index=0)]" + "[Document(page_content='User 2 on 2023-02-05 03:46:11: Bye!\\n\\nUser 1 on 2023-02-05 03:43:55: Oh no worries! Bye\\n\\nUser 2 on 2023-02-05 03:24:37: No Im sorry it was my mistake, the blue one is not for sale\\n\\nUser 1 on 2023-02-05 03:05:40: I thought you were selling the blue one!\\n\\nUser 1 on 2023-02-05 03:05:09: Im not interested in this bag. Im interested in the blue one!\\n\\nUser 2 on 2023-02-05 03:04:28: Here is $129\\n\\nUser 2 on 2023-02-05 03:04:05: Online is at least $100\\n\\nUser 1 on 2023-02-05 02:59:59: How much do you want?\\n\\nUser 2 on 2023-02-04 22:17:56: Goodmorning! $50 is too low.\\n\\nUser 1 on 2023-02-04 14:17:02: Hi! Im interested in your bag. Im offering $50. Let me know if you are interested. Thanks!\\n\\n', metadata={'source': 'example_data/facebook_chat.json'})]" ] }, - "execution_count": 3, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -64,7 +79,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3.10.6" }, "vscode": { "interpreter": { @@ -73,5 +88,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/figma.ipynb b/docs/modules/indexes/document_loaders/examples/figma.ipynb index 0ac31f3d9a..43782af351 100644 --- a/docs/modules/indexes/document_loaders/examples/figma.ipynb +++ b/docs/modules/indexes/document_loaders/examples/figma.ipynb @@ -1,21 +1,24 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "33205b12", "metadata": {}, "source": [ "# Figma\n", "\n", - "This notebook covers how to load data from the Figma REST API into a format that can be ingested into LangChain, along with example usage for code generation." + ">[Figma](https://www.figma.com/) is a collaborative web application for interface design.\n", + "\n", + "This notebook covers how to load data from the `Figma` REST API into a format that can be ingested into LangChain, along with example usage for code generation." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "90b69c94", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import os\n", @@ -37,7 +40,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "d809744a", "metadata": {}, @@ -117,7 +119,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "baf9b2c9", "metadata": {}, @@ -151,7 +152,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.10" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/gcs_directory.ipynb b/docs/modules/indexes/document_loaders/examples/gcs_directory.ipynb index 963d20f0be..e9e695f1dd 100644 --- a/docs/modules/indexes/document_loaders/examples/gcs_directory.ipynb +++ b/docs/modules/indexes/document_loaders/examples/gcs_directory.ipynb @@ -7,17 +7,9 @@ "source": [ "# GCS Directory\n", "\n", - "This covers how to load document objects from an Google Cloud Storage (GCS) directory." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "5cfb25c9", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.document_loaders import GCSDirectoryLoader" + ">[Google Cloud Storage](https://en.wikipedia.org/wiki/Google_Cloud_Storage) is a managed service for storing unstructured data.\n", + "\n", + "This covers how to load document objects from an `Google Cloud Storage (GCS) directory (bucket)`." ] }, { @@ -32,6 +24,16 @@ "# !pip install google-cloud-storage" ] }, + { + "cell_type": "code", + "execution_count": 1, + "id": "5cfb25c9", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.document_loaders import GCSDirectoryLoader" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -148,7 +150,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/gcs_file.ipynb b/docs/modules/indexes/document_loaders/examples/gcs_file.ipynb index 2399c9dfe8..7dfd8bf28a 100644 --- a/docs/modules/indexes/document_loaders/examples/gcs_file.ipynb +++ b/docs/modules/indexes/document_loaders/examples/gcs_file.ipynb @@ -7,17 +7,9 @@ "source": [ "# GCS File Storage\n", "\n", - "This covers how to load document objects from an Google Cloud Storage (GCS) file object." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "5cfb25c9", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.document_loaders import GCSFileLoader" + ">[Google Cloud Storage](https://en.wikipedia.org/wiki/Google_Cloud_Storage) is a managed service for storing unstructured data.\n", + "\n", + "This covers how to load document objects from an `Google Cloud Storage (GCS) file object (blob)`." ] }, { @@ -32,6 +24,16 @@ "# !pip install google-cloud-storage" ] }, + { + "cell_type": "code", + "execution_count": 1, + "id": "5cfb25c9", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.document_loaders import GCSFileLoader" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -96,7 +98,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/git.ipynb b/docs/modules/indexes/document_loaders/examples/git.ipynb index d2ac89fbf0..58522b27eb 100644 --- a/docs/modules/indexes/document_loaders/examples/git.ipynb +++ b/docs/modules/indexes/document_loaders/examples/git.ipynb @@ -6,7 +6,9 @@ "source": [ "# Git\n", "\n", - "This notebook shows how to load text files from Git repository." + ">[Git](https://en.wikipedia.org/wiki/Git) is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development.\n", + "\n", + "This notebook shows how to load text files from `Git` repository." ] }, { @@ -18,8 +20,21 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!pip install GitPython" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from git import Repo\n", @@ -33,7 +48,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import GitLoader" @@ -184,9 +201,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/gitbook.ipynb b/docs/modules/indexes/document_loaders/examples/gitbook.ipynb index 84a04306b7..390e2b3533 100644 --- a/docs/modules/indexes/document_loaders/examples/gitbook.ipynb +++ b/docs/modules/indexes/document_loaders/examples/gitbook.ipynb @@ -6,7 +6,10 @@ "metadata": {}, "source": [ "# GitBook\n", - "How to pull page data from any GitBook." + "\n", + ">[GitBook](https://docs.gitbook.com/) is a modern documentation platform where teams can document everything from products to internal knowledge bases and APIs.\n", + "\n", + "This notebook shows how to pull page data from any `GitBook`." ] }, { @@ -20,21 +23,21 @@ ] }, { - "cell_type": "code", - "execution_count": 2, - "id": "849a8d52", + "cell_type": "markdown", + "id": "65d5ddce", "metadata": {}, - "outputs": [], "source": [ - "loader = GitbookLoader(\"https://docs.gitbook.com\")" + "### Load from single GitBook page" ] }, { - "cell_type": "markdown", - "id": "65d5ddce", + "cell_type": "code", + "execution_count": 2, + "id": "849a8d52", "metadata": {}, + "outputs": [], "source": [ - "### Load from single GitBook page" + "loader = GitbookLoader(\"https://docs.gitbook.com\")" ] }, { @@ -178,7 +181,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/docs/modules/indexes/document_loaders/examples/googledrive.ipynb b/docs/modules/indexes/document_loaders/examples/googledrive.ipynb index 77cb23effa..81aa7dc486 100644 --- a/docs/modules/indexes/document_loaders/examples/googledrive.ipynb +++ b/docs/modules/indexes/document_loaders/examples/googledrive.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "# Google Drive\n", - "This notebook covers how to load documents from Google Drive. Currently, only Google Docs are supported.\n", + "This notebook covers how to load documents from `Google Drive`. Currently, only `Google Docs` are supported.\n", "\n", "## Prerequisites\n", "\n", @@ -23,6 +23,16 @@ "* Document: https://docs.google.com/document/d/1bfaMQ18_i56204VaQDVeAFpqEijJTgvurupdEDiaUQw/edit -> document id is `\"1bfaMQ18_i56204VaQDVeAFpqEijJTgvurupdEDiaUQw\"`" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e40071c-3a65-4e26-b497-3e2be0bd86b9", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -80,7 +90,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/gutenberg.ipynb b/docs/modules/indexes/document_loaders/examples/gutenberg.ipynb index e2d28c3daf..64fc53e5ad 100644 --- a/docs/modules/indexes/document_loaders/examples/gutenberg.ipynb +++ b/docs/modules/indexes/document_loaders/examples/gutenberg.ipynb @@ -7,14 +7,18 @@ "source": [ "# Gutenberg\n", "\n", - "This covers how to load links to Gutenberg e-books into a document format that we can use downstream." + ">[Project Gutenberg](https://www.gutenberg.org/about/) is an online library of free eBooks.\n", + "\n", + "This notebook covers how to load links to `Gutenberg` e-books into a document format that we can use downstream." ] }, { "cell_type": "code", "execution_count": 1, "id": "9bfd5e46", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import GutenbergLoader" @@ -22,9 +26,11 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "id": "700e4ef2", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = GutenbergLoader('https://www.gutenberg.org/cache/epub/69972/pg69972.txt')" @@ -32,9 +38,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "id": "b6f28930", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -42,21 +50,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "7d436441", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'The Project Gutenberg eBook of The changed brides, by Emma Dorothy\\r\\n\\n\\nEliza Nevitte Southworth\\r\\n\\n\\n\\r\\n\\n\\nThis eBook is for the use of anyone anywhere in the United States and\\r\\n\\n\\nmost other parts of the world at no cost and with almost no restrictions\\r\\n\\n\\nwhatsoever. You may copy it, give it away or re-u'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "data" + "data[0].page_content[:300]" ] }, { "cell_type": "code", - "execution_count": null, - "id": "3b74d755", - "metadata": {}, - "outputs": [], - "source": [] + "execution_count": 9, + "id": "1481beb1-12a7-4654-9d91-bfd101109891", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'source': 'https://www.gutenberg.org/cache/epub/69972/pg69972.txt'}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[0].metadata" + ] } ], "metadata": { @@ -75,7 +111,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/hn.ipynb b/docs/modules/indexes/document_loaders/examples/hn.ipynb index 5765b38c2e..4922be179a 100644 --- a/docs/modules/indexes/document_loaders/examples/hn.ipynb +++ b/docs/modules/indexes/document_loaders/examples/hn.ipynb @@ -6,14 +6,19 @@ "metadata": {}, "source": [ "# Hacker News\n", - "How to pull page data and comments from Hacker News" + "\n", + ">[Hacker News](https://en.wikipedia.org/wiki/Hacker_News) (sometimes abbreviated as HN) is a social news website focusing on computer science and entrepreneurship. It is run by the investment fund and startup incubator Y Combinator. In general, content that can be submitted is defined as \"anything that gratifies one's intellectual curiosity.\"\n", + "\n", + "This notebook covers how to pull page data and comments from [Hacker News](https://news.ycombinator.com/)" ] }, { "cell_type": "code", "execution_count": 1, "id": "ff49b177", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import HNLoader" @@ -23,7 +28,9 @@ "cell_type": "code", "execution_count": 2, "id": "849a8d52", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = HNLoader(\"https://news.ycombinator.com/item?id=34817881\")" @@ -33,7 +40,9 @@ "cell_type": "code", "execution_count": 3, "id": "c2826836", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -43,15 +52,14 @@ "cell_type": "code", "execution_count": 4, "id": "fefa2adc", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content=\"delta_p_delta_x 18 hours ago \\n | next [–] \\n\\nAstrophysical and cosmological simulations are often insightful. They're also very cross-disciplinary; besides the obvious astrophysics, there's networking and sysadmin, parallel computing and algorithm theory (so that the simulation programs are actually fast but still accurate), systems design, and even a bit of graphic design for the visualisations.Some of my favourite simulation projects:- IllustrisTNG: https://www.tng-project.org/- SWIFT: https://swift.dur.ac.uk/- CO5BOLD: https://www.astro.uu.se/~bf/co5bold_main.html (which produced these animations of a red-giant star: https://www.astro.uu.se/~bf/movie/AGBmovie.html)- AbacusSummit: https://abacussummit.readthedocs.io/en/latest/And I can add the simulations in the article, too.\\n \\nreply\", lookup_str='', metadata={'source': 'https://news.ycombinator.com/item?id=34817881', 'title': 'What Lights the Universe’s Standard Candles?'}, lookup_index=0),\n", - " Document(page_content=\"andrewflnr 19 hours ago \\n | prev | next [–] \\n\\nWhoa. I didn't know the accretion theory of Ia supernovae was dead, much less that it had been since 2011.\\n \\nreply\", lookup_str='', metadata={'source': 'https://news.ycombinator.com/item?id=34817881', 'title': 'What Lights the Universe’s Standard Candles?'}, lookup_index=0),\n", - " Document(page_content='andreareina 18 hours ago \\n | prev | next [–] \\n\\nThis seems to be the paper https://academic.oup.com/mnras/article/517/4/5260/6779709\\n \\nreply', lookup_str='', metadata={'source': 'https://news.ycombinator.com/item?id=34817881', 'title': 'What Lights the Universe’s Standard Candles?'}, lookup_index=0),\n", - " Document(page_content=\"andreareina 18 hours ago \\n | prev [–] \\n\\nWouldn't double detonation show up as variance in the brightness?\\n \\nreply\", lookup_str='', metadata={'source': 'https://news.ycombinator.com/item?id=34817881', 'title': 'What Lights the Universe’s Standard Candles?'}, lookup_index=0)]" + "\"delta_p_delta_x 73 days ago \\n | next [–] \\n\\nAstrophysical and cosmological simulations are often insightful. They're also very cross-disciplinary; besides the obvious astrophysics, there's networking and sysadmin, parallel computing and algorithm theory (so that the simulation programs a\"" ] }, "execution_count": 4, @@ -60,16 +68,32 @@ } ], "source": [ - "data" + "data[0].page_content[:300]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "938ff4ee", - "metadata": {}, - "outputs": [], - "source": [] + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'source': 'https://news.ycombinator.com/item?id=34817881',\n", + " 'title': 'What Lights the Universe’s Standard Candles?'}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[0].metadata" + ] } ], "metadata": { @@ -88,7 +112,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" }, "vscode": { "interpreter": { diff --git a/docs/modules/indexes/document_loaders/examples/html.ipynb b/docs/modules/indexes/document_loaders/examples/html.ipynb index 91ff32e08b..8422523804 100644 --- a/docs/modules/indexes/document_loaders/examples/html.ipynb +++ b/docs/modules/indexes/document_loaders/examples/html.ipynb @@ -7,7 +7,7 @@ "source": [ "# HTML\n", "\n", - "This covers how to load HTML documents into a document format that we can use downstream." + "This covers how to load `HTML` documents into a document format that we can use downstream." ] }, { @@ -48,7 +48,9 @@ "outputs": [ { "data": { - "text/plain": "[Document(page_content='My First Heading\\n\\nMy first paragraph.', lookup_str='', metadata={'source': 'example_data/fake-content.html'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content='My First Heading\\n\\nMy first paragraph.', lookup_str='', metadata={'source': 'example_data/fake-content.html'}, lookup_index=0)]" + ] }, "execution_count": 4, "metadata": {}, @@ -61,20 +63,21 @@ }, { "cell_type": "markdown", + "id": "00337aae", + "metadata": {}, "source": [ "## Loading HTML with BeautifulSoup4\n", "\n", - "We can also use BeautifulSoup4 to load HTML documents using the `BSHTMLLoader`. This will extract the text from the html into `page_content`, and the page title as `title` into `metadata`." - ], - "metadata": { - "collapsed": false - } + "We can also use `BeautifulSoup4` to load HTML documents using the `BSHTMLLoader`. This will extract the text from the HTML into `page_content`, and the page title as `title` into `metadata`." + ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 1, "id": "79b1bce4", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import BSHTMLLoader" @@ -82,13 +85,23 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 2, + "id": "4be99e6c", + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "tags": [] + }, "outputs": [ { "data": { - "text/plain": "[Document(page_content='\\n\\nTest Title\\n\\n\\nMy First Heading\\nMy first paragraph.\\n\\n\\n', lookup_str='', metadata={'source': 'example_data/fake-content.html', 'title': 'Test Title'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content='\\n\\nTest Title\\n\\n\\nMy First Heading\\nMy first paragraph.\\n\\n\\n', metadata={'source': 'example_data/fake-content.html', 'title': 'Test Title'})]" + ] }, - "execution_count": 17, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -97,19 +110,7 @@ "loader = BSHTMLLoader(\"example_data/fake-content.html\")\n", "data = loader.load()\n", "data" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [], - "metadata": { - "collapsed": false - } + ] } ], "metadata": { @@ -128,7 +129,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/hugging_face_dataset.ipynb b/docs/modules/indexes/document_loaders/examples/hugging_face_dataset.ipynb index f90403bed0..b9197a8b87 100644 --- a/docs/modules/indexes/document_loaders/examples/hugging_face_dataset.ipynb +++ b/docs/modules/indexes/document_loaders/examples/hugging_face_dataset.ipynb @@ -5,11 +5,14 @@ "id": "04c9fdc5", "metadata": {}, "source": [ - "# HuggingFace dataset loader \n", + "# HuggingFace dataset \n", "\n", - "This notebook shows how to load Hugging Face Hub datasets to LangChain.\n", + "The [Hugging Face Hub](https://huggingface.co/docs/hub/index) hosts a large number of community-curated datasets for a diverse range of tasks such as translation,\n", + "automatic speech recognition, and image classification.\n", "\n", - "The Hugging Face Hub hosts a large number of community-curated datasets for a diverse range of tasks such as translation, automatic speech recognition, and image classification.\n" + ">The `Hugging Face Hub` is home to over 5,000 [datasets](https://huggingface.co/docs/hub/index#datasets) in more than 100 languages that can be used for a broad range of tasks across NLP, Computer Vision, and Audio.\n", + "\n", + "This notebook shows how to load `Hugging Face Hub` datasets to LangChain." ] }, { @@ -212,7 +215,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/ifixit.ipynb b/docs/modules/indexes/document_loaders/examples/ifixit.ipynb index 3b47f35e23..3588ab0e08 100644 --- a/docs/modules/indexes/document_loaders/examples/ifixit.ipynb +++ b/docs/modules/indexes/document_loaders/examples/ifixit.ipynb @@ -2,16 +2,14 @@ "cells": [ { "cell_type": "markdown", + "metadata": {}, "source": [ "# iFixit\n", "\n", "[iFixit](https://www.ifixit.com) is the largest, open repair community on the web. The site contains nearly 100k repair manuals, 200k Questions & Answers on 42k devices, and all the data is licensed under CC-BY-NC-SA 3.0.\n", "\n", - "This loader will allow you to download the text of a repair guide, text of Q&A's and wikis from devices on iFixit using their open APIs. It's incredibly useful for context related to technical documents and answers to questions about devices in the corpus of data on iFixit." - ], - "metadata": { - "collapsed": false - } + "This loader will allow you to download the text of a repair guide, text of Q&A's and wikis from devices on `iFixit` using their open APIs. It's incredibly useful for context related to technical documents and answers to questions about devices in the corpus of data on `iFixit`." + ] }, { "cell_type": "code", @@ -35,10 +33,18 @@ { "cell_type": "code", "execution_count": 3, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [ { "data": { - "text/plain": "[Document(page_content=\"# Banana Teardown\\nIn this teardown, we open a banana to see what's inside. Yellow and delicious, but most importantly, yellow.\\n\\n\\n###Tools Required:\\n\\n - Fingers\\n\\n - Teeth\\n\\n - Thumbs\\n\\n\\n###Parts Required:\\n\\n - None\\n\\n\\n## Step 1\\nTake one banana from the bunch.\\nDon't squeeze too hard!\\n\\n\\n## Step 2\\nHold the banana in your left hand and grip the stem between your right thumb and forefinger.\\n\\n\\n## Step 3\\nPull the stem downward until the peel splits.\\n\\n\\n## Step 4\\nInsert your thumbs into the split of the peel and pull the two sides apart.\\nExpose the top of the banana. It may be slightly squished from pulling on the stem, but this will not affect the flavor.\\n\\n\\n## Step 5\\nPull open the peel, starting from your original split, and opening it along the length of the banana.\\n\\n\\n## Step 6\\nRemove fruit from peel.\\n\\n\\n## Step 7\\nEat and enjoy!\\nThis is where you'll need your teeth.\\nDo not choke on banana!\\n\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Teardown/Banana+Teardown/811', 'title': 'Banana Teardown'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content=\"# Banana Teardown\\nIn this teardown, we open a banana to see what's inside. Yellow and delicious, but most importantly, yellow.\\n\\n\\n###Tools Required:\\n\\n - Fingers\\n\\n - Teeth\\n\\n - Thumbs\\n\\n\\n###Parts Required:\\n\\n - None\\n\\n\\n## Step 1\\nTake one banana from the bunch.\\nDon't squeeze too hard!\\n\\n\\n## Step 2\\nHold the banana in your left hand and grip the stem between your right thumb and forefinger.\\n\\n\\n## Step 3\\nPull the stem downward until the peel splits.\\n\\n\\n## Step 4\\nInsert your thumbs into the split of the peel and pull the two sides apart.\\nExpose the top of the banana. It may be slightly squished from pulling on the stem, but this will not affect the flavor.\\n\\n\\n## Step 5\\nPull open the peel, starting from your original split, and opening it along the length of the banana.\\n\\n\\n## Step 6\\nRemove fruit from peel.\\n\\n\\n## Step 7\\nEat and enjoy!\\nThis is where you'll need your teeth.\\nDo not choke on banana!\\n\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Teardown/Banana+Teardown/811', 'title': 'Banana Teardown'}, lookup_index=0)]" + ] }, "execution_count": 3, "metadata": {}, @@ -47,30 +53,38 @@ ], "source": [ "data" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 4, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [], "source": [ "loader = IFixitLoader(\"https://www.ifixit.com/Answers/View/318583/My+iPhone+6+is+typing+and+opening+apps+by+itself\")\n", "data = loader.load()" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 5, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [ { "data": { - "text/plain": "[Document(page_content='# My iPhone 6 is typing and opening apps by itself\\nmy iphone 6 is typing and opening apps by itself. How do i fix this. I just bought it last week.\\nI restored as manufactures cleaned up the screen\\nthe problem continues\\n\\n## 27 Answers\\n\\nFilter by: \\n\\nMost Helpful\\nNewest\\nOldest\\n\\n### Accepted Answer\\nHi,\\nWhere did you buy it? If you bought it from Apple or from an official retailer like Carphone warehouse etc. Then you\\'ll have a year warranty and can get it replaced free.\\nIf you bought it second hand, from a third part repair shop or online, then it may still have warranty, unless it is refurbished and has been repaired elsewhere.\\nIf this is the case, it may be the screen that needs replacing to solve your issue.\\nEither way, wherever you got it, it\\'s best to return it and get a refund or a replacement device. :-)\\n\\n\\n\\n### Most Helpful Answer\\nI had the same issues, screen freezing, opening apps by itself, selecting the screens and typing on it\\'s own. I first suspected aliens and then ghosts and then hackers.\\niPhone 6 is weak physically and tend to bend on pressure. And my phone had no case or cover.\\nI took the phone to apple stores and they said sensors need to be replaced and possibly screen replacement as well. My phone is just 17 months old.\\nHere is what I did two days ago and since then it is working like a charm..\\nHold the phone in portrait (as if watching a movie). Twist it very very gently. do it few times.Rest the phone for 10 mins (put it on a flat surface). You can now notice those self typing things gone and screen getting stabilized.\\nThen, reset the hardware (hold the power and home button till the screen goes off and comes back with apple logo). release the buttons when you see this.\\nThen, connect to your laptop and log in to iTunes and reset your phone completely. (please take a back-up first).\\nAnd your phone should be good to use again.\\nWhat really happened here for me is that the sensors might have stuck to the screen and with mild twisting, they got disengaged/released.\\nI posted this in Apple Community and the moderators deleted it, for the best reasons known to them.\\nInstead of throwing away your phone (or selling cheaply), try this and you could be saving your phone.\\nLet me know how it goes.\\n\\n\\n\\n### Other Answer\\nIt was the charging cord! I bought a gas station braided cord and it was the culprit. Once I plugged my OEM cord into the phone the GHOSTS went away.\\n\\n\\n\\n### Other Answer\\nI\\'ve same issue that I just get resolved. I first tried to restore it from iCloud back, however it was not a software issue or any virus issue, so after restore same problem continues. Then I get my phone to local area iphone repairing lab, and they detected that it is an LCD issue. LCD get out of order without any reason (It was neither hit or nor slipped, but LCD get out of order all and sudden, while using it) it started opening things at random. I get LCD replaced with new one, that cost me $80.00 in total ($70.00 LCD charges + $10.00 as labor charges to fix it). iPhone is back to perfect mode now. It was iphone 6s. Thanks.\\n\\n\\n\\n### Other Answer\\nI was having the same issue with my 6 plus, I took it to a repair shop, they opened the phone, disconnected the three ribbons the screen has, blew up and cleaned the connectors and connected the screen again and it solved the issue… it’s hardware, not software.\\n\\n\\n\\n### Other Answer\\nHey.\\nJust had this problem now. As it turns out, you just need to plug in your phone. I use a case and when I took it off I noticed that there was a lot of dust and dirt around the areas that the case didn\\'t cover. I shined a light in my ports and noticed they were filled with dust. Tomorrow I plan on using pressurized air to clean it out and the problem should be solved. If you plug in your phone and unplug it and it stops the issue, I recommend cleaning your phone thoroughly.\\n\\n\\n\\n### Other Answer\\nI simply changed the power supply and problem was gone. The block that plugs in the wall not the sub cord. The cord was fine but not the block.\\n\\n\\n\\n### Other Answer\\nSomeone ask! I purchased my iPhone 6s Plus for 1000 from at&t. Before I touched it, I purchased a otter defender case. I read where at&t said touch desease was due to dropping! Bullshit!! I am 56 I have never dropped it!! Looks brand new! Never dropped or abused any way! I have my original charger. I am going to clean it and try everyone’s advice. It really sucks! I had 40,000,000 on my heart of Vegas slots! I play every day. I would be spinning and my fingers were no where max buttons and it would light up and switch to max. It did it 3 times before I caught it light up by its self. It sucks. Hope I can fix it!!!!\\n\\n\\n\\n### Other Answer\\nNo answer, but same problem with iPhone 6 plus--random, self-generated jumping amongst apps and typing on its own--plus freezing regularly (aha--maybe that\\'s what the \"plus\" in \"6 plus\" refers to?). An Apple Genius recommended upgrading to iOS 11.3.1 from 11.2.2, to see if that fixed the trouble. If it didn\\'t, Apple will sell me a new phone for $168! Of couese the OS upgrade didn\\'t fix the problem. Thanks for helping me figure out that it\\'s most likely a hardware problem--which the \"genius\" probably knows too.\\nI\\'m getting ready to go Android.\\n\\n\\n\\n### Other Answer\\nI experienced similar ghost touches. Two weeks ago, I changed my iPhone 6 Plus shell (I had forced the phone into it because it’s pretty tight), and also put a new glass screen protector (the edges of the protector don’t stick to the screen, weird, so I brushed pressure on the edges at times to see if they may smooth out one day miraculously). I’m not sure if I accidentally bend the phone when I installed the shell, or, if I got a defective glass protector that messes up the touch sensor. Well, yesterday was the worse day, keeps dropping calls and ghost pressing keys for me when I was on a call. I got fed up, so I removed the screen protector, and so far problems have not reoccurred yet. I’m crossing my fingers that problems indeed solved.\\n\\n\\n\\n### Other Answer\\nthank you so much for this post! i was struggling doing the reset because i cannot type userids and passwords correctly because the iphone 6 plus i have kept on typing letters incorrectly. I have been doing it for a day until i come across this article. Very helpful! God bless you!!\\n\\n\\n\\n### Other Answer\\nI just turned it off, and turned it back on.\\n\\n\\n\\n### Other Answer\\nMy problem has not gone away completely but its better now i changed my charger and turned off prediction ....,,,now it rarely happens\\n\\n\\n\\n### Other Answer\\nI tried all of the above. I then turned off my home cleaned it with isopropyl alcohol 90%. Then I baked it in my oven on warm for an hour and a half over foil. Took it out and set it cool completely on the glass top stove. Then I turned on and it worked.\\n\\n\\n\\n### Other Answer\\nI think at& t should man up and fix your phone for free! You pay a lot for a Apple they should back it. I did the next 30 month payments and finally have it paid off in June. My iPad sept. Looking forward to a almost 100 drop in my phone bill! Now this crap!!! Really\\n\\n\\n\\n### Other Answer\\nIf your phone is JailBroken, suggest downloading a virus. While all my symptoms were similar, there was indeed a virus/malware on the phone which allowed for remote control of my iphone (even while in lock mode). My mistake for buying a third party iphone i suppose. Anyway i have since had the phone restored to factory and everything is working as expected for now. I will of course keep you posted if this changes. Thanks to all for the helpful posts, really helped me narrow a few things down.\\n\\n\\n\\n### Other Answer\\nWhen my phone was doing this, it ended up being the screen protector that i got from 5 below. I took it off and it stopped. I ordered more protectors from amazon and replaced it\\n\\n\\n\\n### Other Answer\\niPhone 6 Plus first generation….I had the same issues as all above, apps opening by themselves, self typing, ultra sensitive screen, items jumping around all over….it even called someone on FaceTime twice by itself when I was not in the room…..I thought the phone was toast and i’d have to buy a new one took me a while to figure out but it was the extra cheap block plug I bought at a dollar store for convenience of an extra charging station when I move around the house from den to living room…..cord was fine but bought a new Apple brand block plug…no more problems works just fine now. This issue was a recent event so had to narrow things down to what had changed recently to my phone so I could figure it out.\\nI even had the same problem on a laptop with documents opening up by themselves…..a laptop that was plugged in to the same wall plug as my phone charger with the dollar store block plug….until I changed the block plug.\\n\\n\\n\\n### Other Answer\\nHad the problem: Inherited a 6s Plus from my wife. She had no problem with it.\\nLooks like it was merely the cheap phone case I purchased on Amazon. It was either pinching the edges or torquing the screen/body of the phone. Problem solved.\\n\\n\\n\\n### Other Answer\\nI bought my phone on march 6 and it was a brand new, but It sucks me uo because it freezing, shaking and control by itself. I went to the store where I bought this and I told them to replacr it, but they told me I have to pay it because Its about lcd issue. Please help me what other ways to fix it. Or should I try to remove the screen or should I follow your step above.\\n\\n\\n\\n### Other Answer\\nI tried everything and it seems to come back to needing the original iPhone cable…or at least another 1 that would have come with another iPhone…not the $5 Store fast charging cables. My original cable is pretty beat up - like most that I see - but I’ve been beaten up much MUCH less by sticking with its use! I didn’t find that the casing/shell around it or not made any diff.\\n\\n\\n\\n### Other Answer\\ngreat now I have to wait one more hour to reset my phone and while I was tryin to connect my phone to my computer the computer also restarted smh does anyone else knows how I can get my phone to work… my problem is I have a black dot on the bottom left of my screen an it wont allow me to touch a certain part of my screen unless I rotate my phone and I know the password but the first number is a 2 and it won\\'t let me touch 1,2, or 3 so now I have to find a way to get rid of my password and all of a sudden my phone wants to touch stuff on its own which got my phone disabled many times to the point where I have to wait a whole hour and I really need to finish something on my phone today PLEASE HELPPPP\\n\\n\\n\\n### Other Answer\\nIn my case , iphone 6 screen was faulty. I got it replaced at local repair shop, so far phone is working fine.\\n\\n\\n\\n### Other Answer\\nthis problem in iphone 6 has many different scenarios and solutions, first try to reconnect the lcd screen to the motherboard again, if didnt solve, try to replace the lcd connector on the motherboard, if not solved, then remains two issues, lcd screen it self or touch IC. in my country some repair shops just change them all for almost 40$ since they dont want to troubleshoot one by one. readers of this comment also should know that partial screen not responding in other iphone models might also have an issue in LCD connector on the motherboard, specially if you lock/unlock screen and screen works again for sometime. lcd connectors gets disconnected lightly from the motherboard due to multiple falls and hits after sometime. best of luck for all\\n\\n\\n\\n### Other Answer\\nI am facing the same issue whereby these ghost touches type and open apps , I am using an original Iphone cable , how to I fix this issue.\\n\\n\\n\\n### Other Answer\\nThere were two issues with the phone I had troubles with. It was my dads and turns out he carried it in his pocket. The phone itself had a little bend in it as a result. A little pressure in the opposite direction helped the issue. But it also had a tiny crack in the screen which wasnt obvious, once we added a screen protector this fixed the issues entirely.\\n\\n\\n\\n### Other Answer\\nI had the same problem with my 64Gb iPhone 6+. Tried a lot of things and eventually downloaded all my images and videos to my PC and restarted the phone - problem solved. Been working now for two days.', lookup_str='', metadata={'source': 'https://www.ifixit.com/Answers/View/318583/My+iPhone+6+is+typing+and+opening+apps+by+itself', 'title': 'My iPhone 6 is typing and opening apps by itself'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content='# My iPhone 6 is typing and opening apps by itself\\nmy iphone 6 is typing and opening apps by itself. How do i fix this. I just bought it last week.\\nI restored as manufactures cleaned up the screen\\nthe problem continues\\n\\n## 27 Answers\\n\\nFilter by: \\n\\nMost Helpful\\nNewest\\nOldest\\n\\n### Accepted Answer\\nHi,\\nWhere did you buy it? If you bought it from Apple or from an official retailer like Carphone warehouse etc. Then you\\'ll have a year warranty and can get it replaced free.\\nIf you bought it second hand, from a third part repair shop or online, then it may still have warranty, unless it is refurbished and has been repaired elsewhere.\\nIf this is the case, it may be the screen that needs replacing to solve your issue.\\nEither way, wherever you got it, it\\'s best to return it and get a refund or a replacement device. :-)\\n\\n\\n\\n### Most Helpful Answer\\nI had the same issues, screen freezing, opening apps by itself, selecting the screens and typing on it\\'s own. I first suspected aliens and then ghosts and then hackers.\\niPhone 6 is weak physically and tend to bend on pressure. And my phone had no case or cover.\\nI took the phone to apple stores and they said sensors need to be replaced and possibly screen replacement as well. My phone is just 17 months old.\\nHere is what I did two days ago and since then it is working like a charm..\\nHold the phone in portrait (as if watching a movie). Twist it very very gently. do it few times.Rest the phone for 10 mins (put it on a flat surface). You can now notice those self typing things gone and screen getting stabilized.\\nThen, reset the hardware (hold the power and home button till the screen goes off and comes back with apple logo). release the buttons when you see this.\\nThen, connect to your laptop and log in to iTunes and reset your phone completely. (please take a back-up first).\\nAnd your phone should be good to use again.\\nWhat really happened here for me is that the sensors might have stuck to the screen and with mild twisting, they got disengaged/released.\\nI posted this in Apple Community and the moderators deleted it, for the best reasons known to them.\\nInstead of throwing away your phone (or selling cheaply), try this and you could be saving your phone.\\nLet me know how it goes.\\n\\n\\n\\n### Other Answer\\nIt was the charging cord! I bought a gas station braided cord and it was the culprit. Once I plugged my OEM cord into the phone the GHOSTS went away.\\n\\n\\n\\n### Other Answer\\nI\\'ve same issue that I just get resolved. I first tried to restore it from iCloud back, however it was not a software issue or any virus issue, so after restore same problem continues. Then I get my phone to local area iphone repairing lab, and they detected that it is an LCD issue. LCD get out of order without any reason (It was neither hit or nor slipped, but LCD get out of order all and sudden, while using it) it started opening things at random. I get LCD replaced with new one, that cost me $80.00 in total ($70.00 LCD charges + $10.00 as labor charges to fix it). iPhone is back to perfect mode now. It was iphone 6s. Thanks.\\n\\n\\n\\n### Other Answer\\nI was having the same issue with my 6 plus, I took it to a repair shop, they opened the phone, disconnected the three ribbons the screen has, blew up and cleaned the connectors and connected the screen again and it solved the issue… it’s hardware, not software.\\n\\n\\n\\n### Other Answer\\nHey.\\nJust had this problem now. As it turns out, you just need to plug in your phone. I use a case and when I took it off I noticed that there was a lot of dust and dirt around the areas that the case didn\\'t cover. I shined a light in my ports and noticed they were filled with dust. Tomorrow I plan on using pressurized air to clean it out and the problem should be solved. If you plug in your phone and unplug it and it stops the issue, I recommend cleaning your phone thoroughly.\\n\\n\\n\\n### Other Answer\\nI simply changed the power supply and problem was gone. The block that plugs in the wall not the sub cord. The cord was fine but not the block.\\n\\n\\n\\n### Other Answer\\nSomeone ask! I purchased my iPhone 6s Plus for 1000 from at&t. Before I touched it, I purchased a otter defender case. I read where at&t said touch desease was due to dropping! Bullshit!! I am 56 I have never dropped it!! Looks brand new! Never dropped or abused any way! I have my original charger. I am going to clean it and try everyone’s advice. It really sucks! I had 40,000,000 on my heart of Vegas slots! I play every day. I would be spinning and my fingers were no where max buttons and it would light up and switch to max. It did it 3 times before I caught it light up by its self. It sucks. Hope I can fix it!!!!\\n\\n\\n\\n### Other Answer\\nNo answer, but same problem with iPhone 6 plus--random, self-generated jumping amongst apps and typing on its own--plus freezing regularly (aha--maybe that\\'s what the \"plus\" in \"6 plus\" refers to?). An Apple Genius recommended upgrading to iOS 11.3.1 from 11.2.2, to see if that fixed the trouble. If it didn\\'t, Apple will sell me a new phone for $168! Of couese the OS upgrade didn\\'t fix the problem. Thanks for helping me figure out that it\\'s most likely a hardware problem--which the \"genius\" probably knows too.\\nI\\'m getting ready to go Android.\\n\\n\\n\\n### Other Answer\\nI experienced similar ghost touches. Two weeks ago, I changed my iPhone 6 Plus shell (I had forced the phone into it because it’s pretty tight), and also put a new glass screen protector (the edges of the protector don’t stick to the screen, weird, so I brushed pressure on the edges at times to see if they may smooth out one day miraculously). I’m not sure if I accidentally bend the phone when I installed the shell, or, if I got a defective glass protector that messes up the touch sensor. Well, yesterday was the worse day, keeps dropping calls and ghost pressing keys for me when I was on a call. I got fed up, so I removed the screen protector, and so far problems have not reoccurred yet. I’m crossing my fingers that problems indeed solved.\\n\\n\\n\\n### Other Answer\\nthank you so much for this post! i was struggling doing the reset because i cannot type userids and passwords correctly because the iphone 6 plus i have kept on typing letters incorrectly. I have been doing it for a day until i come across this article. Very helpful! God bless you!!\\n\\n\\n\\n### Other Answer\\nI just turned it off, and turned it back on.\\n\\n\\n\\n### Other Answer\\nMy problem has not gone away completely but its better now i changed my charger and turned off prediction ....,,,now it rarely happens\\n\\n\\n\\n### Other Answer\\nI tried all of the above. I then turned off my home cleaned it with isopropyl alcohol 90%. Then I baked it in my oven on warm for an hour and a half over foil. Took it out and set it cool completely on the glass top stove. Then I turned on and it worked.\\n\\n\\n\\n### Other Answer\\nI think at& t should man up and fix your phone for free! You pay a lot for a Apple they should back it. I did the next 30 month payments and finally have it paid off in June. My iPad sept. Looking forward to a almost 100 drop in my phone bill! Now this crap!!! Really\\n\\n\\n\\n### Other Answer\\nIf your phone is JailBroken, suggest downloading a virus. While all my symptoms were similar, there was indeed a virus/malware on the phone which allowed for remote control of my iphone (even while in lock mode). My mistake for buying a third party iphone i suppose. Anyway i have since had the phone restored to factory and everything is working as expected for now. I will of course keep you posted if this changes. Thanks to all for the helpful posts, really helped me narrow a few things down.\\n\\n\\n\\n### Other Answer\\nWhen my phone was doing this, it ended up being the screen protector that i got from 5 below. I took it off and it stopped. I ordered more protectors from amazon and replaced it\\n\\n\\n\\n### Other Answer\\niPhone 6 Plus first generation….I had the same issues as all above, apps opening by themselves, self typing, ultra sensitive screen, items jumping around all over….it even called someone on FaceTime twice by itself when I was not in the room…..I thought the phone was toast and i’d have to buy a new one took me a while to figure out but it was the extra cheap block plug I bought at a dollar store for convenience of an extra charging station when I move around the house from den to living room…..cord was fine but bought a new Apple brand block plug…no more problems works just fine now. This issue was a recent event so had to narrow things down to what had changed recently to my phone so I could figure it out.\\nI even had the same problem on a laptop with documents opening up by themselves…..a laptop that was plugged in to the same wall plug as my phone charger with the dollar store block plug….until I changed the block plug.\\n\\n\\n\\n### Other Answer\\nHad the problem: Inherited a 6s Plus from my wife. She had no problem with it.\\nLooks like it was merely the cheap phone case I purchased on Amazon. It was either pinching the edges or torquing the screen/body of the phone. Problem solved.\\n\\n\\n\\n### Other Answer\\nI bought my phone on march 6 and it was a brand new, but It sucks me uo because it freezing, shaking and control by itself. I went to the store where I bought this and I told them to replacr it, but they told me I have to pay it because Its about lcd issue. Please help me what other ways to fix it. Or should I try to remove the screen or should I follow your step above.\\n\\n\\n\\n### Other Answer\\nI tried everything and it seems to come back to needing the original iPhone cable…or at least another 1 that would have come with another iPhone…not the $5 Store fast charging cables. My original cable is pretty beat up - like most that I see - but I’ve been beaten up much MUCH less by sticking with its use! I didn’t find that the casing/shell around it or not made any diff.\\n\\n\\n\\n### Other Answer\\ngreat now I have to wait one more hour to reset my phone and while I was tryin to connect my phone to my computer the computer also restarted smh does anyone else knows how I can get my phone to work… my problem is I have a black dot on the bottom left of my screen an it wont allow me to touch a certain part of my screen unless I rotate my phone and I know the password but the first number is a 2 and it won\\'t let me touch 1,2, or 3 so now I have to find a way to get rid of my password and all of a sudden my phone wants to touch stuff on its own which got my phone disabled many times to the point where I have to wait a whole hour and I really need to finish something on my phone today PLEASE HELPPPP\\n\\n\\n\\n### Other Answer\\nIn my case , iphone 6 screen was faulty. I got it replaced at local repair shop, so far phone is working fine.\\n\\n\\n\\n### Other Answer\\nthis problem in iphone 6 has many different scenarios and solutions, first try to reconnect the lcd screen to the motherboard again, if didnt solve, try to replace the lcd connector on the motherboard, if not solved, then remains two issues, lcd screen it self or touch IC. in my country some repair shops just change them all for almost 40$ since they dont want to troubleshoot one by one. readers of this comment also should know that partial screen not responding in other iphone models might also have an issue in LCD connector on the motherboard, specially if you lock/unlock screen and screen works again for sometime. lcd connectors gets disconnected lightly from the motherboard due to multiple falls and hits after sometime. best of luck for all\\n\\n\\n\\n### Other Answer\\nI am facing the same issue whereby these ghost touches type and open apps , I am using an original Iphone cable , how to I fix this issue.\\n\\n\\n\\n### Other Answer\\nThere were two issues with the phone I had troubles with. It was my dads and turns out he carried it in his pocket. The phone itself had a little bend in it as a result. A little pressure in the opposite direction helped the issue. But it also had a tiny crack in the screen which wasnt obvious, once we added a screen protector this fixed the issues entirely.\\n\\n\\n\\n### Other Answer\\nI had the same problem with my 64Gb iPhone 6+. Tried a lot of things and eventually downloaded all my images and videos to my PC and restarted the phone - problem solved. Been working now for two days.', lookup_str='', metadata={'source': 'https://www.ifixit.com/Answers/View/318583/My+iPhone+6+is+typing+and+opening+apps+by+itself', 'title': 'My iPhone 6 is typing and opening apps by itself'}, lookup_index=0)]" + ] }, "execution_count": 5, "metadata": {}, @@ -79,37 +93,38 @@ ], "source": [ "data" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "markdown", - "source": [], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 7, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [], "source": [ "loader = IFixitLoader(\"https://www.ifixit.com/Device/Standard_iPad\")\n", "data = loader.load()" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 8, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [ { "data": { - "text/plain": "[Document(page_content=\"Standard iPad\\nThe standard edition of the tablet computer made by Apple.\\n== Background Information ==\\n\\nOriginally introduced in January 2010, the iPad is Apple's standard edition of their tablet computer. In total, there have been ten generations of the standard edition of the iPad.\\n\\n== Additional Information ==\\n\\n* [link|https://www.apple.com/ipad-select/|Official Apple Product Page]\\n* [link|https://en.wikipedia.org/wiki/IPad#iPad|Official iPad Wikipedia]\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Device/Standard_iPad', 'title': 'Standard iPad'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content=\"Standard iPad\\nThe standard edition of the tablet computer made by Apple.\\n== Background Information ==\\n\\nOriginally introduced in January 2010, the iPad is Apple's standard edition of their tablet computer. In total, there have been ten generations of the standard edition of the iPad.\\n\\n== Additional Information ==\\n\\n* [link|https://www.apple.com/ipad-select/|Official Apple Product Page]\\n* [link|https://en.wikipedia.org/wiki/IPad#iPad|Official iPad Wikipedia]\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Device/Standard_iPad', 'title': 'Standard iPad'}, lookup_index=0)]" + ] }, "execution_count": 8, "metadata": {}, @@ -118,40 +133,47 @@ ], "source": [ "data" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Searching iFixit using /suggest\n", "\n", "If you're looking for a more general way to search iFixit based on a keyword or phrase, the /suggest endpoint will return content related to the search term, then the loader will load the content from each of the suggested items and prep and return the documents." - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 2, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [], "source": [ "data = IFixitLoader.load_suggestions(\"Banana\")" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": 3, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, "outputs": [ { "data": { - "text/plain": "[Document(page_content='Banana\\nTasty fruit. Good source of potassium. Yellow.\\n== Background Information ==\\n\\nCommonly misspelled, this wildly popular, phone shaped fruit serves as nutrition and an obstacle to slow down vehicles racing close behind you. Also used commonly as a synonym for “crazy” or “insane”.\\n\\nBotanically, the banana is considered a berry, although it isn’t included in the culinary berry category containing strawberries and raspberries. Belonging to the genus Musa, the banana originated in Southeast Asia and Australia. Now largely cultivated throughout South and Central America, bananas are largely available throughout the world. They are especially valued as a staple food group in developing countries due to the banana tree’s ability to produce fruit year round.\\n\\nThe banana can be easily opened. Simply remove the outer yellow shell by cracking the top of the stem. Then, with the broken piece, peel downward on each side until the fruity components on the inside are exposed. Once the shell has been removed it cannot be put back together.\\n\\n== Technical Specifications ==\\n\\n* Dimensions: Variable depending on genetics of the parent tree\\n* Color: Variable depending on ripeness, region, and season\\n\\n== Additional Information ==\\n\\n[link|https://en.wikipedia.org/wiki/Banana|Wiki: Banana]', lookup_str='', metadata={'source': 'https://www.ifixit.com/Device/Banana', 'title': 'Banana'}, lookup_index=0),\n Document(page_content=\"# Banana Teardown\\nIn this teardown, we open a banana to see what's inside. Yellow and delicious, but most importantly, yellow.\\n\\n\\n###Tools Required:\\n\\n - Fingers\\n\\n - Teeth\\n\\n - Thumbs\\n\\n\\n###Parts Required:\\n\\n - None\\n\\n\\n## Step 1\\nTake one banana from the bunch.\\nDon't squeeze too hard!\\n\\n\\n## Step 2\\nHold the banana in your left hand and grip the stem between your right thumb and forefinger.\\n\\n\\n## Step 3\\nPull the stem downward until the peel splits.\\n\\n\\n## Step 4\\nInsert your thumbs into the split of the peel and pull the two sides apart.\\nExpose the top of the banana. It may be slightly squished from pulling on the stem, but this will not affect the flavor.\\n\\n\\n## Step 5\\nPull open the peel, starting from your original split, and opening it along the length of the banana.\\n\\n\\n## Step 6\\nRemove fruit from peel.\\n\\n\\n## Step 7\\nEat and enjoy!\\nThis is where you'll need your teeth.\\nDo not choke on banana!\\n\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Teardown/Banana+Teardown/811', 'title': 'Banana Teardown'}, lookup_index=0)]" + "text/plain": [ + "[Document(page_content='Banana\\nTasty fruit. Good source of potassium. Yellow.\\n== Background Information ==\\n\\nCommonly misspelled, this wildly popular, phone shaped fruit serves as nutrition and an obstacle to slow down vehicles racing close behind you. Also used commonly as a synonym for “crazy” or “insane”.\\n\\nBotanically, the banana is considered a berry, although it isn’t included in the culinary berry category containing strawberries and raspberries. Belonging to the genus Musa, the banana originated in Southeast Asia and Australia. Now largely cultivated throughout South and Central America, bananas are largely available throughout the world. They are especially valued as a staple food group in developing countries due to the banana tree’s ability to produce fruit year round.\\n\\nThe banana can be easily opened. Simply remove the outer yellow shell by cracking the top of the stem. Then, with the broken piece, peel downward on each side until the fruity components on the inside are exposed. Once the shell has been removed it cannot be put back together.\\n\\n== Technical Specifications ==\\n\\n* Dimensions: Variable depending on genetics of the parent tree\\n* Color: Variable depending on ripeness, region, and season\\n\\n== Additional Information ==\\n\\n[link|https://en.wikipedia.org/wiki/Banana|Wiki: Banana]', lookup_str='', metadata={'source': 'https://www.ifixit.com/Device/Banana', 'title': 'Banana'}, lookup_index=0),\n", + " Document(page_content=\"# Banana Teardown\\nIn this teardown, we open a banana to see what's inside. Yellow and delicious, but most importantly, yellow.\\n\\n\\n###Tools Required:\\n\\n - Fingers\\n\\n - Teeth\\n\\n - Thumbs\\n\\n\\n###Parts Required:\\n\\n - None\\n\\n\\n## Step 1\\nTake one banana from the bunch.\\nDon't squeeze too hard!\\n\\n\\n## Step 2\\nHold the banana in your left hand and grip the stem between your right thumb and forefinger.\\n\\n\\n## Step 3\\nPull the stem downward until the peel splits.\\n\\n\\n## Step 4\\nInsert your thumbs into the split of the peel and pull the two sides apart.\\nExpose the top of the banana. It may be slightly squished from pulling on the stem, but this will not affect the flavor.\\n\\n\\n## Step 5\\nPull open the peel, starting from your original split, and opening it along the length of the banana.\\n\\n\\n## Step 6\\nRemove fruit from peel.\\n\\n\\n## Step 7\\nEat and enjoy!\\nThis is where you'll need your teeth.\\nDo not choke on banana!\\n\", lookup_str='', metadata={'source': 'https://www.ifixit.com/Teardown/Banana+Teardown/811', 'title': 'Banana Teardown'}, lookup_index=0)]" + ] }, "execution_count": 3, "metadata": {}, @@ -160,19 +182,7 @@ ], "source": [ "data" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [], - "metadata": { - "collapsed": false - } + ] } ], "metadata": { @@ -191,9 +201,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.2" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/image.ipynb b/docs/modules/indexes/document_loaders/examples/image.ipynb index 7f0f310828..8af1faab9b 100644 --- a/docs/modules/indexes/document_loaders/examples/image.ipynb +++ b/docs/modules/indexes/document_loaders/examples/image.ipynb @@ -18,11 +18,25 @@ "## Using Unstructured" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "db8e56db-2e66-443b-8a0b-ef69fa5fae9a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#!pip install pdfminer" + ] + }, { "cell_type": "code", "execution_count": 1, "id": "0cc0cd42", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders.image import UnstructuredImageLoader" @@ -32,7 +46,9 @@ "cell_type": "code", "execution_count": 2, "id": "082d557c", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = UnstructuredImageLoader(\"layout-parser-paper-fast.jpg\")" @@ -40,9 +56,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "df11c953", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -137,7 +155,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.13" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/image_captions.ipynb b/docs/modules/indexes/document_loaders/examples/image_captions.ipynb index 52a7df944c..5d354e540e 100644 --- a/docs/modules/indexes/document_loaders/examples/image_captions.ipynb +++ b/docs/modules/indexes/document_loaders/examples/image_captions.ipynb @@ -6,9 +6,23 @@ "metadata": {}, "source": [ "# Image captions\n", + "\n", + "By default, the loader utilizes the pre-trained [Salesforce BLIP image captioning model](https://huggingface.co/Salesforce/blip-image-captioning-base).\n", + "\n", + "\n", "This notebook shows how to use the ImageCaptionLoader tutorial to generate a query-able index of image captions" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f78585a-a2fa-4ece-834f-66692b959efb", + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install transformers" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -232,7 +246,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/imsdb.ipynb b/docs/modules/indexes/document_loaders/examples/imsdb.ipynb index b67f54be99..b6c916f04e 100644 --- a/docs/modules/indexes/document_loaders/examples/imsdb.ipynb +++ b/docs/modules/indexes/document_loaders/examples/imsdb.ipynb @@ -7,14 +7,18 @@ "source": [ "# IMSDb\n", "\n", - "This covers how to load IMSDb webpages into a document format that we can use downstream." + "[IMSDb](https://imsdb.com/) is the `Internet Movie Script Database`.\n", + "\n", + "This covers how to load `IMSDb` webpages into a document format that we can use downstream." ] }, { "cell_type": "code", "execution_count": 1, "id": "9d1f867e", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import IMSDbLoader" @@ -24,7 +28,9 @@ "cell_type": "code", "execution_count": 2, "id": "84a32aa1", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = IMSDbLoader(\"https://imsdb.com/scripts/BlacKkKlansman.html\")" @@ -34,7 +40,9 @@ "cell_type": "code", "execution_count": 3, "id": "8ae5ffe2", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -42,32 +50,49 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "d41da111", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='\\n\\r\\n\\r\\n\\r\\n\\r\\n BLACKKKLANSMAN\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Written by\\r\\n\\r\\n Charlie Wachtel & David Rabinowitz\\r\\n\\r\\n and\\r\\n\\r\\n Kevin Willmott & Spike Lee\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n FADE IN:\\r\\n \\r\\n SCENE FROM \"GONE WITH THE WIND\"\\r\\n \\r\\n Scarlett O\\'Hara, played by Vivian Leigh, walks through the\\r\\n Thousands of injured Confederate Soldiers pulling back to\\r\\n reveal the Famous Shot of the tattered Confederate Flag in\\r\\n \"Gone with the Wind\" as The Max Stein Music Score swells from\\r\\n Dixie to Taps.\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (O.S.)\\r\\n They say they may have lost the\\r\\n Battle but they didn\\'t lose The War.\\r\\n Yes, Friends, We are under attack.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n A 1960\\'S EDUCATIONAL STYLE FILM\\r\\n \\r\\n Shot on Grainy COLOR 16MM EKTACHROME Film, The NARRATOR\\r\\n BEAUREGARD, a Middle Aged but handsome, White Male, sits at a\\r\\n desk, a Confederate Flag on a stand beside him. Very\\r\\n Official. He is not a Southerner and speaks with articulation\\r\\n and intelligence.\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR\\r\\n You\\'ve read about it in your Local\\r\\n Newspapers or seen it on The Evening\\r\\n News. That\\'s right. We\\'re living in\\r\\n an Era marked by the spread of\\r\\n Integration and Miscegenation.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n FOOTAGE OF THE LITTLE ROCK NINE\\r\\n \\r\\n being escorted into CENTRAL HIGH SCHOOL, Little Rock,\\r\\n Arkansas by The National Guard.\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR\\r\\n (V.O.)(CONT\\'D)\\r\\n The Brown Decision forced upon us by\\r\\n The Jewish controlled Puppets on the\\r\\n U.S. Supreme Court compelling White\\r\\n children to go to School with an\\r\\n Inferior Race is The Final Nail in a\\r\\n Black Coffin towards America becoming\\r\\n a Mongrel Nation.\\r\\n \\r\\n A QUICK SERIES OF IMAGES\\r\\n \\r\\n Segregation Signs. Antebellum Photos. Happy Slaves in Old\\r\\n Movies. Masters inspecting their Cotton and Tobacco with\\r\\n their Slaves in The Fields. Blacks shining Shoes and working\\r\\n as Butlers, Porters and Maids.\\r\\n BEAUREGARD- KLAN NARRATOR (V.O.)\\r\\n (CONT\\'D)\\r\\n We had a great way of Life before The\\r\\n Martin Luther Coon\\'s of The World...\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n The Billboard of Dr. Martin Luther King Jr. sitting in the\\r\\n front row of a Classroom it reads: Martin Luther King in a\\r\\n Communist Training School.\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n ...and their Army of Commies started\\r\\n their Civil Rights Assault on our\\r\\n Holy White Protestant Values.\\r\\n \\r\\n CLOSE - BOUREGARD - KLAN NARRATOR\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n Do you really want your precious\\r\\n White Child going to School with\\r\\n Negroes?\\r\\n \\r\\n Footage of Black and White Children playing together,\\r\\n innocent.\\r\\n \\r\\n Beauregard now stands by a Large Screen and points at The\\r\\n Screen.\\r\\n \\r\\n BEAUREGARD-KLAN NARRATOR (CONT\\'D)\\r\\n They are Lying, Dirty Monkeys...\\r\\n \\r\\n FOOTAGE and STILLS of Stereotype Blacks Coons, Bucks and\\r\\n shining Black Mammies. Black Soldiers in D. W. Griffith\\'s\\r\\n \"Birth of a Nation\" pushing Whites around on the Street.\\r\\n \\r\\n CLOSE - BEAUREGARD\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n ...Stopping at nothing to gain\\r\\n Equality with The White Man.\\r\\n \\r\\n Images and Scientific charts of Blacks compared to Apes and\\r\\n Monkeys.\\r\\n \\r\\n CLOSE - BEAUREGARD - KLAN NARRATOR\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n ...Rapists, Murderers...Craving The\\r\\n Virgin, Pure Flesh of White Women.\\r\\n They are Super Predators...\\r\\n CUT TO:\\r\\n \\r\\n LYNCH, The MULATTO, lusting after our LILLIAN GISH in \"Birth\\r\\n of a Nation.\" Other Lusting Images of Craving Black\\r\\n Beasts!!! SEXUAL PREDATORS!!!\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n KING KONG on Empire State Building with Fay Wray in his hand.\\r\\n GUS in \"Birth of a Nation\" chasing a White Woman he wants to\\r\\n Rape.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n CLOSE - BEAUREGARD - KLAN NARRATOR\\r\\n \\r\\n A Stereotype illustration of Jews controlling Negroes.\\r\\n \\r\\n BEAUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n ...and the Negro\\'s insidious tactics\\r\\n under the tutelage of High Ranking\\r\\n Blood Sucking Jews! Using an Army of\\r\\n outside...\\r\\n \\r\\n Beauregard continues.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n BEAUREGARD-KLAN NARRATOR(CONT\\'D)\\r\\n ...Northern Black Beast Agitators...\\r\\n \\r\\n Footage of The March on Washington.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n CLOSE - BOUREGARD - KLAN NARRATOR.\\r\\n \\r\\n BOUREGARD- KLAN NARRATOR (CONT\\'D)\\r\\n ...determined to overthrow The God\\r\\n Commanded and Biblically inspired\\r\\n Rule of The White Race.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n An image of an All-American White Nuclear Family.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n Bouregard gives his Final Words.\\r\\n \\r\\n BOUREGARD-KLAN NARRATOR (CONT\\'D)\\r\\n It\\'s an International... Jewish...\\r\\n Conspiracy.\\r\\n WE HEAR and end with the Corny Stinger of Music that goes\\r\\n with these Education and Propaganda Films!\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n EXT. COLORADO SPRINGS AREA - DAY\\r\\n \\r\\n DRONE SHOT\\r\\n \\r\\n Superimposed: Early 70s\\r\\n \\r\\n An amazing contrast. The beautiful landscape of Colorado\\r\\n Springs, the City sits nestled within the rugged Mountain\\r\\n terrain. The majestic Pikes Peak, the jagged beauty of The\\r\\n Garden of the Gods, The plush Broadmoor Resort, The Will\\r\\n Rodgers Shrine of The Sun.\\r\\n \\r\\n \\r\\n EXT. COLORADO SPRINGS STREET - DAY\\r\\n \\r\\n RON STALLWORTH, Black, 21, Handsome, Intelligent, sporting a\\r\\n good sized Afro, rebellious but straight laced by most 1970\\'s\\r\\n standards.\\r\\n \\r\\n Ron stares at an Ad attached to a bulletin board.\\r\\n \\r\\n CLOSE - THE AD READS:\\r\\n \\r\\n JOIN THE COLORADO SPRINGS POLICE FORCE, MINORITIES ENCOURAGED\\r\\n TO APPLY! Ron rips the Ad from the board.\\r\\n \\r\\n EXT. COLORADO SPRINGS POLICE DEPT BUILDING. - DAY\\r\\n \\r\\n INT. OFFICE OF CHIEF BRIDGES - COLORADO SPRINGS POLICE DEPT -\\r\\n DAY\\r\\n \\r\\n A drab, white-walled office. Ron sits across the table from\\r\\n The Assistant City Personnel Manager, MR. TURRENTINE, Black,\\r\\n 40\\'s, business like but progressive and CHIEF BRIDGES, White,\\r\\n smart, 50\\'s, in a Police Uniform, a Man ready for change.\\r\\n \\r\\n MR. TURRENTINE\\r\\n Why weren\\'t you drafted into the\\r\\n Vietnam War?\\r\\n \\r\\n RON STALLWORTH\\r\\n I went to College.\\r\\n \\r\\n MR. TURRENTINE\\r\\n How do you feel about Vietnam?\\r\\n \\r\\n RON STALLWORTH\\r\\n I have mixed feelings.\\r\\n CHIEF BRIDGES\\r\\n Would you call yourself a Womanizer?\\r\\n RON STALLWORTH\\r\\n No Sir, I would not.\\r\\n \\r\\n MR. TURRENTINE\\r\\n Do you frequent Night Clubs?\\r\\n \\r\\n RON STALLWORTH\\r\\n No Sir.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Do you drink?\\r\\n \\r\\n RON STALLWORTH\\r\\n On Special occasions, Sir.\\r\\n \\r\\n MR. TURRENTINE\\r\\n Have you ever done any Drugs?\\r\\n \\r\\n RON STALLWORTH\\r\\n Only those prescribed by My Doctor,\\r\\n Sir.\\r\\n \\r\\n Turrentine looks at Chief Bridges.\\r\\n \\r\\n MR. TURRENTINE\\r\\n That\\'s kind of rare these days for a\\r\\n young Hip Soul Brother like you.\\r\\n \\r\\n RON STALLWORTH\\r\\n I know but my Father was in The\\r\\n Military and I was raised up the\\r\\n Right way, Sir.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n How are you with people, generally?\\r\\n \\r\\n RON STALLWORTH\\r\\n Sir, they treat me right, I treat\\r\\n them right, like I already said I was\\r\\n raised...\\r\\n \\r\\n CHIEF BRIDGES\\r\\n ...Have you ever had any negative...\\r\\n \\r\\n Mr. Turrentine jumps in, impatient.\\r\\n \\r\\n MR. TURRENTINE\\r\\n ...What would you do if another Cop\\r\\n called you a Nigger?\\r\\n \\r\\n RON STALLWORTH\\r\\n Would that happen...\\r\\n \\r\\n MR. TURRENTINE\\r\\n ...Sheeeeeeettt!!!\\r\\n Bridges looks at him. Turrentine waits, Ron doesn\\'t know how\\r\\n to respond, finally. Turrentine leans forward.\\r\\n \\r\\n MR. TURRENTINE (CONT\\'D)\\r\\n There\\'s never been a Black Cop in\\r\\n this City. If we make you an Officer,\\r\\n you would, in effect, be the Jackie\\r\\n Robinson of the Colorado Springs\\r\\n Police force.\\r\\n \\r\\n Mr. Turrentine lets this sink in.\\r\\n \\r\\n MR. TURRENTINE (CONT\\'D)\\r\\n And if you know anything about Jackie\\r\\n Robinson you know he had to take a\\r\\n lot of... guff... from his fellow\\r\\n Teammates, from Fans, other Teams,\\r\\n and The Press.\\r\\n \\r\\n RON STALLWORTH\\r\\n I know Jackie\\'s Story, Sir.\\r\\n \\r\\n MR. TURRENTINE\\r\\n Good. So, knowing that, when someone\\r\\n calls you Nigger will you be able to\\r\\n turn the other Cheek?\\r\\n \\r\\n Ron evaluates the hard reality of the question. Decides.\\r\\n \\r\\n RON STALLWORTH\\r\\n If I need to, yes, Sir.\\r\\n \\r\\n MR. TURRENTINE\\r\\n Son, The Mayor and I think you might\\r\\n be The Man to open things up here.\\r\\n \\r\\n Ron looks at Chief Bridges.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n I\\'ll have your back but I can only do\\r\\n so much. The Weight of this is on\\r\\n You...and You alone.\\r\\n \\r\\n Ron weighs The Journey ahead.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n \\r\\n INT. RECORDS ROOM - CSPD - DAY\\r\\n \\r\\n Ron sorts a file cabinet of records as OFFICER CLAY MULANEY,\\r\\n 60\\'s, White, sits on a stool, reading a Magazine clearly\\r\\n looking at a Photo of something good.\\r\\n Ron looks at the Photo of the Actress Cybill Shepherd.\\r\\n \\r\\n RON STALLWORTH\\r\\n Cybill Shepherd. She was great in The\\r\\n Last Picture Show.\\r\\n \\r\\n OFFICER MULANEY\\r\\n Never saw it but what you think?\\r\\n \\r\\n RON STALLWORTH\\r\\n She\\'s a very good Actress.\\r\\n \\r\\n OFFICER MULANEY\\r\\n Y\\'know you want some of that.\\r\\n \\r\\n Ron ignores it.\\r\\n \\r\\n OFFICER MULANEY (CONT\\'D)\\r\\n Truth be told when I see one of your\\r\\n kind with a White Woman it turns my\\r\\n Stomach.\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah. Why\\'s that?\\r\\n \\r\\n OFFICER MULANEY\\r\\n He could only want one thing.\\r\\n \\r\\n RON STALLWORTH\\r\\n What would that be?\\r\\n \\r\\n OFFICER MULANEY\\r\\n You like acting dumb, Y\\'know.\\r\\n \\r\\n RON STALLWORTH\\r\\n No, I just like my questions to be\\r\\n answered.\\r\\n \\r\\n A VOICE of UNIFORMED COP WHEATON calls from the other side of\\r\\n the Counter.\\r\\n \\r\\n WHEATON (O.S.)\\r\\n Hey! Anybody in there? Looking for a\\r\\n Toad here.\\r\\n \\r\\n Ron walks to the Counter to see The White and sleep-deprived\\r\\n Cop impatiently leaning on his elbows.\\r\\n \\r\\n WHEATON (CONT\\'D)\\r\\n Get me the record for this Toad named\\r\\n Tippy Birdsong.\\r\\n \\r\\n Ron pulls up the File for Tippy Birdsong. The Photo shows a\\r\\n Black Man in his twenties.\\r\\n WHEATON (CONT\\'D)\\r\\n While you\\'re at it, why don\\'t you\\r\\n grab another Toad... Steven Wilson.\\r\\n \\r\\n Ron pulls the File... another young Black Male, ANOTHER\\r\\n SEXUAL PREDATOR!\\r\\n \\r\\n INT. CSPD HALLWAY - DAY\\r\\n \\r\\n Chief Bridges strides down the hall with SGT. TRAPP a soft-\\r\\n spoken White Man in his 40\\'s, they are discussing a File. Ron\\r\\n suddenly appears walking with them.\\r\\n \\r\\n RON STALLWORTH\\r\\n While I\\'ve got you both here. Sirs,\\r\\n I\\'d like to be an Undercover\\r\\n Detective.\\r\\n \\r\\n Chief Bridges and Sgt. Trapp both stop.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n What Narcotics?\\r\\n \\r\\n RON STALLWORTH\\r\\n Whatever Department works, Sir.\\r\\n \\r\\n SGT. TRAPP\\r\\n You just joined The Force, Rookie.\\r\\n \\r\\n RON STALLWORTH\\r\\n I know, Sir but I think I could do\\r\\n some good there.\\r\\n \\r\\n SGT. TRAPP\\r\\n Is that right?\\r\\n \\r\\n RON STALLWORTH\\r\\n Well, I\\'m young. I think there\\'s a\\r\\n niche for me. Get In where I can Fit\\r\\n In.\\r\\n \\r\\n SGT. TRAPP\\r\\n What do you think, Chief?\\r\\n \\r\\n Sgt. Trapp sees the logic, looks to Chief Bridges, who stops,\\r\\n considering.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Think a lot of yourself, don\\'t cha?\\r\\n \\r\\n RON STALLWORTH\\r\\n Just trying to be of help, Chief.\\r\\n Plus, I hate working in The Records\\r\\n room.\\r\\n Sgt. Trapp reacts knowing Ron shouldn\\'t have said that about\\r\\n the Records Room. CHIEF BRIDGES looks at Ron, matter of fact.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Well, I think Records is a good place\\r\\n for you to start, Rookie.\\r\\n \\r\\n RON STALLWORTH\\r\\n Chief, want me clean shaven?\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Keep it. I like the look.\\r\\n \\r\\n Chief Bridges walks off without another word. SGT. TRAPP\\r\\n gives a knowing look to Ron, who watches them walk away.\\r\\n \\r\\n INT. RECORDS ROOM - CSPD - DAY\\r\\n \\r\\n Ron behind the Counter. MASTER PATROLMAN ANDY LANDERS, White,\\r\\n Mid-30\\'s, a regular guy but there is something dangerous\\r\\n there, steps up.\\r\\n \\r\\n LANDERS\\r\\n Need a File on a Toad.\\r\\n \\r\\n Ron doesn\\'t respond.\\r\\n \\r\\n LANDERS (CONT\\'D)\\r\\n You Deaf? I said I need info on a\\r\\n Toad.\\r\\n \\r\\n RON STALLWORTH\\r\\n No Toads here.\\r\\n \\r\\n LANDERS\\r\\n Excuse me?\\r\\n \\r\\n RON STALLWORTH\\r\\n I said, I don\\'t have any Toads. I do\\r\\n have Human Beings and if you give me\\r\\n their names I can pull the Files.\\r\\n \\r\\n Landers scowls. Ron stares back at him, Eye to Eye.\\r\\n \\r\\n LANDERS\\r\\n Heard you think you Hot Shit but you\\r\\n ain\\'t nuthin\\' but a Cold Fart. Name\\'s\\r\\n Maurice, Maurice Smalls...That\\r\\n respectful enough for you, Officer\\r\\n Toad.\\r\\n \\r\\n Ron pulls The File, throws it down on the Counter as Landers\\r\\n snatches The File and storms off.\\r\\n INT. RON\\'S APARTMENT - BEDROOM - MORNING\\r\\n \\r\\n As Ron sleeps, a phone rings. Ron snaps awake and grabs at\\r\\n the phone on the night table.\\r\\n \\r\\n RON STALLWORTH\\r\\n Hello.\\r\\n CHIEF BRIDGES (O.S.)\\r\\n It\\'s Bridges. You sleeping?\\r\\n \\r\\n RON STALLWORTH\\r\\n Yes, Chief, I was. Just worked a\\r\\n Night Shift.\\r\\n \\r\\n CHIEF BRIDGES (O.S.)\\r\\n I changed my mind, you\\'re gonna come\\r\\n in a little earlier today. We\\'ve got\\r\\n an assignment for you. 12 Noon.\\r\\n Sharp. Narcotics Division. Wear\\r\\n Street clothes.\\r\\n \\r\\n RON STALLWORTH\\r\\n Yes Sir, see you then. Thank You.\\r\\n Thank You.\\r\\n \\r\\n Ron sits up in Bed, excited, thinking about the challenge\\r\\n ahead.\\r\\n \\r\\n INT. CSPD - NARCOTICS DIVISION - DAY\\r\\n \\r\\n Ron, dressed in Bell-Bottoms and a Hip Italian Knit Shirt,\\r\\n Marshmallow Shoes steps inside the Narcotics office, which is\\r\\n literally The Basement of The Station. He looks around at The\\r\\n Area Buzzing with Activity and sees\\r\\n \\r\\n ANGLE - UNDERCOVER COPS\\r\\n \\r\\n at their desks. Looking less like Cops and more like unkempt\\r\\n Hippies or Rock N\\' Rollers.\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n just stands there looking at all the activity.\\r\\n \\r\\n CLOSE - CHIEF BRIDGES\\r\\n \\r\\n waves Ron back to the rear of The Room for privacy.\\r\\n \\r\\n CLOSE - FLIP ZIMMERMAN\\r\\n \\r\\n FLIP\\r\\n Rookie, you\\'re late.\\r\\n \\r\\n RON STALLWORTH\\r\\n Sorry, it won\\'t happen again.\\r\\n \\r\\n Flip, late 30\\'s, long hair, looks like anything but a Cop, he\\r\\n however is somewhat of a closed-off guy, all business, Ron\\r\\n sits across from him. Chief Bridges steps before them.\\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n We\\'ve got limited time so I\\'ll be\\r\\n quick. That Black Radical Stokely\\r\\n Carmichael is giving a Speech Tonight\\r\\n at Bell\\'s Nightingale.\\r\\n \\r\\n Ron is surprised at this.\\r\\n \\r\\n RON STALLWORTH\\r\\n The Nightclub?\\r\\n \\r\\n CHIEF BRIDGES\\r\\n No, Emmanuel Missionary Baptist\\r\\n Church!!!\\r\\n \\r\\n Flip just listens.\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n Carmichael is a former High Muckity-\\r\\n Muck with The Black Panthers and as\\r\\n far as I\\'m concerned, FBI Director J.\\r\\n Edgar Hoover was dead right when he\\r\\n said The Black Panthers are The\\r\\n Greatest Internal Threat to The\\r\\n Security of these United States. This\\r\\n Carmichael Joker, former Panther or\\r\\n not, they say he\\'s a Damn Good\\r\\n Speaker and we don\\'t want this\\r\\n Carmichael getting into The Minds of\\r\\n the Black People here in Colorado\\r\\n Springs and stirring them up.\\r\\n \\r\\n Ron\\'s face cringes at Chief Bridges\\'s words. He steps to Ron.\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n Ron, your assignment is to go to this\\r\\n Speech tonight and infiltrate these\\r\\n Bunch of Subversives and monitor The\\r\\n Audience reaction to Carmichael. You\\r\\n ready?\\r\\n \\r\\n Flip and Chief Bridges stare at Ron.\\r\\n \\r\\n RON STALLWORTH\\r\\n Born Ready.\\r\\n \\r\\n INT. NARCOTICS DIVISION - CSPD - NIGHT\\r\\n \\r\\n Ron stands, his shirt off, as Flip wires a Wireless\\r\\n Transmitter and Microphone to his body. Another Narcotics\\r\\n Cop, JIMMY CREEK, 30\\'s, observes the installation.\\r\\n \\r\\n RON STALLWORTH\\r\\n Any chance this thing Fucks Up?\\r\\n FLIP\\r\\n Fuck yeah.\\r\\n \\r\\n RON STALLWORTH\\r\\n Then what?\\r\\n \\r\\n JIMMY\\r\\n Just stick to The Game Plan.\\r\\n \\r\\n RON STALLWORTH\\r\\n Which is?\\r\\n \\r\\n FLIP\\r\\n Improvise. Like Jazz. This isn\\'t some\\r\\n Big Bust. We just want some Intel,\\r\\n that\\'s it.\\r\\n \\r\\n JIMMY\\r\\n What happens if someone offers you a\\r\\n Marijuana Cigarette?\\r\\n \\r\\n RON STALLWORTH\\r\\n You mean a Joint?\\r\\n \\r\\n JIMMY\\r\\n Yeah.\\r\\n \\r\\n RON STALLWORTH\\r\\n \"Soul Brother, I\\'m already High on\\r\\n Life. Can you Dig It?\"\\r\\n \\r\\n FLIP\\r\\n And if someone pulls a Gun on you?\\r\\n \\r\\n Ron is caught off guard.\\r\\n \\r\\n RON STALLWORTH\\r\\n You expecting that?\\r\\n \\r\\n Flip pulls his Gun.\\r\\n \\r\\n FLIP\\r\\n Barrel of a 45\\'s in your face, Finger\\r\\n on the Trigger, now what?\\r\\n \\r\\n RON STALLWORTH\\r\\n Blood, get that Gun out my face.\\r\\n Peace Love and Soul.\\r\\n \\r\\n FLIP\\r\\n Gun is still in your face.\\r\\n \\r\\n Ron gives Jimmy a wary look speaking to Flip.\\r\\n RON STALLWORTH\\r\\n I de-escalate. Talk calmly, firmly.\\r\\n Find a way out of there, A-Sap.\\r\\n \\r\\n Jimmy nods, satisfied. Flip is finished with The Wiring. Ron\\r\\n takes a deep breath.\\r\\n \\r\\n FLIP\\r\\n Relax, we\\'ll be outside, listening\\r\\n in.\\r\\n \\r\\n RON STALLWORTH\\r\\n Can I order a Drink at The Bar?\\r\\n \\r\\n Flip steps away, no comment.\\r\\n \\r\\n JIMMY\\r\\n That\\'s fine, just don\\'t get Shit\\r\\n Faced.\\r\\n \\r\\n FLIP\\r\\n Got it?\\r\\n \\r\\n RON STALLWORTH\\r\\n I got it. I\\'m gone.\\r\\n \\r\\n Jimmy laughs, Slaps Ron on the back.\\r\\n \\r\\n EXT. CITY STREET - OUTSKIRTS OF DOWNTOWN - NIGHT\\r\\n \\r\\n Ron pulls an unmarked Sedan to the curb. He gets out and\\r\\n looks around.\\r\\n \\r\\n A Crowded sidewalk overflows into The Street, filling a line\\r\\n that Bottlenecks into The Club with the Sign: \\r\\n \\r\\n CLOSE SIGN - BELL\\'S NIGHTINGALE\\r\\n \\r\\n ANGLE - TONIGHT: KWAME TURE SPEAKS\\r\\n \\r\\n Ron walks to the back of the line. He becomes an Every\\r\\n Brother slowly moving forward as People enter. As he moves\\r\\n forward he notices a striking Woman at the Front Door.\\r\\n \\r\\n ANGLE - PATRICE DUMAS\\r\\n \\r\\n Mid 20\\'s, an Angela Davis Afro, she wears a Hip array of\\r\\n Militant wear, Black Leather Jacket, Love Beads but on her it\\r\\n looks fantastic. Ron is taken by her Beauty, he watches as\\r\\n she monitors the door, clearly in charge.\\r\\n \\r\\n RON STALLWORTH\\r\\n How are you doing, my Soul Sista?\\r\\n \\r\\n Patrice gives Ron a good look summing him up.\\r\\n PATRICE\\r\\n I\\'m doing fine, my Brother. This is\\r\\n going to be an Amazing Night.\\r\\n \\r\\n RON STALLWORTH\\r\\n Indeed it is.\\r\\n \\r\\n PATRICE\\r\\n Have you heard Brother Kwame speak\\r\\n before?\\r\\n \\r\\n RON STALLWORTH\\r\\n Who?\\r\\n \\r\\n PATRICE\\r\\n Kwame Ture.\\r\\n \\r\\n RON STALLWORTH\\r\\n Actually, I haven\\'t, I didn\\'t know he\\r\\n changed his name.\\r\\n \\r\\n PATRICE\\r\\n Yes, after he moved to Africa. He\\r\\n took the names of Kwame Nkrumah of\\r\\n Ghana and his Mentor Sekou Toure of\\r\\n Guinea to honor The Great Leaders.\\r\\n \\r\\n RON STALLWORTH\\r\\n That\\'s Heavy. Do you know how he got\\r\\n to Colorado Springs?\\r\\n \\r\\n PATRICE\\r\\n The Colorado College Black Student\\r\\n Union invited Brother Ture.\\r\\n \\r\\n RON STALLWORTH\\r\\n I can dig it. I can dig it. You with\\r\\n The Black Student Union?\\r\\n \\r\\n PATRICE\\r\\n I\\'m The President.\\r\\n \\r\\n RON STALLWORTH\\r\\n Right On. Right On.\\r\\n \\r\\n INT. BELL\\'S NIGHTINGALE - NIGHT\\r\\n \\r\\n The Club is PACKED, a Sea of Black Faces punctuated by an\\r\\n occasional White Face. Ron moves through The Crowd. He avoids\\r\\n direct Eye Contact, trying like Hell to act casual.\\r\\n \\r\\n Ron steps to The Bar and signals The BARTENDER JABBO, 60\\'s,\\r\\n Black.\\r\\n RON STALLWORTH\\r\\n Rum and Coke with Lime.\\r\\n \\r\\n As Jabbo makes his Drink, something catches Ron\\'s Eye.\\r\\n Patrice exits through a door with several Black Bodyguards.\\r\\n \\r\\n Ron observes as a Tall figure comes out from Backstage with\\r\\n Patrice, ODETTA and HAKEEM. The Tall figure hangs back\\r\\n covered by The Bodyguards.\\r\\n \\r\\n Ron on his feet, Black Fist in the air with The Crowd.\\r\\n Patrice on Stage with Kwame Ture with her Fist raised too.\\r\\n The Shouting and Chanting finally cease, as Patrice speaks.\\r\\n \\r\\n PATRICE\\r\\n The Black Student Union of Colorado\\r\\n College is honored to bring The\\r\\n Vanguard of Revolutionaries fighting\\r\\n for The Rights of Black People all\\r\\n over The World. Let\\'s show some Black\\r\\n Love to The One and Only, The Former\\r\\n Prime Minister of The Black Panther\\r\\n Party, The Brother Man with The Plan\\r\\n who\\'s stickin\\'it to the Man, put your\\r\\n Hands together my People... for Our\\r\\n Kwame Ture.\\r\\n \\r\\n PANDEMONIUM! As Kwame Ture walks onto a small raised stage\\r\\n with Patrice. The entire place rises to their Feet, Fists\\r\\n Raised, Clapping, Shouting \"Ungawa Black Power!\" Ron watches\\r\\n as Patrice and Kwame hug. Patrice sits on Stage with Odetta\\r\\n and Hakeem.\\r\\n \\r\\n Kwame soaks in the Crowd\\'s reaction, until...\\r\\n \\r\\n KWAME TURE\\r\\n Thank you all for coming out tonight,\\r\\n My Beloved Sista\\'s and Brotha\\'s. I\\r\\n Thank you...\\r\\n \\r\\n CLOSE - KWAME TURE\\r\\n \\r\\n towering at Six Feet-Four with an infectious smile and\\r\\n Flawless Dark Skin, he\\'s oozing Charisma out of every pore.\\r\\n He stands behind a small podium.\\r\\n \\r\\n KWAME TURE (CONT\\'D)\\r\\n ...I\\'m here to tell you this evening\\r\\n it is time for you to stop running\\r\\n away from being Black. You are\\r\\n College Students, you should think.\\r\\n KWAME TURE (CONT\\'D)\\r\\n It is time for you to understand that\\r\\n you as The growing Intellectuals of\\r\\n this Country, you must define Beauty\\r\\n for Black People, Now that\\'s Black\\r\\n Power.\\r\\n \\r\\n BLACK MASS\\r\\n BLACK POWER!!! BLACK POWER!!!\\r\\n \\r\\n The Black Students in The Audience are laser focused on him.\\r\\n \\r\\n KWAME TURE\\r\\n Is Beauty defined by someone with a\\r\\n Narrow Nose? Thin Lips? White Skin?\\r\\n You ain\\'t got none of that. If your\\r\\n Lips are Thick, Bite them in. Hold\\r\\n your Nose! Don\\'t drink Coffee because\\r\\n it makes you Black!\\r\\n \\r\\n The Audience laughs! Loving it.\\r\\n \\r\\n KWAME TURE (CONT\\'D)\\r\\n Your Nose is Boss, your Lips are\\r\\n Thick, your skin is Black, you are\\r\\n Black and you are Beautiful!\\r\\n \\r\\n Everyone cheers including Ron!\\r\\n \\r\\n KWAME TURE (CONT\\'D)\\r\\n We want to be like The White people\\r\\n that oppress us in this Country and\\r\\n since they hate us, we hate\\r\\n ourselves. You dig Tarzan? I remember\\r\\n that when I was a Boy I used to go\\r\\n see Tarzan Movies on Saturdays. I\\r\\n loved me some Jane too. Jane was A\\r\\n Fine White Woman. White Tarzan used\\r\\n to Beat up The Black Natives. I would\\r\\n sit there yelling \"Kill The Beasts,\\r\\n Kill The Savages, Kill \\'Em!\" Actually\\r\\n I was saying: \"Kill Me.\" It was as if\\r\\n a Jewish Boy watched Nazis taking\\r\\n Jews off to Concentration Camps and\\r\\n cheered them on. Today, I want The\\r\\n Chief to beat The Hell out of Tarzan\\r\\n and send him back to The Caves of\\r\\n Europe. But it takes time to become\\r\\n Free of The Lies and their shaming\\r\\n effect on Black Minds. It takes time\\r\\n to reject the most Important Lie:\\r\\n that Black People inherently can\\'t do\\r\\n the same things White People can do\\r\\n unless White People help them.\\r\\n The Audience laughing, overwhelmed, shouting back support! A\\r\\n ROAR from The Crowd. Ron finds himself clapping along.\\r\\n \\r\\n RON STALLWORTH\\r\\n Right on!!! Right On!!!\\r\\n \\r\\n Ron looks around at everyone caught up in Kwame\\'s spell.\\r\\n \\r\\n KWAME TURE (CONT\\'D)\\r\\n If a White Man wants to Lynch Me,\\r\\n that\\'s his Problem. If he\\'s got The\\r\\n Power to Lynch Me, that\\'s My Problem.\\r\\n Racism is not a question of Attitude;\\r\\n it\\'s a question of Power.\\r\\n \\r\\n Ron is struck by the remark.\\r\\n \\r\\n KWAME TURE (CONT\\'D)\\r\\n The vast majority of Negroes in this\\r\\n Country live in Captive Communities\\r\\n and must endure their conditions of\\r\\n Oppression because and only because\\r\\n they are Black and Powerless. Now We\\r\\n are being shot down like Dogs in the\\r\\n streets by White Racist Police. We\\r\\n can no longer accept this Oppression\\r\\n without retribution. The War in\\r\\n Vietnam is Illegal and Immoral. I\\'d\\r\\n rather see a Brother Kill a Cop than\\r\\n Kill a Vietnamese. At least he\\'s got\\r\\n a reason for Killing The Cop. When\\r\\n you Kill a Vietnamese you\\'re a Hero\\r\\n and you don\\'t even know why you\\r\\n Killed him. At least if you Kill a\\r\\n Cop you\\'re doing it for a reason.\\r\\n \\r\\n Another Applause Break.\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n Ron listens, challenged, torn.\\r\\n \\r\\n INT. BELL\\'S NIGHTINGALE - NIGHT\\r\\n \\r\\n Kwame holds The Crowd in The Palm of his Hand. Members of the\\r\\n Audience who were sitting already are rising to their Feet...\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n sits, claps vigorously, as if forgetting he is Undercover...\\r\\n \\r\\n CLOSE - KWAME\\r\\n KWAME TURE (CONT\\'D)\\r\\n In closing I know it\\'s getting late,\\r\\n may I leave you Sista\\'s and Brothers\\r\\n with these Last Words. \"If I am not\\r\\n for myself, who will be? If I am for\\r\\n myself alone, who am I? If not now,\\r\\n when? And if not you, who?\" We need\\r\\n an Undying Love for Black People\\r\\n wherever We may be. Good Night and\\r\\n POWER TO THE PEOPLE, POWER TO THE\\r\\n PEOPLE.\\r\\n \\r\\n The BLACK MASS STANDS AS ONE WITH KWAME TURE.\\r\\n \\r\\n KWAME TURE AND BLACK MASS\\r\\n ALL POWER TO ALL THE PEOPLE\\r\\n ALL POWER TO ALL THE PEOPLE\\r\\n ALL POWER TO ALL THE PEOPLE\\r\\n \\r\\n Caught up in the moment, Ron gathers himself, as if\\r\\n remembering why he is here. Kwame takes Patrice\\'s Hand and\\r\\n raises it in Celebration and Unity!\\r\\n \\r\\n INT. BELL\\'S NIGHTINGALE - NIGHT\\r\\n \\r\\n Ron moves down the Greeting Line for Kwame. He watches as\\r\\n Patrice stands near him. Kwame pulls her in close, whispers\\r\\n something in her ear. She smiles, a bit smitten.\\r\\n \\r\\n Ron watches as he finally reaches Kwame, shaking his hand.\\r\\n \\r\\n RON STALLWORTH\\r\\n Brother Ture, do you really think a\\r\\n War between The Black and White Race\\r\\n is inevitable?\\r\\n Kwame pulls Ron in close toward his face. Too close.\\r\\n \\r\\n INT. SURVEILLANCE CAR - BELL\\'S NIGHTINGALE - NIGHT\\r\\n \\r\\n Flip and Jimmy wearing Headphones listening react to ear-\\r\\n splitting Audio feedback.\\r\\n \\r\\n INT. BELL\\'S NIGHTINGALE - NIGHT\\r\\n \\r\\n Ron stands mid-grip with Kwame. Nerves pinballing. Kwame\\r\\n lowers his voice, looking around conspiratorially.\\r\\n \\r\\n KWAME TURE\\r\\n Brother, arm yourself. Get ready.\\r\\n The Revolution is coming. We must\\r\\n pick up a Gun and prepare\\r\\n ourselves...Trust me, it is coming.\\r\\n \\r\\n Kwame pulls back. Returns to his normal speaking voice.\\r\\n KWAME TURE (CONT\\'D)\\r\\n Thank you for your support, Brother.\\r\\n \\r\\n EXT. BELL\\'S NIGHTINGALE - FRONT ENTRANCE - NIGHT\\r\\n \\r\\n Ron is waiting outside as Patrice steps out, followed by\\r\\n Odetta and Hakeem. Ron nears her.\\r\\n \\r\\n RON STALLWORTH\\r\\n I don\\'t know what you have planned\\r\\n now but maybe I could buy you a\\r\\n Drink?\\r\\n \\r\\n PATRICE\\r\\n I\\'m waiting for Brother Kwame, I have\\r\\n to make sure he gets back safely to\\r\\n the Hotel and he\\'s squared away.\\r\\n \\r\\n RON STALLWORTH\\r\\n I can dig it.\\r\\n \\r\\n Ron starts to walk away.\\r\\n \\r\\n PATRICE\\r\\n Maybe, if it\\'s not too late, I\\'ll\\r\\n meet you at The Red Lantern. You know\\r\\n where that is?\\r\\n \\r\\n RON STALLWORTH\\r\\n I do.\\r\\n \\r\\n PATRICE\\r\\n So I\\'ll see you then.\\r\\n \\r\\n RON STALLWORTH\\r\\n Cool. All Power to All The People.\\r\\n \\r\\n INT. RED LANTERN INN - NIGHT\\r\\n \\r\\n Black folks are dancing, getting down. At the bar, Ron looks\\r\\n at his watch having been there a while. He finishes his Rum\\r\\n and Coke with Lime watching the door open but it is not\\r\\n Patrice. He decides to call it a Night, stepping off his\\r\\n stool, paying his Tab to BRO POPE, The Bartender when...\\r\\n \\r\\n PATRICE\\r\\n Sorry I\\'m late...\\r\\n \\r\\n Patrice is right there near him. She flops down on the Bar\\r\\n stool, exhausted, and lights up a Kool Cigarette.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n ...You won\\'t believe what happened.\\r\\n Patrice says to Bro Pope, The BARTENDER.\\r\\n PATRICE (CONT\\'D)\\r\\n Bro Pope, Seven and Seven, please...\\r\\n The Pigs pulled us over.\\r\\n \\r\\n RON STALLWORTH\\r\\n Say what?\\r\\n \\r\\n PATRICE\\r\\n Yeah, they knew Brother Kwame was in\\r\\n Town. Made us get out the Car. Pigs\\r\\n pulled us over for no reason. Total\\r\\n harassment.\\r\\n \\r\\n RON STALLWORTH\\r\\n True?\\r\\n \\r\\n PATRICE\\r\\n Truth. Do Four Dogs have Four\\r\\n Assholes?\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n EXT. COLORADO SPRINGS STREET - NIGHT\\r\\n \\r\\n Patrice\\'s Car is pulled over and a Uniformed Cop gets out his\\r\\n Squad Car revealing Master Patrolman Landers. He instructs\\r\\n them all with his hand on his Revolver.\\r\\n \\r\\n PATRICE (V.O.)(CONT\\'D)\\r\\n We\\'re tired of Police Brutality.\\r\\n We\\'re tired of Police Murdering Black\\r\\n Folks.\\r\\n \\r\\n LANDERS\\r\\n All right everybody out the vehicle.\\r\\n Now!!!\\r\\n \\r\\n Kwame, Patrice, Hakeem, and Odetta climb out of the vehicle.\\r\\n Landers pushes Kwame against the Car.\\r\\n \\r\\n LANDERS (CONT\\'D)\\r\\n I don\\'t wanna see nuthin\\' but Black\\r\\n Asses and Black Elbows. Spread \\'em!!!\\r\\n \\r\\n Kwame, Patrice, Hakeem and Odetta are all Spread Eagle\\r\\n against the Car. Master Patrolman Landers pats them down.\\r\\n Another Police Cruiser pulls up. TWO MORE COPS, SHARPE and\\r\\n CINCER, both White 50\\'s, get out and observe.\\r\\n \\r\\n CLOSE - LANDERS\\r\\n \\r\\n He takes Extra Time patting down Patrice getting some\\r\\n \"Groping\" in for Good Measure.\\r\\n LANDERS (CONT\\'D)\\r\\n Search The Car. I know these Niggers\\r\\n are holding something.\\r\\n \\r\\n Cincer and Sharpe enter Patrice\\'s Car, searching it. Landers\\r\\n turns Kwame around, facing him.\\r\\n \\r\\n LANDERS (CONT\\'D)\\r\\n You that so called Big Shot Panther\\r\\n Nigger aren\\'t you? Heard you was in\\r\\n Town, Stokely.\\r\\n \\r\\n KWAME TURE\\r\\n My Name is Kwame Ture.\\r\\n \\r\\n Landers stares him down for a moment. You think he\\'s gonna\\r\\n slug him but he thinks better. The other Cops go through the\\r\\n Car searching, throwing things around.\\r\\n \\r\\n LANDERS\\r\\n I know you Black Bastards are\\r\\n holding. What you got in there some\\r\\n Weed, Pills, Heroin?\\r\\n \\r\\n Patrice, Kwame, Odetta, and Hakeem and the others just stare\\r\\n back, silent.\\r\\n \\r\\n OFFICER CINCER\\r\\n It\\'s clean.\\r\\n \\r\\n Nothing more to say. Landers gets in Patrice\\'s Face.\\r\\n \\r\\n LANDERS\\r\\n You get this Black Panther outta\\'\\r\\n Colorado Springs before Sunrise. Hear\\r\\n ME??? Or you all go to Jail.\\r\\n \\r\\n CLOSE - KWAME\\r\\n \\r\\n KWAME TURE\\r\\n Black people were Born in Jail.\\r\\n \\r\\n CUT BACK TO:\\r\\n \\r\\n INT. RED LANTERN INN - NIGHT\\r\\n \\r\\n Patrice at the Bar with Ron, he is stunned.\\r\\n \\r\\n RON STALLWORTH\\r\\n Did you see the Officer\\'s names?\\r\\n \\r\\n PATRICE\\r\\n I know I should have but the whole\\r\\n thing was so frightening... I didn\\'t.\\r\\n Bro Pope, The Bartender sets the Drink down. Patrice takes a\\r\\n gulp, her hand shaking. Ron observes.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m sorry.\\r\\n \\r\\n Patrice nods, pulls herself together. Ron looks at her,\\r\\n softly touches her on her back, trying to comfort, thinking\\r\\n to himself, torn in many directions.\\r\\n \\r\\n INT. CSPD - CHIEF BRIDGES\\' OFFICE - DAY\\r\\n \\r\\n CHIEF BRIDGES\\r\\n What was the Room like?\\r\\n \\r\\n RON STALLWORTH\\r\\n Folks were hanging on every word.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Sounds like he had them pretty riled\\r\\n up?\\r\\n \\r\\n RON STALLWORTH\\r\\n But I\\'m not sure that means Black\\r\\n Folks were ready to start a\\r\\n Revolution.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n What makes you think that?\\r\\n \\r\\n RON STALLWORTH\\r\\n Nobody was talking about that. That\\r\\n wasn\\'t the Mood. Everybody was Cool.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n So let me get this straight. He told\\r\\n a Crowd of \"Black Folks\" to get ready\\r\\n for a Race War. That they were going\\r\\n to have to arm themselves and kill\\r\\n Cops. What about that?\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah, he said that but I think that\\r\\n was just talk. You know, Rhetoric.\\r\\n \\r\\n FLIP\\r\\n That\\'s what I thought too.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Thank God, Carmichael has left\\r\\n Colorado Springs.\\r\\n RON STALLWORTH\\r\\n Kwame Ture.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n What?\\r\\n \\r\\n RON STALLWORTH\\r\\n He changed his name from Stokely\\r\\n Carmichael to Kwame Ture.\\r\\n \\r\\n Chief Bridges humored by as if he is suppose to care.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n I don\\'t care if he changed his name\\r\\n to Muhammad Ali, he\\'s still\\r\\n dangerous.\\r\\n \\r\\n Chief Bridges starts to leave the room. Ron decides to say\\r\\n it.\\r\\n \\r\\n RON STALLWORTH\\r\\n Did you hear the Story Patrice told\\r\\n me about how the CSPD pulled over her\\r\\n and Ture?\\r\\n \\r\\n Chief Bridges stops, drinks in the question. Everything goes\\r\\n silent. He then gives Ron a deliberate look.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n No. We didn\\'t hear that.\\r\\n \\r\\n From Chief Bridges\\'s look, Ron knows he did. Jimmy, Flip\\r\\n stare at Ron. A Big White Elephant in the room.\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n Patrice. Isn\\'t she the one from The\\r\\n Black Student Union? They brought Too-\\r\\n Ray in.\\r\\n \\r\\n RON STALLWORTH\\r\\n Kwame Ture, Correct.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n You getting pretty Chummy with her?\\r\\n \\r\\n If Ron pushes it more he knows it will go bad. He drops it.\\r\\n \\r\\n RON STALLWORTH\\r\\n Just doing my job, Chief. Undercover.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Yeah and it better not be Under the\\r\\n Cover Of The Sheets.\\r\\n \\r\\n Flip and Jimmy chuckle.\\r\\n RON STALLWORTH\\r\\n I would never jeopardize a Case...\\r\\n \\r\\n CHIEF BRIDGES\\r\\n ... you don\\'t know what you would do,\\r\\n you just got here.\\r\\n \\r\\n Ron takes this in. Dejected.\\r\\n \\r\\n FLIP\\r\\n Good work.\\r\\n \\r\\n JIMMY\\r\\n Rookie.\\r\\n \\r\\n Ron nods, appreciative.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Ron, let\\'s take a walk.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n INT. HALLWAY - CSPD - DAY\\r\\n \\r\\n Chief Bridges and Ron walk down the hall.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n I\\'m transferring you into\\r\\n Intelligence.\\r\\n \\r\\n RON STALLWORTH\\r\\n What will I be doing, Chief?\\r\\n \\r\\n Chief Bridges stops and looks at him.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Intelligence.\\r\\n Chief Bridges walks off. Ron stands there,Jacked!!!\\r\\n \\r\\n OMITTED\\r\\n \\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n Ron at his desk in The Intelligence Office in Street Clothing\\r\\n among his COLLEAGUES. He sips Lipton Tea with Honey and\\r\\n looking through various Publications. He then picks up The\\r\\n Colorado Springs Gazette Newspaper.\\r\\n \\r\\n CLOSE - Classifieds section of the Newspaper. In the bottom\\r\\n right corner, in small print:\\r\\n \\r\\n CLOSER - Ku Klux Klan - For Information, Contact 745-1209\\r\\n Ron thinks a moment. Then grabs the phone. Dials.\\r\\n After a few Rings, a Pre-Recorded Message Pops On:\\r\\n \\r\\n PRE-RECORDED MESSAGE\\r\\n You have reached The Colorado State\\r\\n Chapter of The Ku Klux Klan. Please\\r\\n leave a message... God Bless White\\r\\n America.\\r\\n \\r\\n There\\'s a BEEP...\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n RON STALLWORTH\\r\\n Hello, this is Ron Stallworth\\r\\n calling. Saw your Advertisement in\\r\\n The Colorado Springs Gazette. I\\'m\\r\\n interested in receiving some Reading\\r\\n Materials. My Phone Number is 403-\\r\\n 9994. Looking forward to you\\r\\n returning my call. God Bless White\\r\\n America.\\r\\n \\r\\n ANGLE - ROOM\\r\\n \\r\\n Ron hangs up.\\r\\n \\r\\n Flip at another Desk spins around looking at Ron like he has\\r\\n 3 Heads.\\r\\n \\r\\n FLIP\\r\\n Did I just hear you use your Real\\r\\n Name?\\r\\n \\r\\n RON STALLWORTH\\r\\n Motherfucker!!!\\r\\n \\r\\n JIMMY\\r\\n Yeah, Motherfuckin\\' Amateur Hour.\\r\\n What were you thinkin\\'?\\r\\n \\r\\n RING!!! RING!!! Ron\\'s Phone. Flip and Ron stare at it. Flip\\r\\n gestures to answer it.\\r\\n \\r\\n RON STALLWORTH\\r\\n I wasn\\'t.\\r\\n \\r\\n FLIP\\r\\n You dialed. Pick it up.\\r\\n \\r\\n RING! RING! Ron looks at the ringing phone.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n PICK IT UP!!!\\r\\n RON STALLWORTH\\r\\n This is Ron Stallworth.\\r\\n \\r\\n Through the Receiver, a Gravelly, Secretive Voice.\\r\\n \\r\\n WALTER BREACHWAY (O.S.)\\r\\n This is Walter. Returning your\\r\\n call... From The Organization.\\r\\n \\r\\n RON STALLWORTH\\r\\n The Organization?\\r\\n \\r\\n WALTER BREACHWAY(O.S.)\\r\\n Yes. Well we appreciate your\\r\\n interest. So what is your Story, Ron?\\r\\n \\r\\n Ron looks around. Shrugs. Might as well do it...\\r\\n \\r\\n RON STALLWORTH\\r\\n Since you asked- I Hate Niggers,\\r\\n Jews, Mexicans, Spics, Chinks but\\r\\n especially those Niggers and anyone\\r\\n else that does not have pure White\\r\\n Aryan Blood running through their\\r\\n Veins.\\r\\n \\r\\n All Heads in the Unit turn toward Ron.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n In fact, my Sister, Pamela, was\\r\\n recently accosted by a Nigger...\\r\\n \\r\\n Ron is snarling now, every ounce of his Voice projecting\\r\\n White Supremacist Hate. He is utterly convincing.\\r\\n \\r\\n WALTER BREACHWAY (O.S.)\\r\\n ...Is that so?\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Every time I think about that\\r\\n Black Baboon putting his Filthy Black\\r\\n Hands on her White as Pure Driven\\r\\n Snow Body I wanna Puke!!!\\r\\n \\r\\n Silence on the other end of The Line.\\r\\n \\r\\n WALTER BREACHWAY(O.S.)\\r\\n You\\'re just the kind of Guy we\\'re\\r\\n looking for. Ron, when can we meet?\\r\\n \\r\\n Flip, Jimmy and all the other White Undercover Cops are\\r\\n Rolling their Eyes. Stepping away, shaking their heads. Some\\r\\n wanting to laugh but DON\\'T.\\r\\n RON STALLWORTH\\r\\n How about Friday night? After I get\\r\\n off work?\\r\\n \\r\\n The other Cops are losing their minds, Quietly.\\r\\n \\r\\n WALTER BREACHWAY(O.S.)\\r\\n Deal! I\\'ll get back to you with\\r\\n details. Take care, Buddy Boy.\\r\\n \\r\\n RON STALLWORTH\\r\\n Looking forward to meeting you.\\r\\n \\r\\n Ron looks around. Everyone in the Unit is standing around his\\r\\n desk. All White Faces. Looking on, astonished.\\r\\n \\r\\n FLIP\\r\\n Good Luck Ron with your New Redneck\\r\\n Friend.\\r\\n \\r\\n The Undercover Gang Cracks Up!\\r\\n \\r\\n INT. SERGEANT TRAPP\\'S OFFICE - CSPD - DAY\\r\\n \\r\\n Ron is facing Sergeant Trapp, who sits at his desk, Jaw hung\\r\\n slightly open.\\r\\n \\r\\n SGT. TRAPP\\r\\n They want you to join The Klan?\\r\\n \\r\\n RON STALLWORTH\\r\\n Well... they want to meet me First.\\r\\n \\r\\n SGT. TRAPP\\r\\n They want to meet you?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'ll need another Undercover to go in\\r\\n my place.\\r\\n \\r\\n SGT. TRAPP\\r\\n Yeah... you probably shouldn\\'t go to\\r\\n that meeting.\\r\\n \\r\\n RON STALLWORTH\\r\\n You think?\\r\\n \\r\\n Everyone has a Chuckle.\\r\\n \\r\\n SGT. TRAPP\\r\\n We\\'d have to go to Narcotics. Meaning\\r\\n we\\'d have to deal with Bridges.\\r\\n \\r\\n RON STALLWORTH\\r\\n Damn.\\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n \\r\\n INT. OFFICE OF THE CHIEF OF POLICE - DAY\\r\\n \\r\\n A spacious office, its walls brimming with Books. Chief\\r\\n Bridges sits behind a wooden desk, his gaze thoughtful.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n I can\\'t spare any Men.\\r\\n \\r\\n SGT. TRAPP\\r\\n I\\'ve looked over the Logs and it\\r\\n seems you can spare them.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Sgt. Trapp, Ron spoke to the Man on\\r\\n the phone. When they hear the Voice\\r\\n of one of my Guys, they\\'ll know the\\r\\n difference.\\r\\n \\r\\n RON STALLWORTH\\r\\n Why so, Chief?\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Want me to spell it out? He\\'ll know\\r\\n the difference between how a White\\r\\n Man talks and a Negro.\\r\\n \\r\\n RON STALLWORTH\\r\\n What does a Black Man talk like?\\r\\n \\r\\n Silence.\\r\\n \\r\\n SGT. TRAPP\\r\\n Ron, I think what The Chief is trying\\r\\n to say is...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...If you don\\'t mind, I\\'d like to\\r\\n talk for myself, Thank You. How\\r\\n exactly does a Black Man talk?\\r\\n \\r\\n CHIEF BRIDGES\\r\\n You know... YOU KNOW!!!\\r\\n \\r\\n RON STALLWORTH\\r\\n Chief, some of us can speak King\\'s\\r\\n English and Jive. I happen to be\\r\\n fluent in both.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Ron, how do you propose to make this\\r\\n Investigation?\\r\\n RON STALLWORTH\\r\\n I have established contact and\\r\\n created some familiarity with The\\r\\n Klansmen over the phone. I will\\r\\n continue that role but another\\r\\n Officer, a White Officer, will play\\r\\n Me when they meet Face to Face.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n ...My Point Exactly!!!...\\r\\n \\r\\n Ron continues talking to Chief Bridges.\\r\\n \\r\\n RON STALLWORTH\\r\\n Black Ron Stallworth on The phone and\\r\\n White Ron Stallworth Face to Face, so\\r\\n there becomes a combined Ron\\r\\n Stallworth.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Can you do that?\\r\\n \\r\\n RON STALLWORTH\\r\\n I believe we can... With The Right\\r\\n White Man.\\r\\n \\r\\n INT. HALLWAY - CSPD - DAY\\r\\n \\r\\n Ron steps outside and Chief BRIDGES follows him.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n If anything happens to my Man there\\r\\n won\\'t be Two Ron Stallworths.\\r\\n There\\'ll be none.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - MORNING\\r\\n \\r\\n Ron walks in on Flip and Jimmy looking at him.\\r\\n \\r\\n FLIP\\r\\n You\\'re late.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m sorry. It won\\'t happen again.\\r\\n \\r\\n JIMMY\\r\\n I heard that somewhere before.\\r\\n \\r\\n FLIP\\r\\n Hey, Jimmy when\\'s the last time they\\r\\n let a Rookie head up an\\r\\n Investigation. Oh that\\'s right,\\r\\n NEVER.\\r\\n \\r\\n Ron ignores the slight.\\r\\n RON STALLWORTH\\r\\n Can we move on to the Bio, please.\\r\\n FLIP\\r\\n ... Ron Stallworth. I do Wholesale\\r\\n Manufacturing.\\r\\n \\r\\n RON STALLWORTH\\r\\n Whereabout?\\r\\n \\r\\n Flip sighs.\\r\\n \\r\\n FLIP\\r\\n Pueblo.\\r\\n \\r\\n JIMMY\\r\\n What\\'s that commute like?\\r\\n \\r\\n FLIP\\r\\n Jimmy, I\\'m glad you asked, straight-\\r\\n shot down I-25. Hour tops.\\r\\n \\r\\n JIMMY\\r\\n Long ride.\\r\\n \\r\\n FLIP\\r\\n What do we listen to?\\r\\n \\r\\n RON STALLWORTH\\r\\n KWYD. Christian Talk in The Morning,\\r\\n although the Signal starts to cut out\\r\\n near Pueblo. On the way back I go for\\r\\n 102.7 to get my Allman Brothers Fix.\\r\\n Only I have to change every time that\\r\\n British Fag David Bowie pipes on.\\r\\n \\r\\n JIMMY\\r\\n I love Bowie.\\r\\n \\r\\n RON STALLWORTH\\r\\n Remember you\\'ve got to retain the\\r\\n details of what you share with them\\r\\n so I can be White Ron Stallworth.\\r\\n \\r\\n FLIP\\r\\n Jimmy, I always wanted to grow up to\\r\\n be Black, all my Heroes were Black\\r\\n Guys. Willie Mays...\\r\\n \\r\\n JIMMY\\r\\n Basket catch.\\r\\n \\r\\n FLIP\\r\\n Wilt The Stilt...\\r\\n \\r\\n JIMMY\\r\\n A record hundred points in the game.\\r\\n FLIP\\r\\n But my favorite is O.J.\\r\\n \\r\\n JIMMY\\r\\n Love Fuckin\\' O.J. Orenthal James\\r\\n Simpson.\\r\\n \\r\\n RON STALLWORTH\\r\\n Well, don\\'t share your Love of The\\r\\n Brothers with these Guys. For you,\\r\\n it\\'s The Osmonds.\\r\\n \\r\\n FLIP\\r\\n I get to play you but you don\\'t get\\r\\n to play me. Jimmy, does that sound\\r\\n fair?\\r\\n \\r\\n JIMMY\\r\\n Not to me.\\r\\n RON STALLWORTH\\r\\n Fair? I get to play you and Jimmy and\\r\\n all the other guys in the Station...\\r\\n Everyday.\\r\\n \\r\\n Flip doesn\\'t understand, he looks at Jimmy. Both befuddled.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Who are you meeting?\\r\\n \\r\\n FLIP\\r\\n Walter Breachway.\\r\\n \\r\\n RON STALLWORTH\\r\\n Become Walter\\'s Friend, get invited\\r\\n back.\\r\\n \\r\\n FLIP\\r\\n Look at you. Is that it, Sir?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m on the phone with The Klan, You\\r\\n see them in person...\\r\\n \\r\\n FLIP\\r\\n ...And...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...And you need to sound like my\\r\\n voice.\\r\\n \\r\\n JIMMY\\r\\n Oh Boy.\\r\\n \\r\\n RON STALLWORTH\\r\\n Just repeat after me.\\r\\n \\r\\n Ron hands out a piece of paper to Flip and Jimmy.\\r\\n \\r\\n FLIP\\r\\n The Godfather.\\r\\n \\r\\n CLOSE - RON STALLWORTH\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Look a\\'here, some people say we got a\\r\\n lot of malice. Some say it\\'s a lotta\\r\\n nerve.\\r\\n \\r\\n CLOSE - FLIP\\r\\n \\r\\n FLIP\\r\\n Look a\\'here, some people say we got a\\r\\n lot of malice. Some say it\\'s a lotta\\r\\n nerve.\\r\\n CLOSE - RON STALLWORTH\\r\\n \\r\\n RON STALLWORTH\\r\\n I saw we won\\'t quit moving \\'Til we\\r\\n get what we deserve.\\r\\n \\r\\n CLOSE - FLIP\\r\\n \\r\\n FLIP\\r\\n I saw we won\\'t quit moving \\'Til we\\r\\n get what we deserve.\\r\\n \\r\\n CLOSE - RON STALLWORTH\\r\\n \\r\\n RON STALLWORTH\\r\\n We\\'ve been buked and we\\'ve been\\r\\n scorned. We\\'ve been treated bad,\\r\\n talked about.\\r\\n \\r\\n CLOSE - FLIP\\r\\n \\r\\n FLIP\\r\\n We\\'ve been buked and we\\'ve been\\r\\n scorned. We\\'ve been treated bad,\\r\\n talked about.\\r\\n \\r\\n TWO-SHOT - RON STALLWORTH AND FLIP\\r\\n \\r\\n RON STALLWORTH\\r\\n As Just as sure as you\\'re born But\\r\\n just as sure as it take.\\r\\n \\r\\n FLIP\\r\\n As Just as sure as you\\'re born But\\r\\n just as sure as it take.\\r\\n \\r\\n RON STALLWORTH\\r\\n Two eyes to make a pair, huh.\\r\\n \\r\\n FLIP\\r\\n Two eyes to make a pair, huh.\\r\\n \\r\\n RON STALLWORTH\\r\\n Brother, we can\\'t quit until we get\\r\\n our share.\\r\\n \\r\\n FLIP\\r\\n Brother, we can\\'t quit until we get\\r\\n our share.\\r\\n \\r\\n RON STALLWORTH\\r\\n Say it loud. I\\'m Black and I\\'m proud.\\r\\n \\r\\n FLIP\\r\\n Say it loud. I\\'m Black and I\\'m proud.\\r\\n RON STALLWORTH\\r\\n Jimmy, join us.\\r\\n \\r\\n THREE-SHOT - RON STALLWORTH, FLIP AND JIMMY\\r\\n \\r\\n RON STALLWORTH, FLIP AND JIMMY\\r\\n Say it loud. I\\'m Black and I\\'m proud.\\r\\n Say it loud. I\\'m Black and I\\'m proud.\\r\\n \\r\\n All 3 Fall OUT - DIE LAUGHING.\\r\\n \\r\\n JIMMY\\r\\n Don\\'t forget to lose that Star of\\r\\n David around your neck.\\r\\n \\r\\n Ron shoots Flip a look.\\r\\n \\r\\n RON STALLWORTH\\r\\n You\\'re Jewish?\\r\\n \\r\\n EXT. KWIK INN DINER - PARKING LOT - NIGHT\\r\\n \\r\\n Ron and Jimmy sit in an Unmarked Car. Several yards away,\\r\\n Flip stands in The Lot, leaning up against a Pick Up Truck.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n Ron watches through Binoculars as a Beat-Up, Ivory-colored\\r\\n Pickup Truck pulls in.\\r\\n \\r\\n BINOCULARS POV: from the Truck\\'s license plate to a\\r\\n Confederate Flag Bumper Sticker that reads WHITE POWER.\\r\\n \\r\\n RON STALLWORTH\\r\\n It\\'s Walter.\\r\\n Ron writes down The Truck\\'s Plate\\r\\n \\r\\n Number: CLOSE - KE-4108.\\r\\n EXT. KWIK INN DINER - PARKING LOT - NIGHT\\r\\n \\r\\n A White Male, FELIX, 30\\'s, steps out of The Pickup Truck. He\\r\\n wears Corduroy Pants, Uncombed Hair to his Neck and a Fu\\r\\n Manchu. He pulls on a cigarette.\\r\\n \\r\\n FELIX\\r\\n Ron Stallworth?\\r\\n FLIP\\r\\n That\\'s me. And you must be Walter.\\r\\n \\r\\n FELIX\\r\\n Name\\'s Felix.\\r\\n \\r\\n FLIP\\r\\n I was told I\\'d be meeting with Walter\\r\\n Breachway.\\r\\n \\r\\n FELIX\\r\\n Change of plans, Mack. I\\'m gonna need\\r\\n you to hop in The Pickup.\\r\\n \\r\\n Even with his slouched shoulders, Felix towers over Flip.\\r\\n \\r\\n FLIP\\r\\n Okay, well how about I just follow\\r\\n you...\\r\\n \\r\\n FELIX\\r\\n ...No Can Do. You come with me.\\r\\n Security.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n Ron and Jimmy each wear Headphones, listening in. They look\\r\\n at each other...\\r\\n \\r\\n EXT. KWIK INN DINER - PARKING LOT - NIGHT\\r\\n \\r\\n Flip glances in the direction of Ron\\'s Car, then pulls open\\r\\n the rusty passenger door of Felix\\'s Pickup.\\r\\n \\r\\n EXT. HIGHWAY - NIGHT\\r\\n \\r\\n The Pickup flies past. Ron and Jimmy are behind and gaining.\\r\\n \\r\\n INT. FELIX\\'S TRUCK - NIGHT\\r\\n \\r\\n Felix adjusts his Rear-View Mirror. Eyes it suspiciously.\\r\\n \\r\\n FELIX\\r\\n You for The White Race, Ron?\\r\\n \\r\\n FLIP\\r\\n Hell Yeah!!! Been having some trouble\\r\\n lately with these Local Niggers.\\r\\n \\r\\n FELIX\\r\\n Since The Civil War it\\'s always\\r\\n trouble with Niggers.\\r\\n Walter said something about your\\r\\n Sister?\\r\\n FLIP\\r\\n Makes me Sick.\\r\\n \\r\\n EXT. HIGHWAY - NIGHT\\r\\n \\r\\n The Pickup speeds up, increasing the distance between the Two\\r\\n vehicles. Ron\\'s car accelerates.\\r\\n \\r\\n INT. FELIX\\'S TRUCK - NIGHT\\r\\n \\r\\n Flip eyes Ron\\'s Car in the Side-View mirror.\\r\\n \\r\\n FLIP\\r\\n But it\\'s also the, like, camaraderie\\r\\n I\\'m looking for...with The Klan.\\r\\n \\r\\n FELIX\\r\\n Da Fuck did you say?\\r\\n \\r\\n FLIP\\r\\n Camaraderie...?\\r\\n \\r\\n FELIX\\r\\n No. The other word.\\r\\n \\r\\n FLIP\\r\\n The Klan...?\\r\\n \\r\\n FELIX\\r\\n ...Not \"The Klan.\" It\\'s The\\r\\n Organization. The Invisible Empire\\r\\n has managed to stay Invisible for a\\r\\n reason. Do Not Ever Use That Word.\\r\\n You understand?\\r\\n \\r\\n FLIP\\r\\n I overstand... Right. The\\r\\n Organization.\\r\\n \\r\\n An uncomfortable silence. Felix leers into the Rear-View\\r\\n mirror.\\r\\n \\r\\n FELIX\\r\\n Check this Shit out... you\\'re never\\r\\n gonna believe it.\\r\\n \\r\\n FLIP\\r\\n What?\\r\\n \\r\\n FELIX\\r\\n There\\'s a Jig on our Bumper.\\r\\n \\r\\n Flip Freezes.\\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n JIMMY\\r\\n He sees us. Back Off.\\r\\n Ron eases on the Gas.\\r\\n \\r\\n INT. FELIX\\'S TRUCK - NIGHT\\r\\n \\r\\n One hand on The Steering Wheel, Felix opens The Glove\\r\\n compartment in front of Flip\\'s knees and grabs a Box of\\r\\n Ammunition.\\r\\n \\r\\n FELIX\\r\\n Let\\'s be ready, case we gotta go and\\r\\n shoot us A Alabama Porch Monkey.\\r\\n \\r\\n He tosses The Box onto Flip\\'s lap.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Look under your seat. Pull it out.\\r\\n \\r\\n FLIP\\r\\n Pull out what?\\r\\n \\r\\n Felix snaps his finger at Flip, who jumps.\\r\\n \\r\\n FELIX\\r\\n Under the seat!!!\\r\\n \\r\\n Flip reaches to his Feet. Pulls out a SAWED-OFF SHOTGUN.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Load \\'er up. One in The Chamber.\\r\\n \\r\\n Flip is hesitant.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Load it!!!\\r\\n \\r\\n Flip dutifully opens up The Box. Pulls out a Shell. Loads it\\r\\n into The Chamber and pulls the action forward.\\r\\n \\r\\n FLIP\\r\\n Ready to go.\\r\\n \\r\\n Felix eyes The Rear-View Mirror again. Ron\\'s Car has drifted\\r\\n much farther back. Felix puffs away at his Cigarette.\\r\\n \\r\\n FELIX\\r\\n That\\'s right, Porch Monkey. Don\\'t be\\r\\n Messin\\' with us...\\r\\n \\r\\n FLIP\\r\\n ...The Organization.\\r\\n FELIX\\r\\n Not so fast, Buddy Boy.\\r\\n \\r\\n EXT. CORNER POCKET LOUNGE - PARKING LOT - NIGHT\\r\\n \\r\\n Felix\\'s Pickup turns into The parking lot of A Confederate\\r\\n Bar.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n Eyeing The Truck, Ron and Jimmy breathe a sigh of relief.\\r\\n \\r\\n RON STALLWORTH\\r\\n Just a Bar.\\r\\n \\r\\n Ron drives past the lot.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Think he got a good look at My Face?\\r\\n \\r\\n JIMMY\\r\\n Probably.\\r\\n \\r\\n INT. CORNER POCKET LOUNGE - NIGHT\\r\\n \\r\\n A Cramped and Unfriendly Dive. LOW-LIFES mill about. The Air\\r\\n filled with Dense Smoke. Pool Balls CRACK-SMACK.\\r\\n \\r\\n Felix leads Flip to The Bar Area, where WALTER BREACHWAY,\\r\\n White Male, 30\\'s, stands. Walter is affable by nature, Short\\r\\n and Stocky, with a Crew Cut and small Mustache.\\r\\n \\r\\n WALTER\\r\\n Ron. Glad you could make it. Walter\\r\\n Breachway, Chapter President.\\r\\n \\r\\n They shake hands.\\r\\n \\r\\n FLIP\\r\\n I appreciate you inviting me out.\\r\\n \\r\\n Felix lingers like a Bad Smell. Beside him a Drunk Man,\\r\\n IVANHOE 20\\'s, gives Flip The Stink Eye.\\r\\n \\r\\n WALTER\\r\\n I\\'ve been impressed with our phone\\r\\n conversations. I feel you have some\\r\\n fine ideas that could help The Cause.\\r\\n \\r\\n FLIP\\r\\n I meant every word I said.\\r\\n \\r\\n Flip\\'s a Natural.\\r\\n WALTER\\r\\n How \\'bout some pool?\\r\\n \\r\\n Ivanhoe hands Flip a Pool Stick and gathers the Balls.\\r\\n \\r\\n WALTER (CONT\\'D)\\r\\n I\\'ve had my own share of Run-Ins with\\r\\n Niggers. Matter of fact, it\\'s part of\\r\\n what led me to The Organization.\\r\\n \\r\\n FLIP\\r\\n That right?\\r\\n \\r\\n WALTER\\r\\n It became my salvation. After I was\\r\\n shot and wounded by some Niggers. My\\r\\n Wife... Savagely Raped by a whole\\r\\n Pack of \\'EM, and not a one went to\\r\\n Jail.\\r\\n \\r\\n Flip nods, expertly feigning sympathy.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n Ron and Jimmy each wear Headphones, listening in.\\r\\n \\r\\n JIMMY\\r\\n Never happened.\\r\\n Ron cracks a smile.\\r\\n \\r\\n INT. CORNER POCKET LOUNGE - NIGHT\\r\\n \\r\\n Walter and Flip continue to play pool.\\r\\n \\r\\n WALTER\\r\\n They\\'re taking over. That\\'s all you\\r\\n see on the TV Anymore. Niggers.\\r\\n Niggers selling Soap, Niggers selling\\r\\n Automobiles, Niggers selling\\r\\n Toothpaste, Niggers, Niggers,\\r\\n Niggers.\\r\\n \\r\\n IVANHOE\\r\\n Wasn\\'t long ago them Sumbitches\\r\\n wasn\\'t on no TV.\\r\\n \\r\\n WALTER\\r\\n You forgetting Uncle Ben and Aunt\\r\\n Jemima.\\r\\n \\r\\n IVANHOE\\r\\n Dang!!! You know, I gotta say I kinda\\r\\n like dem\\' Niggers...Rice and\\r\\n Pancakes.\\r\\n Ivanhoe shakes hands with Flip.\\r\\n IVANHOE (CONT\\'D)\\r\\n Name\\'s Ivanhoe, by the way.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n RON STALLWORTH\\r\\n Mad at Sanford and Son and Flip\\r\\n Wilson.\\r\\n \\r\\n INT. CORNER POCKET LOUNGE - NIGHT\\r\\n \\r\\n WALTER\\r\\n All you get now is how we gotta\\'\\r\\n cater to them. We gotta\\' get us some\\r\\n \"Minorities\". Watch ya\\' mouth, don\\'t\\r\\n say this, don\\'t say that, be nice,\\r\\n they\\'re not Colored...\\r\\n \\r\\n FELIX\\r\\n Negros...\\r\\n \\r\\n IVANHOE\\r\\n ...Blacks...\\r\\n \\r\\n WALTER\\r\\n ...Afro-Americans...\\r\\n \\r\\n FLIP\\r\\n ...FUCK. How \\'bout just Fuckin\\'?\\r\\n Niggers. Make it Fuckin\\' simple.\\r\\n \\r\\n ALL\\r\\n NIGGERS!!!\\r\\n \\r\\n FLIP\\r\\n I been saying this stuff for years.\\r\\n \\r\\n FELIX\\r\\n You ain\\'t the only one.\\r\\n \\r\\n FLIP\\r\\n You don\\'t know how good it is to hear\\r\\n someone that gets it.\\r\\n \\r\\n Flip looks around. Gets quiet.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n What kinda stuff you Guys do?\\r\\n \\r\\n Ivanhoe swigs his Beer.\\r\\n \\r\\n IVANHOE\\r\\n You know, Cross burnings. Marches and\\r\\n stuff so people don\\'t Fuck wit\\' us.\\r\\n FLIP\\r\\n I\\'m tired of people Fuckin\\' with me.\\r\\n \\r\\n WALTER\\r\\n You come to the right place cuz\\'\\r\\n Nobody Fucks with us. How much you\\r\\n know about The History?\\r\\n \\r\\n FLIP\\r\\n Some...I could know more.\\r\\n \\r\\n WALTER\\r\\n We\\'ll teach you.\\r\\n \\r\\n IVANHOE\\r\\n This year\\'s gonna be big for us.\\r\\n \\r\\n FLIP\\r\\n How so?\\r\\n \\r\\n Ivanhoe moves in closer. Balls his hand in a fist, then opens\\r\\n it quickly.\\r\\n \\r\\n IVANHOE\\r\\n BOOM!!! We\\'re gonna make Fireworks,\\r\\n yes we are...\\r\\n \\r\\n Walter swoops in.\\r\\n \\r\\n WALTER\\r\\n ...Ivanhoe talking nonsense again.\\r\\n Kid can\\'t hold his Beer fer Shit. The\\r\\n Organization is strictly Non-\\r\\n Violent...\\r\\n \\r\\n IVANHOE \\r\\n ...Like dat Dead Nigger Martin Luther\\r\\n Coon.\\r\\n \\r\\n FLIP\\r\\n Gotcha.\\r\\n \\r\\n Flip looks down at his Shirt -- the Top Button has flapped\\r\\n off again. The next button would mean The End. CURTAINS.\\r\\n \\r\\n He quickly buttons it. Then...\\r\\n \\r\\n WALTER\\r\\n Say, Ron? Mind coming with me?\\r\\n \\r\\n FLIP\\r\\n Where to?\\r\\n FELIX\\r\\n You Undercover or something? You ask\\r\\n too many questions. Let\\'s GO!!!\\r\\n \\r\\n Behind Walter, Felix is Laser-Focused on Flip\\'s every move.\\r\\n Flip sees it. Walter points to a door. Flip walks forward,\\r\\n with Walter, Ivanhoe, and Felix tailing from behind.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n JIMMY\\r\\n Where they going?\\r\\n \\r\\n Ron\\'s Face falls.\\r\\n \\r\\n RON STALLWORTH\\r\\n Lost the damn signal.\\r\\n \\r\\n INT. BACK ROOM - CORNER POCKET LOUNGE -NIGHT\\r\\n \\r\\n The Men move single-file through the door, Flip first. It\\'s a\\r\\n small room, with a wooden table and some rickety chairs. A\\r\\n lone white light bulb hangs from above.\\r\\n \\r\\n WALTER\\r\\n Congrats you passed The Mustard.\\r\\n \\r\\n Walter exchanges uneasy looks with Felix.\\r\\n \\r\\n WALTER (CONT\\'D)\\r\\n Thought we\\'d get the Membership\\r\\n process started.\\r\\n \\r\\n Flip can breathe again.\\r\\n \\r\\n FLIP\\r\\n Now we\\'re talkin\\'.\\r\\n \\r\\n Walter hands Flip a stack of papers.\\r\\n \\r\\n WALTER\\r\\n Fill these out and Mail \\'em to The\\r\\n National Headquarters. Once they send\\r\\n your Membership Card, you\\'ll be able\\r\\n to participate in our Programs.\\r\\n \\r\\n Flip sings The Alcoa Jingle.\\r\\n \\r\\n FLIP\\r\\n Alcoa Can\\'t wait.\\r\\n \\r\\n IVANHOE\\r\\n I like those Commercials.\\r\\n WALTER\\r\\n Imperial Tax to become a Member: Ten\\r\\n Dollars for The Year. Fifteen Dollar\\r\\n Chapter Fee. Robes and Hoods not\\r\\n included, that\\'s Extra.\\r\\n \\r\\n FELIX\\r\\n Fuckin\\' Inflation.\\r\\n \\r\\n Flip shakes hands with all.\\r\\n \\r\\n FLIP\\r\\n I can\\'t thank you Brothers enough.\\r\\n \\r\\n WALTER\\r\\n Pleasure, is all ours.\\r\\n \\r\\n Felix and Ivanhoe give polite nods.\\r\\n \\r\\n WALTER (CONT\\'D)\\r\\n I\\'ll take you back to your Car.\\r\\n \\r\\n As Flip turns to leave...\\r\\n \\r\\n FELIX\\r\\n You\\'re not a Jew, right?\\r\\n \\r\\n Flip stops.\\r\\n \\r\\n FLIP\\r\\n You trying to offend me?\\r\\n \\r\\n Flip turns to Walter: you believe this Shit?\\r\\n \\r\\n FELIX\\r\\n It\\'s Protocol.\\r\\n \\r\\n All eyes on Flip. His face flares with rage.\\r\\n \\r\\n FLIP\\r\\n \\'Course I\\'m no Stinkin\\' Kike.\\r\\n \\r\\n WALTER\\r\\n We gotta ask it, is all. I\\'m\\r\\n satisfied. How about you Guys?\\r\\n \\r\\n Ivanhoe nods. Felix just stares.\\r\\n \\r\\n FELIX\\r\\n Smells Kosher to me.\\r\\n \\r\\n FLIP\\r\\n Stop fuckin\\' \\'round.\\r\\n WALTER\\r\\n Felix, cut it out.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - NIGHT\\r\\n \\r\\n Ron helps Flip rip The Wire off his Chest.\\r\\n \\r\\n FLIP\\r\\n You have me dressed like one of\\r\\n the Beverly Hillbillies for\\r\\n Chrissakes. I felt too Redneck for\\r\\n those Guys.\\r\\n \\r\\n RON STALLWORTH\\r\\n They liked you.\\r\\n \\r\\n FLIP\\r\\n Except for that Felix Guy. Do not\\r\\n ride his Bumper like that! Two car\\r\\n lengths!\\r\\n \\r\\n RON STALLWORTH\\r\\n You got The Papers? They want you to\\r\\n join.\\r\\n \\r\\n FLIP\\r\\n Technically they want you to join.\\r\\n \\r\\n RON STALLWORTH\\r\\n They want a Black Man to join The Ku\\r\\n Klux Klan. I\\'d call that Mission\\r\\n Impossible. Double Success.\\r\\n \\r\\n INT. SERGEANT TRAPP\\'S OFFICE - CSPD - DAY\\r\\n \\r\\n Sgt. Trapp sits at his desk, thumbing through The Report. Ron\\r\\n and Flip stand across from him.\\r\\n \\r\\n SGT. TRAPP\\r\\n And exactly how much should we be\\r\\n worrying about them?\\r\\n \\r\\n RON STALLWORTH\\r\\n Enough that we\\'d like to dig deeper.\\r\\n One of the Men discussed plans for a\\r\\n possible Attack...\\r\\n \\r\\n FLIP\\r\\n ...I wouldn\\'t give him that much\\r\\n credit. These Yahoos like to Boast.\\r\\n \\r\\n SGT. TRAPP\\r\\n What kind of Attack?\\r\\n \\r\\n Ron looks to Flip.\\r\\n FLIP\\r\\n Ivanhoe said \"BOOM\", mentioned\\r\\n something about Fireworks.\\r\\n Personally, I didn\\'t buy it. Doubt\\r\\n they\\'re even capable.\\r\\n \\r\\n Sgt. Trapp bridges his hands together, contemplating.\\r\\n \\r\\n RON STALLWORTH\\r\\n Either way, we\\'re looking for full\\r\\n support from The Department.\\r\\n \\r\\n SGT. TRAPP\\r\\n We\\'re moving on with the\\r\\n Investigation.\\r\\n \\r\\n Ron just stares at Trapp.\\r\\n \\r\\n INT. ITALIAN BISTRO - NIGHT\\r\\n \\r\\n Ron and Patrice seated across from each other, already\\r\\n eating. Patrice\\'s attire more lax, but still in her Black\\r\\n Leather Jacket.\\r\\n \\r\\n PATRICE\\r\\n The next day when we dropped Brother\\r\\n Kwame off at the Airport he told me\\r\\n The Black Power Movement needed\\r\\n Strong Sistah\\'s like me to lead the\\r\\n fight against Capitalist oppression\\r\\n and The Politicians and Pigs who\\r\\n perpetuate it. His words almost made\\r\\n that whole Pig Nightmare worth\\r\\n while...\\r\\n \\r\\n Ron goes Mute.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n ...What\\'s wrong?\\r\\n \\r\\n RON STALLWORTH\\r\\n I don\\'t really use that word.\\r\\n \\r\\n PATRICE\\r\\n What word?\\r\\n \\r\\n RON STALLWORTH\\r\\n Pigs.\\r\\n \\r\\n PATRICE\\r\\n What else would you call them?\\r\\n \\r\\n RON STALLWORTH\\r\\n Cops... Police...\\r\\n PATRICE\\r\\n Bunch of Racist Cops on a Power Trip.\\r\\n \\r\\n RON STALLWORTH\\r\\n So you think all Cops are Racist?\\r\\n \\r\\n PATRICE\\r\\n It only takes One to pull a Trigger\\r\\n on a Innocent Sister or Brother.\\r\\n \\r\\n Patrice absorbs all of this.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n Why were you at Brother Kwame\\'s\\r\\n Speech?\\r\\n \\r\\n RON STALLWORTH\\r\\n He\\'s got some good ideas. I don\\'t\\r\\n agree with all of them but he\\'s a\\r\\n smart Brother who\\'s worth hearing.\\r\\n \\r\\n PATRICE\\r\\n Are you Down for The Liberation of\\r\\n Black People?\\r\\n \\r\\n RON STALLWORTH\\r\\n Do we always have to talk about\\r\\n Politics?\\r\\n \\r\\n PATRICE\\r\\n What\\'s more important?\\r\\n \\r\\n RON STALLWORTH\\r\\n Do you ever take any time off from\\r\\n The Liberation of Black People?\\r\\n \\r\\n PATRICE\\r\\n NO!!! It\\'s a Lifetime JOB!!!\\r\\n \\r\\n Ron reaches across the table and takes Patrice\\'s Hand.\\r\\n Patrice pulls her Hand back.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Sista Angela Davis, can we spend some\\r\\n quality time together.\\r\\n \\r\\n PATRICE\\r\\n And what did you say your J-O-B is?\\r\\n \\r\\n RON STALLWORTH\\r\\n Kathleen Cleaver, I didn\\'t?\\r\\n \\r\\n PATRICE\\r\\n Are You A Pig?\\r\\n RON STALLWORTH\\r\\n You mean A Cop?\\r\\n \\r\\n PATRICE\\r\\n You A Cop?\\r\\n \\r\\n RON STALLWORTH\\r\\n NO I\\'m a Black Man who wants to get\\r\\n to know A Strong, Intelligent,\\r\\n Beautiful Sister.\\r\\n \\r\\n Ron tries to kiss Patrice but she moves her head away. They\\r\\n finish their meal in silence.\\r\\n \\r\\n INT. CSPD INTELLIGENCE UNIT - RON\\'S DESK - NIGHT\\r\\n \\r\\n It\\'s late. Ron is the only Officer working, filling out a\\r\\n Police Report and sipping a mug of Hot Lipton Tea with Honey.\\r\\n Suddenly... The Undercover Line rings. Ron freezes. Picks up\\r\\n the line.\\r\\n \\r\\n RON STALLWORTH\\r\\n This is Ron.\\r\\n \\r\\n WALTER (O.S.)\\r\\n This is Walter. Is this Ron? Your\\r\\n Voice sounds different over The\\r\\n Phone.\\r\\n \\r\\n Ron has to THINK FAST.\\r\\n \\r\\n RON STALLWORTH\\r\\n Allergies acting up again.\\r\\n \\r\\n A steady Beat of Silence on The Line. Then...\\r\\n \\r\\n WALTER (O.S.)\\r\\n ...Yeah, I get that all the time.\\r\\n \\r\\n Ron waits for the response.\\r\\n \\r\\n WALTER (O.S.)(CONT\\'D)\\r\\n Well, just thought I\\'d say it was\\r\\n great having you swing by. The\\r\\n Brothers really took a liking to you.\\r\\n \\r\\n Ron squeezes his fist. Victory. Trying to stay nonchalant:\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m honored.\\r\\n \\r\\n WALTER (O.S.)\\r\\n Why don\\'t you come by Felix\\'s this\\r\\n Saturday? Meet the rest of The\\r\\n Brotherhood.\\r\\n INT. CSPD HALLWAY - DAY\\r\\n \\r\\n Sgt. Trapp and Ron walk and talk.\\r\\n \\r\\n SGT. TRAPP\\r\\n I\\'ve got a friend that\\'s up with\\r\\n these Groups. He says they\\'re moving\\r\\n away from the Ole Violent Racist\\r\\n Style. That\\'s what Davis is peddling\\r\\n now, it\\'s become Mainstream.\\r\\n \\r\\n RON STALLWORTH\\r\\n Davis?\\r\\n \\r\\n SGT. TRAPP\\r\\n Devin Davis current Grand Wizard of\\r\\n The Klan, always in a three piece\\r\\n suit, he now goes by National\\r\\n Director. He\\'s clearly got his Sights\\r\\n on Higher Office.\\r\\n \\r\\n RON STALLWORTH\\r\\n Political Office? How so?\\r\\n \\r\\n SGT. TRAPP\\r\\n Yeah, I guess they\\'re trying to move\\r\\n away from their History of Selling\\r\\n HATE...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Keep going.\\r\\n \\r\\n SGT. TRAPP\\r\\n Affirmative Action, Immigration,\\r\\n Crime, Tax Reform. He said no one\\r\\n wants to be called a Bigot anymore.\\r\\n Archie Bunker made that too Un-Cool.\\r\\n The idea is under all these issues,\\r\\n everyday Americans can accept it,\\r\\n support it, until eventually, one\\r\\n day, you get somebody in The White\\r\\n House that embodies it.\\r\\n \\r\\n RON STALLWORTH\\r\\n America would never elect somebody\\r\\n like Devin Davis President of the\\r\\n United States of America?\\r\\n \\r\\n Sgt. Trapp just stares at Ron for a long moment.\\r\\n \\r\\n SGT. TRAPP\\r\\n For a so called Black Man, you\\'re\\r\\n pretty naive.\\r\\n EXT. UNMARKED CAR - DAY\\r\\n \\r\\n Ron is in his unmarked Car in a Middle Class Neighborhood. He\\r\\n pulls on Headphones and looks out his Window where...\\r\\n \\r\\n EXT. FELIX\\'S HOUSE - FRONT PORCH - DAY\\r\\n \\r\\n ANGLE - RON\\'S POV - SURVEILLANCE\\r\\n \\r\\n A manicured yard. Pristine. A very Green Healthy lawn. A yard\\r\\n sign: AMERICA LOVE IT OR LEAVE IT! Flip rings The Doorbell.\\r\\n The Screen Door is opened by CONNIE, White Woman, 30\\'s,\\r\\n Proper and Good-Looking. A Gold Cross dangles from her Neck.\\r\\n \\r\\n CONNIE\\r\\n Ron! So nice to meet you. I\\'m Connie,\\r\\n Felix\\'s Wife.\\r\\n \\r\\n Connie hugs him.\\r\\n \\r\\n FLIP\\r\\n Great to meet you.\\r\\n \\r\\n CONNIE\\r\\n The Boys are in the Backyard.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n \\r\\n INT. UNMARKED CAR - DAY\\r\\n \\r\\n Ron shakes his head listening to The Transmitter, taking\\r\\n notes.\\r\\n \\r\\n INT. FELIX\\'S LIVING ROOM - DAY\\r\\n \\r\\n The Klan Members seated, some on folding chairs. Connie\\r\\n enters The Backyard with an Appetizer Platter.\\r\\n \\r\\n CONNIE\\r\\n Sorry to interrupt. I have some\\r\\n Cheese Dip and Crackers.\\r\\n \\r\\n They dig in.\\r\\n FELIX\\r\\n Thanks Honey.\\r\\n Felix turns to The Brothers. Klansmen Feed off The Energy.\\r\\n \\r\\n FELIX\\r\\n Make \\'em remember who We Are and What\\r\\n We Stand For. We are The\\r\\n Organization.\\r\\n \\r\\n CONNIE\\r\\n I read in The Gazette some Nigger\\r\\n named Carmichael held a Rally and\\r\\n there\\'s some College Nigger Girl with\\r\\n the \"Baboon Student Union\" attacking\\r\\n Our Police. This Girl is Dangerous.\\r\\n Reminds me of that Commie Angela\\r\\n Davis. We need to shut her damn\\r\\n mouth.\\r\\n \\r\\n The Men exchange uneasy looks - Why is Connie in Men\\'s\\r\\n Business?\\r\\n \\r\\n CONNIE (CONT\\'D)\\r\\n Here, I clipped the Article.\\r\\n \\r\\n Connie pulls The Article from her apron. Hands it to Felix.\\r\\n Felix eyes it, focused on an image of Kwame and without\\r\\n looking up...\\r\\n \\r\\n FELIX\\r\\n That\\'ll be all. Love you Sweetie.\\r\\n \\r\\n CONNIE\\r\\n One of these days you\\'re going to\\r\\n need me to do something for you. Wait\\r\\n and See.\\r\\n \\r\\n Connie trudges back towards the house without answering.\\r\\n Felix hands The Clipping to The Klansmen, who pass it around\\r\\n the room. When it reaches Walter, he sets it down.\\r\\n \\r\\n WALTER\\r\\n How \\'bout We focus on our Bread and\\r\\n Butter. The Next Cross Burning.\\r\\n Which, Flip, you\\'ll be lucky enough\\r\\n to participate in if your Membership\\r\\n Card comes soon enough...\\r\\n \\r\\n FLIP\\r\\n ...That\\'d be a tremendous Honor.\\r\\n Where?\\r\\n \\r\\n WALTER\\r\\n The Highest Hills get the most Eyes.\\r\\n \\r\\n Walter looks for approval. Nods all around. Felix rises, his\\r\\n balance uncertain.\\r\\n FELIX\\r\\n Hey Ron, I gotta show you something.\\r\\n Felix plops a Hand on Flip\\'s Back. Flip rises.\\r\\n \\r\\n INT. UNMARKED CAR - DAY\\r\\n \\r\\n Ron takes in The Audio. He records more Notes.\\r\\n \\r\\n INT. FELIX\\'S HOUSE - STAIRS - DAY\\r\\n \\r\\n Flip, Felix, and Walter walk downstairs to the Den.\\r\\n INT. INT. FELIX\\'S HOUSE - SMALL ROOM - DAY\\r\\n Felix flips on the lights.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Looka here.\\r\\n \\r\\n Various Guns adorn The Walls -- Rifles, Shotguns, Handguns.\\r\\n Pinned on The Far Wall: White Supremacist Memorabilia\\r\\n including a Magazine Cut-Out of KKK Grand Wizard Devin Davis.\\r\\n \\r\\n FLIP\\r\\n Wow. This is really... something.\\r\\n \\r\\n Felix pulls a rusted Double-Barreled Shotgun off The Rack.\\r\\n \\r\\n FELIX\\r\\n Here\\'s my favorite. Twelve Gauge.\\r\\n \\r\\n Felix smirks and points The Two Barrels at Flip\\'s chest.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n I call this...The Jew Killer.\\r\\n \\r\\n Flip Freezes. Felix\\'s Finger Rests on The Trigger. Teasingly?\\r\\n Seriously? Felix stares, challenging Flip to make a Move. Any\\r\\n Move.\\r\\n \\r\\n FLIP\\r\\n That\\'s a Remington Model 1900.\\r\\n \\r\\n A long Beat. Then: Felix smiles.\\r\\n \\r\\n FELIX\\r\\n Indeed it is.\\r\\n \\r\\n Felix places the Shotgun back on the rack. Walter outside The\\r\\n Door.\\r\\n \\r\\n WALTER (O.S.)\\r\\n Almost done in here? We still have\\r\\n some items on The Agenda...\\r\\n FELIX\\r\\n ...Not just yet. Gotta make sure\\r\\n there\\'s no Jew in him.\\r\\n Flip keeps quiet.\\r\\n \\r\\n ANGLE - HALLWAY\\r\\n \\r\\n WALTER\\r\\n Come on Man, this is just\\r\\n Straight-Up Offensive. We\\'re\\r\\n talking about someone who\\'s gonna be\\r\\n our Brother in a couple months. Is\\r\\n there a fuckin\\' Star of David around\\r\\n his Neck? Does Ron got a YA-MA-KA on\\r\\n his HEAD for Pete\\'s sake?\\r\\n \\r\\n FELIX (O.S.)\\r\\n Just Protocol. My House, My Rules.\\r\\n \\r\\n INT. FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Felix sets a hand on Flip\\'s Back, guiding him past Walter.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n This way.\\r\\n \\r\\n FLIP\\r\\n Where...uh...where ya takin\\' me? I\\r\\n told you already I\\'m not thrilled\\r\\n with you callin\\' me a Jew.\\r\\n \\r\\n FELIX\\r\\n Tough Titty.\\r\\n \\r\\n Walter follows as Felix leads Flip into the\\r\\n \\r\\n ANGLE - DEN\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Take a seat.\\r\\n \\r\\n Felix sets Flip down on a chair.\\r\\n \\r\\n WALTER\\r\\n Felix, it ain\\'t necessary, Man. This\\r\\n is how we lose recruits!\\r\\n \\r\\n Felix pushes Walter backward, through and out The Den door.\\r\\n He slams The Door closed and locks it.\\r\\n \\r\\n FLIP\\r\\n What is this your Jew Den? This where\\r\\n you make your Candles? Lamp shades?\\r\\n \\r\\n Felix opens a Desk Drawer and takes out a POLYGRAPH MACHINE.\\r\\n FELIX\\r\\n No, you\\'re going to take this Lie\\r\\n Detector test.\\r\\n \\r\\n 67 INT. UNMARKED CAR - DAY\\r\\n \\r\\n RON STALLWORTH\\r\\n Shit.\\r\\n He turns the ignition and drives forward.\\r\\n INT. INT. DEN - FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Felix sets The Polygraph in front of Flip. Urgent knocking on\\r\\n the door.\\r\\n \\r\\n WALTER (O.S.)\\r\\n Open up, Felix! Enough is Enough!!!\\r\\n \\r\\n FELIX\\r\\n Lower your Arm right here.\\r\\n \\r\\n FLIP\\r\\n Felix, this is lame bullshit.\\r\\n \\r\\n FELIX\\r\\n Lame or not you\\'re taking this Jew\\r\\n Lie Detector Test.\\r\\n \\r\\n Felix reaches in and lowers his Arm for him, then slides the\\r\\n Blood Pressure cuff over Flip\\'s Arm. Flip rips it off, jumps\\r\\n up, knocking the chair over.\\r\\n \\r\\n FLIP\\r\\n Out of respect, I\\'m gonna play along\\r\\n with your Get Smart Bullshit, but I\\'m\\r\\n No Fuckin\\' Jew!!!\\r\\n \\r\\n Walter persistently bangs on The Door. Felix pulls out a\\r\\n Shiny Pistol from his belt.\\r\\n \\r\\n FELIX\\r\\n Siddown.\\r\\n \\r\\n EXT. FELIX\\'S HOUSE - DRIVEWAY - DAY\\r\\n \\r\\n Gun in hand, Ron crouches beside the Unmarked car, parked at\\r\\n the curb near Felix\\'s House. He notices a NEIGHBOR taking out\\r\\n The Trash. Ron puts his Gun away. His Eyes are on THE LOOK\\r\\n OUT.\\r\\n \\r\\n INT. DEN - FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Flip sits in The Chair as Felix sticks Electrodermal Sensors\\r\\n on Flip\\'s hands.\\r\\n FELIX\\r\\n Ask anybody, they\\'ll say I\\'m a real\\r\\n Friendly Guy. Thing is, I\\'m only\\r\\n Friendly to my Friends, not JEW\\r\\n Friendly, Damn Sure not Nigger\\r\\n Friendly.\\r\\n \\r\\n Walter is still banging away at the door.\\r\\n \\r\\n WALTER (O.S.)\\r\\n Let me in!\\r\\n \\r\\n Felix tightens The Blood Pressure Cuff on Flip\\'s arm.\\r\\n \\r\\n FELIX\\r\\n Let\\'s warm up. What is the surname of\\r\\n your Biological Father?\\r\\n \\r\\n FLIP\\r\\n Stallworth.\\r\\n \\r\\n FELIX\\r\\n Let me see your Dick.\\r\\n \\r\\n Flip starts to unzip his pants and smiles.\\r\\n \\r\\n FLIP\\r\\n You like pretty Dicks Felix?\\r\\n \\r\\n FELIX\\r\\n I hear you Jews do something Funny\\r\\n with ya Dicks. Some weird Jew Shit.\\r\\n Is your Dick circumstanced?\\r\\n \\r\\n FLIP\\r\\n You tryin\\' to suck my Jew Dick?\\r\\n Faggot.\\r\\n \\r\\n FELIX\\r\\n Who you callin\\' a Faggot, Jew?\\r\\n \\r\\n FELIX\\r\\n Y\\'know what I think?\\r\\n \\r\\n FLIP\\r\\n You think?\\r\\n \\r\\n FELIX\\r\\n I think a lot.\\r\\n \\r\\n FLIP\\r\\n What do you think about?\\r\\n FELIX\\r\\n I think this Holocaust stuff never\\r\\n happened.\\r\\n \\r\\n FLIP\\r\\n What?\\r\\n \\r\\n FELIX\\r\\n That\\'s the biggest Jewish Conspiracy.\\r\\n 8 Million Jews killed? Concentration\\r\\n camps? Never happened. Where\\'s the\\r\\n proof?\\r\\n \\r\\n CLOSE - FLIP\\r\\n \\r\\n WE SEE on Flip\\'s face, despite him trying to fight hard to be\\r\\n affected, he is not that good an Actor. Marlon Brando\\r\\n couldn\\'t do it either.\\r\\n \\r\\n FLIP\\r\\n Are you High?\\r\\n \\r\\n FELIX\\r\\n I don\\'t get High. I drink.\\r\\n \\r\\n FLIP\\r\\n Haven\\'t seen the Footage.\\r\\n \\r\\n FELIX\\r\\n Fake. Jews run Hollywood.\\r\\n \\r\\n EXT. FELIX\\'S HOUSE - DRIVEWAY - DAY\\r\\n \\r\\n Ron bolts onto Felix\\'s Front Lawn, unsure what to do but\\r\\n knowing that he GOTTA DO something. Ron picks up a Flower Pot\\r\\n and CHUCKS IT -- CRASH! It goes straight through the Kitchen\\r\\n Window, shattering The Glass.\\r\\n \\r\\n INT. LIVING ROOM/DEN - FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Connie SCREAMS! Through the window pane, she can see the\\r\\n backside of Ron -- a Black Man wearing a faded denim jacket.\\r\\n Ron is \"Low Running\" now.\\r\\n CONNIE\\r\\n There\\'s a Fuckin\\' Black Lawn Jockey\\r\\n on our Green Lawn!\\r\\n \\r\\n Felix storms out of The Den. Flip rips off The Polygraph\\r\\n Sensors and follows.\\r\\n \\r\\n EXT. FRONT LAWN - FELIX\\'S HOUSE - DAY\\r\\n \\r\\n All of The Klan Members, including Flip and Connie, pour onto\\r\\n the Lawn. Felix bursts out of The Front door with his Pistol.\\r\\n He Fires at Ron -- who is USAIN BOLT-ING down The Street.\\r\\n BANG! BANG! BANG!\\r\\n \\r\\n Flip grabs Felix\\'s pistol and FIRES just as Ron reaches the\\r\\n unmarked car. Flip fires again and again emptying the gun!\\r\\n Missing on purpose just as Ron reaches The Unmarked car. Ron\\r\\n jumps inside... SQUEEEEEL! The Car peels off.\\r\\n \\r\\n FLIP\\r\\n Yeah, keep drivin\\' you Black\\r\\n Spearchucker!!! Piece a Shit\\r\\n Nigger!!!\\r\\n \\r\\n FELIX\\r\\n Almost got \\'im.\\r\\n \\r\\n Flip is Foaming at The Mouth. Everyone stares at him,\\r\\n momentarily surprised at his outburst. Flip hands Felix his\\r\\n Gun back.\\r\\n \\r\\n FLIP\\r\\n Felix, you still want me to take your\\r\\n Jew Detector Test!!!\\r\\n \\r\\n Walter looks from Flip to Felix. Felix can only shrug.\\r\\n \\r\\n ANGLE - STREET\\r\\n \\r\\n Neighbors poke their heads out from across The Street. Felix\\r\\n looks to The Chapter Members gathered around.\\r\\n \\r\\n FELIX\\r\\n Everybody go Home NOW!!! Get Outta\\r\\n HERE!!! GO HOME!!!\\r\\n \\r\\n INT. UNMARKED CAR - DAY\\r\\n \\r\\n Ron speeds away, down The Residential Streets. He looks down\\r\\n at his Body. No wounds. He slows his breathing. Too Close for\\r\\n COMFORT.\\r\\n \\r\\n INT. SERGEANT TRAPP\\'S OFFICE - CSPD - DAY\\r\\n \\r\\n Sgt. Trapp flips through The Report. Ron and Flip watch.\\r\\n SGT. TRAPP\\r\\n Lie Detector? Shots Fired? A Goddamn\\r\\n ClusterFuck!!! You Dickheads are\\r\\n putting me in a Tough Spot here. If\\r\\n Bridges heard about this...\\r\\n \\r\\n RON STALLWORTH\\r\\n Is he gonna hear about it, Sarge?\\r\\n \\r\\n Sgt. Trapp thinks a moment, then opens a drawer under his\\r\\n desk and throws The Report into it.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n \\r\\n ANGLE - HALLWAY\\r\\n \\r\\n Ron and Flip emerge from Sgt. Trapp\\'s office.\\r\\n \\r\\n FLIP\\r\\n I didn\\'t say it in there with Trapp\\r\\n but that Peckerwood had a Gun in my\\r\\n Face and he was an Ass Hair away from\\r\\n pulling The Trigger.\\r\\n \\r\\n RON STALLWORTH\\r\\n And he didn\\'t.\\r\\n \\r\\n FLIP\\r\\n But he could have and then I woulda\\r\\n been Dead... for what? Stoppin\\' some\\r\\n Jerkoffs from playing Dress up?\\r\\n \\r\\n RON STALLWORTH\\r\\n Flip, it\\'s Intel.\\r\\n \\r\\n FLIP\\r\\n I\\'m not risking my Life to prevent\\r\\n some Rednecks from lighting a couple\\r\\n Sticks on Fire.\\r\\n \\r\\n RON STALLWORTH\\r\\n This is the Job. What\\'s your problem?\\r\\n \\r\\n FLIP\\r\\n Ron, you\\'re my problem.\\r\\n \\r\\n RON STALLWORTH\\r\\n How\\'s that?\\r\\n \\r\\n FLIP\\r\\n For you it\\'s not a job, it\\'s a\\r\\n Crusade. It\\'s not personal nor should\\r\\n it be.\\r\\n \\r\\n They stop walking.\\r\\n RON STALLWORTH\\r\\n Why haven\\'t you bought into this?\\r\\n \\r\\n FLIP\\r\\n Why should I?\\r\\n \\r\\n RON STALLWORTH\\r\\n Because you\\'re Jewish, Brother. The\\r\\n So-Called Chosen People.\\r\\n Flip gets pissed and flies up into Ron face. They are nose to\\r\\n nose.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n You\\'re passing, Man.\\r\\n \\r\\n FLIP\\r\\n What?\\r\\n \\r\\n RON STALLWORTH\\r\\n You\\'re passing for a WASP!!! White\\r\\n Anglo Saxon Protestant, All-American\\r\\n Hot Dog, Cherry Pie White Boy. It\\'s\\r\\n what some Light-Skinned Black Folks\\r\\n do, they pass for White.\\r\\n \\r\\n Flip understands now. He glares at Ron.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Doesn\\'t that Hatred The Klan say Piss\\r\\n you off.\\r\\n \\r\\n FLIP\\r\\n Of course it does.\\r\\n \\r\\n RON STALLWORTH\\r\\n Then why you acting like you ain\\'t\\r\\n got skin in the Game!\\r\\n \\r\\n FLIP\\r\\n That\\'s my Damn Business!\\r\\n \\r\\n RON STALLWORTH\\r\\n It\\'s our Business.\\r\\n \\r\\n Ron and Flip look at each other.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n I\\'m gonna get your Membership Card so\\r\\n you can go on this Cross Burning and\\r\\n get in deeper, right Flip?\\r\\n \\r\\n INT. CSPD INTELLIGENCE UNIT - RON\\'S DESK - DAY\\r\\n \\r\\n Ron is alone on the phone as he studies his packet of KKK\\r\\n materials. He sees a number for the KKK Headquarters. He\\r\\n dials. A Message clicks on:\\r\\n \\r\\n VOICE (O.S.)\\r\\n Wake up White Man, The Negro wants\\r\\n your White Woman and your Job! The\\r\\n Jew wants your Money...\\r\\n \\r\\n The Recording is interrupted by a PLEASANT-SOUNDING MAN.\\r\\n PLEASANT MAN (O.S.)\\r\\n Hello, and whom am I talking to?\\r\\n \\r\\n RON STALLWORTH\\r\\n Good afternoon. My name is Ron\\r\\n Stallworth, calling from Colorado\\r\\n Springs. How are you today, Sir?\\r\\n \\r\\n PLEASANT MAN\\r\\n Quite well, Ron. What can I do for\\r\\n you?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m calling because I desperately\\r\\n want to participate in my Chapter\\'s\\r\\n Honorary Events but I can\\'t until I\\r\\n receive my Membership Card.\\r\\n \\r\\n PLEASANT MAN (O.S.)\\r\\n Of course, I can help you with that.\\r\\n \\r\\n RON STALLWORTH\\r\\n Thank you. Who am I speaking with?\\r\\n \\r\\n PLEASANT MAN (O.S.)\\r\\n This is Devin Davis.\\r\\n \\r\\n Ron has Died and gone to Heaven.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m sorry... did you just say you\\'re\\r\\n Devin Davis?\\r\\n \\r\\n DEVIN DAVIS(O.S.)\\r\\n ...Last time I checked.\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Grand Wizard of The Ku Klux Klan?\\r\\n That Devin Davis?\\r\\n \\r\\n DEVIN DAVIS(O.S.)\\r\\n That Grand Wizard and National\\r\\n Director.\\r\\n \\r\\n RON STALLWORTH\\r\\n Really? National Director too?\\r\\n \\r\\n DEVIN DAVIS(O.S.)\\r\\n Really.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m honored to be speaking with you.\\r\\n I\\'m not afraid to say it...I consider\\r\\n you a True White American Hero.\\r\\n DEVIN DAVIS\\r\\n Are there any other kind?\\r\\n \\r\\n INT. KKK NATIONAL OFFICE - DAY\\r\\n \\r\\n DEVIN DAVIS 30\\'s has a trim Red Mustache and a mop of Sandy\\r\\n Hair which drapes his ears. He plays the role of a Southern\\r\\n Gent but his piercing pale-Blue Eyes reveal a Monster.\\r\\n \\r\\n Davis wears a Three-Piece Suit and sits at a neat Office\\r\\n Desk.\\r\\n \\r\\n DEVIN DAVIS\\r\\n And I\\'m just happy to be talking to a\\r\\n True White American.\\r\\n \\r\\n INTERCUT RON WITH DEVIN DAVIS:\\r\\n \\r\\n RON STALLWORTH\\r\\n Amen, Mr. Davis. Seems like there\\'s\\r\\n less and less of us these days.\\r\\n Now about that Membership Card...\\r\\n \\r\\n Davis unwraps a stick of Juicy Fruit Gum, his favorite.\\r\\n \\r\\n DEVIN DAVIS\\r\\n ...I understand the situation. We\\'ve\\r\\n been having some Administrative\\r\\n problems that have caused a backlog.\\r\\n ...Tell you what, Ron. I\\'ll see to it\\r\\n personally that your Membership Card\\r\\n is processed and sent out today.\\r\\n \\r\\n RON\\r\\n Thank you, Mr. Davis. I can\\'t express\\r\\n to you how much I appreciate this.\\r\\n \\r\\n DEVIN DAVIS\\r\\n The pleasure is all mine. I look\\r\\n forward to meeting you in person One\\r\\n Day and God Bless White America.\\r\\n \\r\\n INT. CSPD - DAY\\r\\n \\r\\n Ron rushes out of the room buzzing about speaking to Davis he\\r\\n immediately KNOCKS shoulders with someone going the other\\r\\n way. When he turns around it\\'s... Master Patrolman Landers,\\r\\n who turns back giving a smirk.\\r\\n \\r\\n LANDERS\\r\\n Watch where you\\'re going. You could\\r\\n get hurt like that Hot Shot.\\r\\n \\r\\n Landers marches on leaving Ron to contemplate.\\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n \\r\\n Ron wires up Flip.\\r\\n \\r\\n RON STALLWORTH\\r\\n That Cop that pulled Kwame Ture over\\r\\n that night... was it Landers?\\r\\n \\r\\n Flip is surprised.\\r\\n \\r\\n FLIP\\r\\n How\\'d you know?\\r\\n \\r\\n RON STALLWORTH\\r\\n I can smell em\\' a Mile away now.\\r\\n \\r\\n Flip ponders for a moment, then says.\\r\\n \\r\\n FLIP\\r\\n He\\'s been a Bad Cop for a long time.\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah?\\r\\n \\r\\n FLIP\\r\\n Does that kinda\\' Shit all the time.\\r\\n Few years ago, he allegedly Shot and\\r\\n Killed a Black Kid... he said he had\\r\\n a Gun. The Kid wasn\\'t the type.\\r\\n \\r\\n RON STALLWORTH\\r\\n Flip, why do you tolerate this?\\r\\n \\r\\n FLIP\\r\\n We\\'re a family. Good or Bad. We stick\\r\\n together. You wanna be the Guy that\\r\\n Rats him out?\\r\\n \\r\\n Ron goes quiet.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n You\\'re New. You\\'re a Rookie. You ever\\r\\n get your Ass in a Jam, you\\'ll\\r\\n appreciate The Blue Wall of Silence.\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah, reminds me of another Group.\\r\\n Ron finished. Flip steps away buttoning his shirt.\\r\\n \\r\\n 81 EXT. OPEN FIELD - DAY\\r\\n \\r\\n POP! A Bullet strikes a Beer Bottle in an Open Field.\\r\\n FELIX\\r\\n Bullseye.\\r\\n \\r\\n Felix looks up from his Shotgun. All around him, other\\r\\n Chapter Members line up in a row, firing their Guns at\\r\\n Bottles. Some are wearing Green Army Field Jackets.\\r\\n \\r\\n Nearby, a couple of fold-up tables stocked with plates of\\r\\n Grilled Meat and Bowls of Cheese Doodles. Flip is locked in\\r\\n conversation with Walter, who could not care less about the\\r\\n Firing Range behind him.\\r\\n \\r\\n WALTER\\r\\n ... and then you got what used to be\\r\\n a decent Bar, The Hide N Seek Room,\\r\\n turned into a Filthy Fag Bar\\r\\n overnight.\\r\\n \\r\\n FLIP\\r\\n Fuckin\\' Fags everywhere these days.\\r\\n \\r\\n Flip is still mostly focused on Felix and his crew.\\r\\n \\r\\n WALTER\\r\\n They\\'re trying to Colonize. First\\r\\n they get their own Bars, then they\\r\\n want Equal Treatment...\\r\\n \\r\\n FLIP\\r\\n ...Forget Dem Fags... Some of these\\r\\n Guys Army-trained?\\r\\n \\r\\n Walter turns around for a moment, then turns back,\\r\\n dismissive.\\r\\n \\r\\n WALTER\\r\\n A lot of \\'em are. Fort Carson...\\r\\n \\r\\n CLOSE - FLIP\\r\\n \\r\\n observes TWO MYSTERY MEN, STEVE and JERRY, both 30\\'s, they\\r\\n look classier than the rest of The Gang handling M-16\\'s.\\r\\n \\r\\n FLIP\\r\\n I\\'ve not seen those Macs before.\\r\\n \\r\\n WALTER\\r\\n Steve and Jerry.\\r\\n \\r\\n FLIP\\r\\n Yeah, who are they?\\r\\n \\r\\n WALTER\\r\\n That\\'s classified.\\r\\n Walter steps away leaving Flip to ponder the Two Mystery Men.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n 82 EXT. UNMARKED CAR - DAY\\r\\n \\r\\n Ron is in the Car quite a ways away with a huge Telephoto\\r\\n lens on a 33MM Camera. He focuses in on...\\r\\n \\r\\n RON\\'S CAMERA POV - THE TWO MYSTERY MEN\\r\\n \\r\\n Ron CLICKS off numerous Photos of them. And then CLICKING on\\r\\n all the various Klansmen enjoying the outing.\\r\\n \\r\\n CLOSE - RON BEHIND THE CAMERA\\r\\n \\r\\n focusing in on his Targets: CLICKING! Walter, Ivanhoe, Felix,\\r\\n all of them.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n 82A EXT. OPEN FIELD - DAY\\r\\n \\r\\n Flip nears the Target area seeing something that makes him\\r\\n laugh out loud.\\r\\n \\r\\n FLIP\\r\\n Gezzus H. Christ!\\r\\n \\r\\n The Targets are...\\r\\n \\r\\n THE OFFICIAL RUNNING NIGGER TARGET\\r\\n \\r\\n in the form a Black Silhouette of a Running Black Man with an\\r\\n Afro, Big Lips, Butt, etc.\\r\\n \\r\\n FELIX\\r\\n Helps with practicin\\' for Nigger\\r\\n Looters. Dem\\' Sum-bitches Run like\\r\\n Roaches when you Flip the switch in\\r\\n the Kitchen late at Night.\\r\\n \\r\\n Felix and Ivanhoe shoot their Hand Guns at the Black Man\\r\\n Targets! They HIT The Bulls-Eye targets on his Head, Lips,\\r\\n Butt, Body.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n I don\\'t know how that Black Bastard\\r\\n got away the other day.\\r\\n \\r\\n Ivanhoe suddenly pipes up.\\r\\n \\r\\n IVANHOE\\r\\n Hey, Ron! Take my Forty-Five Auto\\r\\n wanna see what you can do.\\r\\n FELIX\\r\\n Maybe you\\'ll get dat Nigger next\\r\\n time.\\r\\n \\r\\n Ivanhoe hands Flip his pistol. He takes it, his hand sweaty.\\r\\n \\r\\n ALL EYES ON FLIP as he takes aim at a Black Man Running\\r\\n Target Fifty Feet away. The Klansmen observing. BANG!!! A\\r\\n Hole rips in the Black Man Target Head!!! Then the Butt!!!\\r\\n Body! And Lips!!!\\r\\n \\r\\n KLANSMEN\\r\\n Good Shot!!! Shit! Got that Coon Dead\\r\\n in The Ass! Nice One!!!\\r\\n \\r\\n IVANHOE\\r\\n That\\'s one deaaaaaad Jungle Bunny!!!\\r\\n \\r\\n The Gang eyes Flip, impressed. Ivanhoe pats Flip\\'s back.\\r\\n \\r\\n FELIX\\r\\n Where\\'d you learn to shoot like that?\\r\\n \\r\\n FLIP\\r\\n My Ole Man gave me a Toy Cap Gun when\\r\\n I was a Kid, been shooting ever\\r\\n since.\\r\\n Ivanhoe proceeds to teach Flip the Klan handshake.\\r\\n \\r\\n 83 EXT. OPEN FIELD - DUSK\\r\\n \\r\\n Everyone is gone now. Ron walks through observing The Scene\\r\\n looking over the remnants of the gathering.\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n Ron picks up the Official Running Nigger Target full of\\r\\n Bullet Holes.\\r\\n \\r\\n 83A EXT. CREEK - DAY\\r\\n \\r\\n Patrice and Ron walk on a Nature Pathway alongside a Creek.\\r\\n \\r\\n RON STALLWORTH\\r\\n Bernie Casey\\'s a Badd Brother.\\r\\n \\r\\n PATRICE\\r\\n Cleopatra Jones was the one. It\\'s\\r\\n about time We see a strong Sister\\r\\n like that...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...And Tamara Dobson played a Cop.\\r\\n PATRICE\\r\\n That was a Black Exploitation Movie.\\r\\n A fantasy. Real life\\'s not like that.\\r\\n In real life there\\'s no Cleopatra\\r\\n Jones or Coffy.\\r\\n \\r\\n RON STALLWORTH\\r\\n You don\\'t dig Pam Grier? She\\'s Fine\\r\\n as Wine and twice as Mellow.\\r\\n \\r\\n PATRICE\\r\\n Pam Grier is doing her Thing but in\\r\\n real life it\\'s just Pigs killing\\r\\n Black Folks.\\r\\n \\r\\n RON STALLWORTH\\r\\n What if a Cop was trying to make\\r\\n things better.\\r\\n \\r\\n PATRICE\\r\\n From the inside?\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah, from the inside.\\r\\n \\r\\n PATRICE\\r\\n You can\\'t make things better from the\\r\\n inside. It\\'s a Racist System.\\r\\n \\r\\n RON STALLWORTH\\r\\n So just give up?\\r\\n \\r\\n PATRICE\\r\\n No!!! We fight for what Black People\\r\\n really need! BLACK LIBERATION!!!\\r\\n \\r\\n RON STALLWORTH\\r\\n Can\\'t you do that from the inside!\\r\\n \\r\\n PATRICE\\r\\n No! You can\\'t. White Man won\\'t let\\r\\n us.\\r\\n \\r\\n Ron gets frustrated. Patrice stops him.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n What did Dubois say about \"Double\\r\\n Consciousness\"? \"Twoness\". Being an\\r\\n American and a Negro? Two Souls? Two\\r\\n Thoughts? Two warring ideals in one\\r\\n Dark Body?\\r\\n \\r\\n RON STALLWORTH\\r\\n I know how that feels. I\\'m Two damn\\r\\n people all the time!\\r\\n PATRICE\\r\\n But you shouldn\\'t be! We shouldn\\'t\\r\\n have a War going on inside ourselves.\\r\\n Why can\\'t we just be Black People?\\r\\n \\r\\n RON STALLWORTH\\r\\n Because we\\'re not there yet!\\r\\n \\r\\n PATRICE\\r\\n Well, I\\'m tired of waiting!\\r\\n \\r\\n Patrice walks off. Ron sighs, walks to catch up to her, and\\r\\n puts his arm around Patrice.\\r\\n \\r\\n RON STALLWORTH\\r\\n Shaft or Superfly?\\r\\n \\r\\n PATRICE\\r\\n What?\\r\\n \\r\\n RON STALLWORTH\\r\\n Pick one, Shaft or Superfly?\\r\\n \\r\\n PATRICE\\r\\n A Private Detective over a Pimp any\\r\\n day and twice on Sundays.\\r\\n \\r\\n RON STALLWORTH\\r\\n Richard Roundtree or Ron O\\'Neal?\\r\\n \\r\\n PATRICE\\r\\n Richard Roundtree. Pimps Ain\\'t No\\r\\n Heroes.\\r\\n \\r\\n RON STALLWORTH\\r\\n Ron O\\'Neal isn\\'t a Pimp. He\\'s just\\r\\n playing one.\\r\\n \\r\\n PATRICE\\r\\n That image does damage to Our People.\\r\\n \\r\\n RON STALLWORTH\\r\\n JESUS CHRIST!!! Give it a rest.\\r\\n \\r\\n PATRICE\\r\\n I can\\'t you JIVE TURKEY.\\r\\n \\r\\n They both LAUGH.\\r\\n \\r\\n INT. RON\\'S APARTMENT - NIGHT\\r\\n \\r\\n Knocking at the door. Ron opens it and finds Felix standing\\r\\n there. The two stare at each other for a moment, finally.\\r\\n FELIX\\r\\n Wrong address.\\r\\n \\r\\n Felix backs away as Patrice peeks from around Ron seeing\\r\\n Felix. Felix sees her, turning to walk away.\\r\\n \\r\\n PATRICE\\r\\n Who was that?\\r\\n \\r\\n Ron watches Felix drive away.\\r\\n \\r\\n RON STALLWORTH\\r\\n Nobody.\\r\\n \\r\\n INT. KITCHEN - FELIX\\'S HOUSE - NIGHT\\r\\n \\r\\n Ivanhoe, Walter and Felix are in the kitchen talking,\\r\\n drinking beer and eating snacks. Flip enters.\\r\\n \\r\\n FLIP\\r\\n Hey, sorry had to work late. How you\\r\\n guys doing?\\r\\n \\r\\n Everyone greets Flip, but Felix says. Flip grabs a beer from\\r\\n a cooler, pops the tab.\\r\\n \\r\\n FELIX\\r\\n You got a Twin.\\r\\n \\r\\n Everyone goes quiet looking at Flip.\\r\\n \\r\\n FLIP\\r\\n What?\\r\\n \\r\\n FELIX\\r\\n You got a Twin.\\r\\n \\r\\n FLIP\\r\\n Twin what?\\r\\n \\r\\n FELIX\\r\\n A Twin-Twin and ya Twin is a NIGGER.\\r\\n \\r\\n Flip looks dumbfounded. Felix nears him.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Looked in the Phone Book and went\\r\\n over what I thought was your place\\r\\n and found a Nig there.\\r\\n \\r\\n Felix looks deadly. Ivanhoe and Walter look at Flip. Finally.\\r\\n \\r\\n FLIP\\r\\n My number\\'s unlisted.\\r\\n Felix just continues to stare.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n What address did you go to?\\r\\n \\r\\n FELIX\\r\\n Over on... Bluestem Lane.\\r\\n \\r\\n FLIP\\r\\n I don\\'t live on Bluestem. I live off\\r\\n 21st Street...\\r\\n \\r\\n FELIX\\r\\n So you don\\'t know that Nigger?\\r\\n \\r\\n FLIP\\r\\n Oh, that\\'s that Nigger I keep in the\\r\\n woodpile.\\r\\n \\r\\n Everyone laughs. Felix finally cracks a grin.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n 1813 South 21st Street. Come by\\r\\n sometime we\\'ll have a Coors.\\r\\n \\r\\n Ivanhoe and Flip clink cans.\\r\\n \\r\\n FELIX\\r\\n And y\\'know what? That loud mouth\\r\\n Black Student Union Bitch that\\'s been\\r\\n in the paper complaining about the\\r\\n Police. She was there.\\r\\n \\r\\n FLIP\\r\\n That Fuckin\\' Cunt.\\r\\n \\r\\n FELIX\\r\\n Like to close those Monkey Lips\\r\\n permanently.\\r\\n \\r\\n FLIP\\r\\n Yeah, after I get em\\' \\'round da Head\\r\\n of my Dick.\\r\\n \\r\\n Everyone laughs, agreeing.\\r\\n \\r\\n EXT. RON\\'S APARTMENT - DAY\\r\\n \\r\\n Ron takes a letter out of his Mailbox and excitedly rips open\\r\\n A Letter from the KKK National Office. He grins and claps his\\r\\n hands!\\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n \\r\\n Flip stands looking at what looks like a Credit Card as Ron\\r\\n sits at his desk, leaning back, satisfied.\\r\\n \\r\\n FLIP\\r\\n Are you Fucking kidding me?\\r\\n \\r\\n RON STALLWORTH\\r\\n What?\\r\\n \\r\\n FLIP\\r\\n You don\\'t cross those lines. This is\\r\\n about an Investigation. Not a...\\r\\n Relationship.\\r\\n \\r\\n RON STALLWORTH\\r\\n You\\'re right, I\\'m messin\\' up. Hate to\\r\\n violate that Blue Wall of Silence.\\r\\n \\r\\n FLIP\\r\\n Nice one.\\r\\n RON STALLWORTH\\r\\n Is Patrice a Target?\\r\\n \\r\\n FLIP\\r\\n Maybe.\\r\\n \\r\\n Ron goes quiet, concerned.\\r\\n \\r\\n An excited Ron goes to the once stark empty white walls now\\r\\n covered with numerous Klansmen Photos. Ron SLAPS the Photos\\r\\n of Active Duty Soldiers.\\r\\n \\r\\n RON STALLWORTH\\r\\n We got Active Duty Soldiers from Fort\\r\\n Carson. Going to the CID with this.\\r\\n \\r\\n Ron SLAPS the photo of Steve and Jerry.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Our Mystery Boys Steve and Jerry.\\r\\n Still don\\'t know who they are.\\r\\n \\r\\n Ron SLAPS photos of Felix, Ivanhoe, Connie.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n We got Felix\\'s Old Klan Crew.\\r\\n \\r\\n Ron turns to Flip and he SLAPS a photo of Walter.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n And we got new Klan Walter.\\r\\n \\r\\n FLIP\\r\\n Walter\\'s a General without an Army.\\r\\n Felix\\'s Crew is stronger than him.\\r\\n \\r\\n Flip looks at Ron, amazed.\\r\\n \\r\\n FLIP (CONT\\'D)\\r\\n You\\'ve really been talking to Devin\\r\\n Davis?\\r\\n \\r\\n RON STALLWORTH\\r\\n Oh Hell yeah!!!\\r\\n \\r\\n Ron SLAPS The Large Photo of Devin Davis.\\r\\n RON STALLWORTH (CONT\\'D)\\r\\n That\\'s my Ace Boon Coon Running\\r\\n Partner! And now that you got that\\r\\n Ronny Boy. We are on a Roll, Baby!!!\\r\\n \\r\\n Ron laughs and points at the KKK Membership Card and Flip\\r\\n picks it up.\\r\\n \\r\\n CLOSE on the card as Flip reads it.\\r\\n \\r\\n FLIP\\r\\n RON STALLWORTH\\r\\n Member in Good Standing\\r\\n Knights of the Ku Klux Klan\\r\\n \\r\\n RON STALLWORTH\\r\\n That\\'s us The Stallworth Boys.\\r\\n \\r\\n FLIP\\r\\n Yeah, funny, but you didn\\'t have\\r\\n psychopath staring at you asking\\r\\n where you lived.\\r\\n \\r\\n RON STALLWORTH\\r\\n I called to warn you, but you must\\r\\n have already taken off.\\r\\n \\r\\n FLIP\\r\\n Ron, I wasn\\'t raised Jewish. It\\r\\n wasn\\'t a part of my Life. So I never\\r\\n thought much about being Jewish, was\\r\\n just another White Kid, didn\\'t even\\r\\n have my Bar Mitzvah. No Chanukah for\\r\\n me. Christmas. In this job, you try\\r\\n to keep things at a distance. You put\\r\\n up a Shield so you don\\'t feel\\r\\n anything... This shit is deep. When\\r\\n that Fuck Felix had me in that room\\r\\n and I kept having to deny my\\r\\n heritage...I have been passing.\\r\\n OMITTED.\\r\\n \\r\\n OMITTED.\\r\\n \\r\\n EXT. FREEDOM HOUSE - DAY\\r\\n \\r\\n Ron drives up and gets out of his Car and walks up meeting\\r\\n Patrice, Odetta, Hakeem and other Members of the Black\\r\\n Student Union outside holding flyers.\\r\\n \\r\\n Patrice stands there looking very upset, she shoves a Flyer\\r\\n out at Ron. He takes it, reads.\\r\\n \\r\\n THE FLYER (RON\\'S POV)\\r\\n \\r\\n A drawing of a Hooded and Robed Klansman. Above the Drawing,\\r\\n there\\'s Text: You Can Sleep Tonight Knowing The Klan Is\\r\\n Awake.\\r\\n \\r\\n 2 SHOT - PATRICE AND RON\\r\\n \\r\\n RON STALLWORTH\\r\\n Where\\'d you find them?\\r\\n PATRICE\\r\\n I found this one on my Car. But\\r\\n they\\'re all over The Neighborhood,\\r\\n too.\\r\\n \\r\\n Ron looks around seeing Residents and Students holding the\\r\\n Flyers, discussing them, some upset, others bewildered.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n Do you think this is Real?\\r\\n \\r\\n RON STALLWORTH\\r\\n It\\'s Real.\\r\\n \\r\\n ANGLE - STREET\\r\\n \\r\\n Hakeem, Odetta and the Others look around for them, pissed.\\r\\n \\r\\n PATRICE\\r\\n This is intimidation.\\r\\n \\r\\n RON STALLWORTH\\r\\n Clearly, this is about the Black\\r\\n Student Union and you.\\r\\n \\r\\n PATRICE\\r\\n Me?\\r\\n \\r\\n RON STALLWORTH\\r\\n You\\'ve been outspoken about the\\r\\n incident with the Police when Brother\\r\\n Kwame was here.\\r\\n \\r\\n PATRICE\\r\\n So the next time they\\'ll have a\\r\\n Burning Cross out Front.\\r\\n \\r\\n RON STALLWORTH\\r\\n They\\'re trying to get to you, like\\r\\n you said they want to intimidate make\\r\\n themselves feared. If you don\\'t let\\r\\n \\'em scare you. They got nothing. But\\r\\n keep your eyes open. Be Cool.\\r\\n \\r\\n ODETTA\\r\\n That\\'s the problem we\\'ve been too\\r\\n Cool!\\r\\n \\r\\n HAKEEM\\r\\n Way too Cool!\\r\\n \\r\\n RON STALLWORTH\\r\\n Maybe the both of you should call The\\r\\n Cops.\\r\\n HAKEEM\\r\\n How we know this ain\\'t some of the\\r\\n KKK\\'s Honky-Pig-Partners passing out\\r\\n this Shit!\\r\\n \\r\\n Patrice and Ron step away from Odetta and Hakeem. They walk\\r\\n and talk.\\r\\n \\r\\n EXT. WINDING ROAD - HILLSIDE - NIGHT\\r\\n \\r\\n A Fleet of Pickups rides uphill. A Flat Bed on the end of The\\r\\n Convoy has an Eighteen-Foot Wooden Cross fastened on it.\\r\\n A CSPD Patrol Car drives past The Convoy, headed downhill.\\r\\n \\r\\n 92 INT. IVANHOE\\'S CAR - WINDING ROAD - NIGHT\\r\\n \\r\\n Ivanhoe, riding with Flip, watches The Patrol Car pass in the\\r\\n opposite direction.\\r\\n \\r\\n IVANHOE\\r\\n Soak the Wood in Kerosene, we light a\\r\\n Cig on a pack of matches. Gives us\\r\\n time to Beat It before The Cross\\r\\n catches Fire. Safeguard against CSPD.\\r\\n \\r\\n FLIP\\r\\n Must be quite a sight.\\r\\n \\r\\n IVANHOE\\r\\n The Best. You can see it for Miles.\\r\\n Freaks out The Jew Media and puts\\r\\n Niggers on their Nigger Toes.\\r\\n \\r\\n They ride in silence for a moment.\\r\\n \\r\\n FLIP\\r\\n A lot of these Guys in The Army?\\r\\n \\r\\n IVANHOE\\r\\n Yeah, even got a few in Active Duty.\\r\\n \\r\\n FLIP\\r\\n Just finished my Second Tour in Nam.\\r\\n \\r\\n Ivanhoe\\'s eyes light up.\\r\\n \\r\\n IVANHOE\\r\\n Oh yeah? Know anything about C-4?\\r\\n \\r\\n FLIP\\r\\n Enough to make shit BLOW UP.\\r\\n Flip stops talking. He might\\'ve revealed a bit too much.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n EXT. OPPOSITE HILLSIDE - NIGHT\\r\\n \\r\\n Ron watches as Walter and Felix argue through Night Vision\\r\\n Binoculars. Ron says on the Walkie-Talkie.\\r\\n \\r\\n RON STALLWORTH\\r\\n Send another one.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n 93A EXT. TOP OF THE HILL - HILLSIDE - NIGHT\\r\\n \\r\\n Another Patrol Car passes.\\r\\n \\r\\n IVANHOE\\r\\n Damn, that\\'s The Second One. Pigs are\\r\\n out tonight.\\r\\n \\r\\n 94 EXT. TOP OF THE HILL - HILLSIDE - NIGHT\\r\\n \\r\\n The Convoy crests The Hill, pulls to The Side of The Road.\\r\\n \\r\\n The Klansmen dismount and gather around The Flatbed Truck\\r\\n carrying the Wooden Cross.\\r\\n \\r\\n Another CSPD Patrol Car appears. It passes by, not slowing.\\r\\n \\r\\n FELIX\\r\\n That makes Three Piggy Wiggys.\\r\\n \\r\\n Everyone stops what they\\'re doing.\\r\\n \\r\\n Felix turns and catches Flip\\'s eye. It almost seems as if\\r\\n he\\'s staring directly at Flip...\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n 94A EXT. OPPOSITE HILLSIDE - NIGHT\\r\\n \\r\\n RON LOOKING THROUGH THE BINOCULARS\\r\\n \\r\\n lowers them, grins to himself.\\r\\n \\r\\n RON STALLWORTH\\r\\n Good job, Men.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n 94B EXT. TOP OF THE HILL - HILLSIDE - NIGHT\\r\\n \\r\\n THE PICKUP TRUCKS\\r\\n Peeling out, heading back down The Hill.\\r\\n \\r\\n EXT. PATRICE\\'S HOUSE - DAY\\r\\n \\r\\n Patrice comes outside and gets in the Car taking off. Felix\\r\\n has been watching her the whole time sitting in his pick up\\r\\n truck. He spits, tosses his cigarette and follows her.\\r\\n \\r\\n 96 INT. RON\\'S DESK - CSPD INTELLIGENCE UNIT - NIGHT\\r\\n \\r\\n It\\'s late. Ron\\'s alone on the phone in mid-conversation. It\\r\\n is intercut with Devin Davis speaking on the sofa in his\\r\\n OFFICE:\\r\\n \\r\\n DEVIN DAVIS\\r\\n ...I don\\'t share this with many\\r\\n people, but My family had a Colored\\r\\n Housekeeper growing up. Her name was\\r\\n Pinky. She was probably the closest\\r\\n Woman to me other than Mother.\\r\\n \\r\\n RON STALLWORTH\\r\\n That surprises me.\\r\\n \\r\\n DEVIN DAVIS\\r\\n I know. People think I hate Negroes.\\r\\n I don\\'t and The Organization doesn\\'t\\r\\n either.\\r\\n \\r\\n Ron gives a \"This Is Crazy!\" Look.\\r\\n \\r\\n DEVIN DAVIS\\r\\n They just need to be with their own.\\r\\n That\\'s what Pinky would say, she had\\r\\n no problem with Segregation because\\r\\n she wanted to be with her own kind.\\r\\n \\r\\n RON STALLWORTH\\r\\n Sounds like she was a Mammy to you.\\r\\n \\r\\n DEVIN DAVIS\\r\\n She was. You ever see \"Gone with the\\r\\n Wind\"? Pinky was my Hattie McDaniel.\\r\\n She won an Oscar for Best Supporting\\r\\n Actress.\\r\\n \\r\\n RON STALLWORTH\\r\\n You were Scarlett and she was Mammy.\\r\\n \\r\\n DEVIN DAVIS\\r\\n That\\'s right. When she passed away it\\r\\n was like we lost one of the Family.\\r\\n RON STALLWORTH\\r\\n A good Nigger\\'s funny that way. In\\r\\n that sense they\\'re like a Dog. They\\r\\n can get real close to you and when\\r\\n you lose em\\'. Just breaks your heart.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Well said Ron.\\r\\n \\r\\n RON STALLWORTH\\r\\n I knew a Nigger once.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Didja?\\r\\n \\r\\n RON STALLWORTH\\r\\n Yeah. Nigger lived across the street\\r\\n from us. I must of been Six or Seven.\\r\\n His nickname was Butter Biscuit.\\r\\n \\r\\n DEVIN DAVIS\\r\\n How\\'d he get that nickname?\\r\\n \\r\\n RON STALLWORTH\\r\\n He loved his Mama\\'s Butter Biscuits.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Yum Yum!!!\\r\\n \\r\\n RON STALLWORTH\\r\\n Me and Butter Biscuit played together\\r\\n everyday. One day My Father came home\\r\\n early from work and told me I\\r\\n couldn\\'t play with him anymore\\r\\n because I was White and Butter\\r\\n Biscuit was a Nigger.\\r\\n \\r\\n INT. DEVIN DAVIS\\'S OFFICE - NIGHT\\r\\n \\r\\n Davis laughs.\\r\\n \\r\\n DEVIN DAVIS\\r\\n That\\'s rich.\\r\\n \\r\\n Ron\\'s face reveals the story is probably true, but reversed.\\r\\n \\r\\n RON STALLWORTH\\r\\n Ain\\'t it.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Your Father sounds like a Terrific\\r\\n Man.\\r\\n \\r\\n RON STALLWORTH\\r\\n Thanks, Buddy.\\r\\n DEVIN DAVIS\\r\\n Well, you\\'re an upstanding White\\r\\n Christian Man. I tell you this is why\\r\\n we need more people like us in Public\\r\\n Office. To get this Country back on\\r\\n Track.\\r\\n \\r\\n RON STALLWORTH\\r\\n Amen.\\r\\n \\r\\n DEVIN DAVIS\\r\\n For America to Achieve our\\r\\n Greatness... again.\\r\\n \\r\\n RON STALLWORTH\\r\\n Absolutely. Sure wish we had the\\r\\n chance to chat Face to Face.\\r\\n \\r\\n DEVIN DAVIS\\r\\n In due time, my friend, in due time.\\r\\n I\\'ll be in Colorado Springs for your\\r\\n initiation...\\r\\n \\r\\n RON STALLWORTH\\r\\n You\\'ll be in Colorado Springs?\\r\\n \\r\\n DEVIN DAVIS\\r\\n You bet your Mayflower Society Ass I\\r\\n will.\\r\\n \\r\\n Ron smiles and takes a SMALL NOTE PAD from his jacket pocket\\r\\n and writes something down.\\r\\n \\r\\n INT. COLORADO COLLEGE LIBRARY - NIGHT\\r\\n \\r\\n Patrice sits in front of a MICROFILM READER.\\r\\n \\r\\n CLOSE UP - PATRICE\\r\\n \\r\\n Her Face is covered with EMOTION as she rolls through the\\r\\n ghastly photos of BLACK LYNCHINGS.\\r\\n \\r\\n 97 INT. CSPD INTELLIGENCE UNIT - DAY\\r\\n \\r\\n Ron is alone at his desk. He is on the Undercover Phone Line.\\r\\n \\r\\n WALTER (O.S.)\\r\\n We need a new Leader. Someone\\r\\n everyone can unite behind. Felix\\r\\n would Love to be The One but we can\\'t\\r\\n let that happen. He\\'s a Crazy\\r\\n Sonofvabitch. A Loose Cannon. We need\\r\\n someone Articulate, who displays\\r\\n Great Leadership qualities...\\r\\n Cherry Revision 77.\\r\\n \\r\\n WALTER (O.S.) (CONT\\'D)\\r\\n It should be you, Ron. You should be\\r\\n Chapter President. You!!!\\r\\n \\r\\n Ron sits there a moment, unable to say a word. After he\\r\\n COMPOSES HIMSELF:\\r\\n \\r\\n RON STALLWORTH\\r\\n That would be quite an Honor.\\r\\n \\r\\n WALTER (O.S.)\\r\\n You will be Great...\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'ll have to think about this. My\\r\\n father is very ill and he lives in El\\r\\n Paso. I won\\'t have the time.\\r\\n \\r\\n WALTER (O.S.)\\r\\n You\\'re a Smart and Diligent Man. I\\'ve\\r\\n got no doubt you could handle it.\\r\\n OMITTED\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n The Car\\'s parked across The Street from Felix\\'s House. Ron\\r\\n listens in.\\r\\n \\r\\n INT. FELIX\\'S HOUSE - DINING ROOM - NIGHT\\r\\n \\r\\n The Whole Chapter is present. Half of them are open-carrying.\\r\\n In a corner, Ivanhoe teaches Flip the historic Klan\\r\\n handshake.\\r\\n \\r\\n CLOSE - Index and Middle Finger extended along The Inside\\r\\n Wrist.\\r\\n \\r\\n WALTER\\r\\n I think it\\'s time for some new Blood\\r\\n to get in here. I\\'m planning to step\\r\\n down as your President.\\r\\n \\r\\n Members exchanged looks. Felix can\\'t hide his smile.\\r\\n \\r\\n WALTER (CONT\\'D)\\r\\n I\\'d like to make a nomination...\\r\\n Mr. Ron Stallworth for Chapter\\r\\n President.\\r\\n \\r\\n The Room is Silent.\\r\\n \\r\\n FELIX\\r\\n We just met this Guy.\\r\\n IVANHOE\\r\\n He just walked in off the street.\\r\\n FELIX\\r\\n Let me ask a question. Is there\\r\\n anybody here that is willing to put\\r\\n their Neck on the Line for Ron?\\r\\n \\r\\n WALTER\\r\\n I will vouch for Ron.\\r\\n \\r\\n All eyes turn to Flip.\\r\\n \\r\\n FLIP\\r\\n It\\'s a Big Honor but I can\\'t accept.\\r\\n Problem is, what you Good Men need is\\r\\n a President who will be constant, on\\r\\n CALL Day In, Day Out. I\\'ll be back\\r\\n and forth between here and Dallas.\\r\\n \\r\\n INT. UNMARKED CAR - NIGHT\\r\\n \\r\\n Ron on headphones squints, WORRIED, saying to himself.\\r\\n \\r\\n RON STALLWORTH\\r\\n El Paso, Flip, El Paso...\\r\\n \\r\\n INT. FELIX\\'S HOUSE - DINING ROOM - NIGHT\\r\\n \\r\\n WALTER\\r\\n Dallas? I thought it was El Paso.\\r\\n \\r\\n The rest of the Chapter Members are paying attention now.\\r\\n \\r\\n FLIP\\r\\n Did I say Dallas?\\r\\n \\r\\n WALTER\\r\\n You sure did.\\r\\n \\r\\n FELIX\\r\\n Ron which One is it?\\r\\n \\r\\n IVANHOE\\r\\n Make up your mind.\\r\\n \\r\\n The whole Room waits.\\r\\n \\r\\n FLIP\\r\\n Dallas is where my Plane layover is.\\r\\n El Paso is where my sick Father is.\\r\\n \\r\\n They buy it. We think.\\r\\n \\r\\n IVANHOE\\r\\n Dallas, where they killed that Nigger\\r\\n Lover Kennedy.\\r\\n FELIX\\r\\n Where you learned that?\\r\\n \\r\\n IVANHOE\\r\\n I can read.\\r\\n \\r\\n The Chapter chatters in agreement.\\r\\n \\r\\n FLIP\\r\\n I just hope my Father isn\\'t cared for\\r\\n by some Texicano Spic Nurse.\\r\\n \\r\\n Collective moans.\\r\\n \\r\\n WALTER\\r\\n We\\'ll pray for ya Pop\\'s health.\\r\\n \\r\\n IVANHOE\\r\\n And Big Spic Teets!!!\\r\\n \\r\\n INT. CSPD INTELLIGENCE UNIT - RON\\'S DESK - DAY\\r\\n \\r\\n Ron is on the Undercover Phone Line. Sgt. Trapp sits behind\\r\\n him. Ron has his Receiver out so that Trapp can listen in.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m anxious to meet you and it will\\r\\n be something I share with my Family\\r\\n for Generations to come.\\r\\n \\r\\n 103A INT. DEVIN DAVIS\\'S OFFICE - DEVIN\\'S DESK - DAY\\r\\n \\r\\n INTERCUT RON AND SGT. TRAPP WITH DEVIN DAVIS AT HIS DESK:\\r\\n \\r\\n DEVIN DAVIS\\r\\n I\\'m eager to meet you too, Ron.\\r\\n \\r\\n Ron and Sgt. Trapp make eye contact. Sgt. Trapp nods, a laugh\\r\\n threatening to spring out of his Face.\\r\\n \\r\\n RON STALLWORTH\\r\\n Say, Mr. Davis... I just have to ask.\\r\\n Aren\\'t you ever concerned about some\\r\\n Smart-Aleck Negro calling you and\\r\\n pretending to be White?\\r\\n \\r\\n Sgt. Trapp covers his Mouth.\\r\\n \\r\\n DEVIN DAVIS\\r\\n No, I can always tell when I\\'m\\r\\n talking to a Negro.\\r\\n \\r\\n RON STALLWORTH\\r\\n How so?\\r\\n DEVIN DAVIS\\r\\n Take you, for example. I can tell you\\r\\n are a pure Aryan White Man by the way\\r\\n you pronounce certain words.\\r\\n \\r\\n Sgt. Trapp is doubled over now.\\r\\n \\r\\n RON STALLWORTH\\r\\n Any examples?\\r\\n \\r\\n DEVIN DAVIS\\r\\n Take the word \"are\". A pure Aryan\\r\\n like you or I would say it\\r\\n correctly... like \"are\". Negroes\\r\\n pronounce it \"are-uh\".\\r\\n \\r\\n RON STALLWORTH\\r\\n You are so White... Right. I want to\\r\\n thank you for this Lesson because if\\r\\n you had not brought it to my\\r\\n attention, I would never have noticed\\r\\n the difference between how We talk\\r\\n and how Negroes talk.\\r\\n \\r\\n Sgt. Trapp is laughing so hard he is shaking violently. He\\r\\n shakes his head as if to implore Ron to stop.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n From now on I\\'m going to pay close\\r\\n attention to my Telephone\\r\\n conversations so I can make sure I\\'m\\r\\n not talking to one of dem\\' Sneaky\\r\\n Coloreds.\\r\\n \\r\\n Ron cups The Receiver, looks at Sgt. Trapp, whispers.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n You okay?\\r\\n \\r\\n Sgt. Trapp gets up and bumbles away. Ron speaks into The\\r\\n PHONE:\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n I would love to continue this\\r\\n conversation when you are in Colorado\\r\\n Springs. Beautiful here, Sir. God\\'s\\r\\n Country.\\r\\n \\r\\n DEVIN DAVIS\\r\\n That\\'s what I\\'ve heard, Ron. You have\\r\\n a nice day.\\r\\n \\r\\n RON STALLWORTH\\r\\n You too, Sir. God Bless White\\r\\n America.\\r\\n Ron hangs up, laughing. He calls to Sgt. Trapp:\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n It\\'s over!!! You can come back!!!\\r\\n \\r\\n INT. FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Just then-- The Undercover Phone rings. Ron hesitates. It\\'s\\r\\n strange timing. He picks up.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Hello?\\r\\n \\r\\n FELIX (O.S.)\\r\\n It\\'s Felix.\\r\\n \\r\\n Ron quickly cups The Receiver.\\r\\n \\r\\n FELIX (O.S.)(CONT\\'D)\\r\\n Catch you at a bad time?\\r\\n \\r\\n RON STALLWORTH\\r\\n Not at all. Just... finishing a Meal.\\r\\n \\r\\n FELIX (O.S.)\\r\\n Meeting. My House. Now. Git ya Ass in\\r\\n gear and don\\'t tell Mealy Mouth\\r\\n Walter.\\r\\n \\r\\n 104 EXT. BACKYARD - FELIX\\'S HOUSE - DAY\\r\\n \\r\\n Flip looks down at a Steel Door built into The Ground, its\\r\\n latch left open. He looks around. Paranoid.\\r\\n \\r\\n 105 INT. FELIX\\'S STORM SHELTER - DAY\\r\\n \\r\\n Flip enters The Short Stairwell, steps to The Cement Floor.\\r\\n \\r\\n FELIX (O.S.)\\r\\n Welcome to The Promised Land.\\r\\n \\r\\n The Room is Tight. Military Outfits hang from The Wall,\\r\\n surrounding The Group of Klansmen, who sit on Milk Crates. In\\r\\n the corner, a Sniper Rifle rests on a swivel near Boxes of\\r\\n Canned Goods and Stacked Cots.\\r\\n \\r\\n Flip finds an empty Crate, Squats.\\r\\n \\r\\n Felix stands underneath a single hanging Light-Bulb.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n In about a week\\'s time, we will be\\r\\n welcoming Mr. Davis to our City.\\r\\n \\r\\n Felix lets that hang in The Air for a moment.\\r\\n FELIX (CONT\\'D)\\r\\n Who\\'s packing tonight?\\r\\n \\r\\n Ivanhoe goes upside his head with his handgun.\\r\\n IVANHOE\\r\\n I\\'m packed.\\r\\n \\r\\n One by one, Brothers brandish Weapons. Except Flip.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Where\\'s your Piece, Ron?\\r\\n \\r\\n FLIP\\r\\n I don\\'t carry it on me All The Time.\\r\\n \\r\\n The Chapter Members laugh teasingly.\\r\\n \\r\\n FELIX\\r\\n I got ya covered.\\r\\n \\r\\n FLIP\\r\\n Won\\'t happen again.\\r\\n \\r\\n Felix reaches behind his back, pulls out a Sharpe & Gibson\\r\\n .45 caliber and hands it to Flip.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n We\\'re gonna need your Good Shot come\\r\\n next Sunday.\\r\\n \\r\\n FLIP\\r\\n What\\'s gonna happen next Sunday?\\r\\n \\r\\n A beat. Felix regards the rest of the Men with gravity.\\r\\n \\r\\n FELIX\\r\\n The War is gonna come to us.\\r\\n \\r\\n FLIP\\r\\n Fuck ya\\'.\\r\\n \\r\\n Felix grins.\\r\\n \\r\\n IVANHOE\\r\\n Looks like we got ourselves another\\r\\n Soldier.\\r\\n \\r\\n FELIX\\r\\n Just make sure that when you\\'re at\\r\\n The Steakhouse, you\\'ve got your new\\r\\n friend with Ya.\\r\\n \\r\\n IVANHOE\\r\\n And give it a name.\\r\\n \\r\\n INT. FELIX\\'S HOUSE/BEDROOM - NIGHT\\r\\n \\r\\n Felix and Connie are in bed, she is lying on his chest.\\r\\n CONNIE\\r\\n Honey, you ever have second thoughts?\\r\\n \\r\\n FELIX\\r\\n About what?\\r\\n \\r\\n CONNIE\\r\\n Killin\\' \\'em.\\r\\n \\r\\n FELIX\\r\\n Never think twice about Killin\\'\\r\\n Niggers.\\r\\n CONNIE\\r\\n Won\\'t be able to take it back.\\r\\n \\r\\n FELIX\\r\\n They\\'re da\\' first of many Niggers\\r\\n that must die, Honey Bun.\\r\\n \\r\\n CONNIE\\r\\n I know. It\\'s just... becoming so\\r\\n real. It\\'s always seemed like a\\r\\n dream.\\r\\n \\r\\n Felix sits up, reflecting, proud and determined.\\r\\n \\r\\n FELIX\\r\\n I know. It\\'s just so beautiful. We\\'re\\r\\n cleansing this Country of a\\r\\n backwards Race of Monkey\\'s. First the\\r\\n Spooks then the Kikes.\\r\\n \\r\\n Felix sits up raising his hand like Martin Luther King.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n Free at last! Free at Last! Thank God\\r\\n a\\'mighty - Free a\\' dem Niggers At\\r\\n Last!!!\\r\\n \\r\\n They chuckle.\\r\\n \\r\\n CONNIE\\r\\n I love when you do that, Honey.\\r\\n \\r\\n Connie looks into his eyes, also reflective.\\r\\n \\r\\n CONNIE (CONT\\'D)\\r\\n You know, we\\'ve talked about killing\\r\\n Niggers for so many years and now\\r\\n it\\'s really happening.\\r\\n \\r\\n FELIX\\r\\n My Old Man always told me good things\\r\\n come to those who wait.\\r\\n \\r\\n She touches the side of his face, very loving.\\r\\n \\r\\n CONNIE\\r\\n Thank you for bringing me into you\\r\\n Life. For loving me like you do and\\r\\n giving me a purpose, direction.\\r\\n \\r\\n FELIX\\r\\n Y\\'know, this will be the Shot heard\\r\\n around The World.\\r\\n CONNIE\\r\\n The New Boston Tea Party.\\r\\n FELIX\\r\\n Honey Bun, one day, The Great\\r\\n Historians will write about us like\\r\\n that. They\\'ll say we were the\\r\\n Patriots that saved America. You and\\r\\n me. We turned the Tide. Saved our\\r\\n True White Race... it fact, saved an\\r\\n entire Nation and brought it back to\\r\\n its Glorious Destiny.\\r\\n \\r\\n CONNIE\\r\\n In a way, we\\'re The New Founding\\r\\n Fathers.\\r\\n \\r\\n This strikes Felix. He sits there soaking it in. He finally\\r\\n turns to Connie.\\r\\n \\r\\n FELIX\\r\\n Yes we are... Martha.\\r\\n \\r\\n CONNIE\\r\\n Indeed we are... George.\\r\\n The Couple Kiss each other passionately.\\r\\n \\r\\n 106 OMITTED\\r\\n \\r\\n 107 OMITTED\\r\\n \\r\\n 108 INT. CSPD INTELLIGENCE UNIT - DAY\\r\\n \\r\\n Ron arrives. Sits at his Desk. A deep sigh. But then...\\r\\n \\r\\n He sees something. On his Desk. A Simple Note:\\r\\n \\r\\n ACACIA PARK. 12 PM. BRING CASE BOOK. AGENT Y - FBI.\\r\\n \\r\\n EXT. OLD ABANDONED BREWSTER\\'S FACTORY - DAY\\r\\n \\r\\n Ron\\'s Car is parked, and another Car drives up and parks\\r\\n across from him.\\r\\n \\r\\n ANGLE - BOTH CARS\\r\\n \\r\\n AGENT Y - (40\\'s) in a Suit - gets out the car and Ron follows\\r\\n suit.\\r\\n \\r\\n MAN (O.S.)\\r\\n Mr. Stallworth.\\r\\n \\r\\n RON STALLWORTH\\r\\n Agent... Y?\\r\\n EXT. OLD ABANDONED BREWSTER\\'S FACTORY - DAY\\r\\n \\r\\n AGENT Y\\r\\n Names of Chapter Members?\\r\\n \\r\\n Agent Y shows Ron a folder and runs his Finger down The List\\r\\n and suddenly stops. He then continues going down The List,\\r\\n then stops again. He pulls out a Small Ledger and makes a\\r\\n note.\\r\\n \\r\\n RON STALLWORTH\\r\\n What is this about?\\r\\n \\r\\n Agent Y turns back.\\r\\n \\r\\n AGENT Y\\r\\n Two Names on your list work at NORAD.\\r\\n \\r\\n RON STALLWORTH\\r\\n The Two Mystery men. Steve and Jerry?\\r\\n \\r\\n AGENT Y\\r\\n Their real names are Harry Dricks and\\r\\n Kevin Nelson. Two Clowns with Top\\r\\n Security clearances. These Klansmen\\r\\n are in charge of monitoring our\\r\\n Safety.\\r\\n \\r\\n Agent Y lets this sink in. Even Ron is surprised by this.\\r\\n \\r\\n AGENT Y (CONT\\'D)\\r\\n You\\'ve done a Service to your\\r\\n Country.\\r\\n \\r\\n Agent Y slips Ron a folder full of Papers.\\r\\n \\r\\n AGENT Y (CONT\\'D)\\r\\n We\\'ve been monitoring your\\r\\n Investigation. Impressive.\\r\\n \\r\\n Ron flips through the Papers. Various documents about The\\r\\n History of The Colorado Klan.\\r\\n Agent Y takes a thoughtful pause.\\r\\n \\r\\n AGENT Y (CONT\\'D)\\r\\n Last night, Fort Carson reported\\r\\n several C4 Explosives missing from\\r\\n their Armory. No suspects.\\r\\n \\r\\n RON STALLWORTH\\r\\n Klan...?\\r\\n \\r\\n Agent Y doesn\\'t say anything. Not confirming, not denying.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n We thought they might pull something.\\r\\n But not like this?\\r\\n \\r\\n AGENT Y\\r\\n You won\\'t see this on the News. For\\r\\n obvious reasons but I thought it\\r\\n might be of interest to you.\\r\\n \\r\\n Agent Y rises to his feet. Ron rises as well.\\r\\n \\r\\n RON STALLWORTH\\r\\n If you know about an attack, I need\\r\\n to know when.\\r\\n \\r\\n AGENT Y\\r\\n You\\'re the one with the Impressive\\r\\n Investigation.\\r\\n \\r\\n Agent Y walks to his car.\\r\\n \\r\\n RON STALLWORTH\\r\\n But... can\\'t you, The FBI pitch in?\\r\\n \\r\\n Agent Y gets in his car.\\r\\n \\r\\n AGENT Y\\r\\n Federal Bureau of Investigation?\\r\\n \\r\\n Ron just looks at him.\\r\\n \\r\\n AGENT Y (CONT\\'D)\\r\\n Because we never had this\\r\\n conversation.\\r\\n \\r\\n Agent Y drives off.\\r\\n Felix and Flip are alone.\\r\\n \\r\\n FELIX\\r\\n Flip, I\\'m starting to trust you. I\\'m\\r\\n gonna tell you something none of our\\r\\n Brothers know. My lil\\' sister married\\r\\n a Nigger. Now I got a lil\\' Nigger\\r\\n Niece and a lil\\' Nigger Nephew. Jesus\\r\\n Christ, The World\\'s going to Hell in\\r\\n a Handbasket! Do me a favor, don\\'t\\r\\n tell nobody. Cuz\\' if you do, I\\'m\\r\\n gonna have to shoot you dead. I\\'m\\r\\n serious.\\r\\n \\r\\n FLIP\\r\\n Thanks for sharing.\\r\\n \\r\\n EXT. FREEDOM HOUSE, PORCH - DAY\\r\\n \\r\\n Ron and Patrice are going at it on the Porch. The Freedom\\r\\n House Protestors assemble on the street to March on the KKK.\\r\\n \\r\\n RON STALLWORTH\\r\\n You can hate me all you want to, just\\r\\n promise me you won\\'t go to The\\r\\n Protest.\\r\\n \\r\\n PATRICE\\r\\n I\\'m going. We\\'re going. What are you\\r\\n talking about?\\r\\n \\r\\n RON STALLWORTH\\r\\n I can\\'t say specifics but today, The\\r\\n Klan is planning an Attack.\\r\\n \\r\\n PATRICE\\r\\n Then we have to tell The People.\\r\\n \\r\\n RON STALLWORTH\\r\\n Not an option.\\r\\n PATRICE\\r\\n What\\'s wrong with you?\\r\\n \\r\\n RON STALLWORTH\\r\\n No one can know while it\\'s an Active\\r\\n Investigation...\\r\\n \\r\\n PATRICE\\r\\n Active Investigation? And pray tell\\r\\n how do you know all this? You a Cop?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m not a Cop.\\r\\n \\r\\n Silence.\\r\\n \\r\\n PATRICE\\r\\n What are you, then?...\\r\\n \\r\\n Ron takes a moment. Then...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...I\\'m a Undercover Detective. I\\'ve\\r\\n been investigating The Klan.\\r\\n \\r\\n PATRICE\\r\\n Fuckin\\' KKK? Ron Stallworth, you lied\\r\\n to me. Is that even your real name?\\r\\n \\r\\n RON STALLWORTH\\r\\n Ron Stallworth is my first and last\\r\\n name. Today\\'s not the day...\\r\\n \\r\\n PATRICE\\r\\n I take my Duties as President Of The\\r\\n Black Student Union seriously. What\\r\\n is this all about?\\r\\n \\r\\n RON STALLWORTH\\r\\n All the good it does. You could sit\\r\\n in the middle of Nevada Avenue and\\r\\n set yourself on Fire and The Klan\\r\\n will still be here.\\r\\n \\r\\n PATRICE\\r\\n I\\'d be doing something. Unlike you.\\r\\n \\r\\n RON STALLWORTH\\r\\n Unlike Me? Don\\'t think because I\\'m\\r\\n not wearing a Black Beret, Black\\r\\n Leather Jacket and Black Ray Bans\\r\\n screaming \"KILL WHITEY\" doesn\\'t mean\\r\\n I don\\'t care about my People.\\r\\n \\r\\n Patrice takes this in.\\r\\n PATRICE\\r\\n That night we saw Brother Kwame...\\r\\n were you Undercover then too?\\r\\n \\r\\n RON STALLWORTH\\r\\n Patrice...\\r\\n \\r\\n PATRICE\\r\\n ...Answer the question. Were you\\r\\n Undercover The Night we met?\\r\\n \\r\\n Ron is silent.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n Ron Stallworth are you for Revolution\\r\\n and The Liberation of Black People?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m a Undercover Detective for The\\r\\n Colorado Springs Police Department.\\r\\n It\\'s my J-O-B.\\r\\n \\r\\n PATRICE\\r\\n House Niggers said they had J-O-B-S\\r\\n too. You disgust me.\\r\\n OMITTED\\r\\n \\r\\n INT. PHONE BOOTH - DAY\\r\\n \\r\\n Butch is on the phone.\\r\\n \\r\\n BUTCH\\r\\n It\\'s off.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - RON\\'S DESK - DAY\\r\\n \\r\\n INTERCUT WITH BUTCH. Ron on the phone with Butch.\\r\\n \\r\\n RON STALLWORTH\\r\\n The March?\\r\\n \\r\\n BUTCH\\r\\n Yeah.\\r\\n \\r\\n RON STALLWORTH\\r\\n What\\'s going on?\\r\\n \\r\\n BUTCH\\r\\n You\\'ll know soon enough.\\r\\n \\r\\n CLICK! Ron hangs up the phone, dreading this. He turns to\\r\\n Sgt. Trapp and Flip who have been standing there, listening.\\r\\n RON STALLWORTH\\r\\n Felix just said the March was\\r\\n cancelled.\\r\\n \\r\\n FLIP\\r\\n Why?\\r\\n \\r\\n All Ron can do is shake his head. He paces, concerned.\\r\\n \\r\\n SGT. TRAPP\\r\\n Could be all the Death Threats.\\r\\n \\r\\n RON STALLWORTH\\r\\n They\\'re used to that.\\r\\n \\r\\n FLIP\\r\\n And there\\'s been nothing more about\\r\\n explosives?\\r\\n \\r\\n RON STALLWORTH\\r\\n No.\\r\\n \\r\\n Chief Bridges walks in unexpectedly with Landers. Everyone\\r\\n snaps up, respectful.\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n ...I have a Special Assignment for\\r\\n Ron.\\r\\n \\r\\n SGT. TRAPP\\r\\n Ron already has an assignment.\\r\\n \\r\\n RON STALLWORTH\\r\\n What\\'s more important than preventing\\r\\n an Attack?\\r\\n \\r\\n Chief Bridges hands Ron \"The Devin Davis Death Threat Fax.\"\\r\\n \\r\\n CHIEF BRIDGES\\r\\n There are very credible threats to\\r\\n Devin Davis\\'s Life. Ron, I\\'m\\r\\n assigning you to be Security Detail\\r\\n for Davis.\\r\\n \\r\\n A Shockwave.\\r\\n \\r\\n RON STALLWORTH\\r\\n I don\\'t think that\\'s a wise\\r\\n decision...\\r\\n LANDERS\\r\\n ...Davis needs protection. There\\'s no\\r\\n one else available.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Ron, it\\'s Nut Cracking Time. Put your\\r\\n Personal Politics aside.\\r\\n \\r\\n FLIP\\r\\n Chief, it\\'s not about that and you\\r\\n know it. Devin Davis and Ron have\\r\\n been speaking over the phone, several\\r\\n times. If he recognizes his voice...\\r\\n or if any of The Klansmen do, it\\r\\n could compromise Our Entire\\r\\n Investigation.\\r\\n \\r\\n RON STALLWORTH\\r\\n A Clusterfuck.\\r\\n \\r\\n CHIEF BRIDGES curls a smile.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Correct me if I\\'m wrong but didn\\'t\\r\\n you boast that you were fluent in\\r\\n both English and Jive?\\r\\n \\r\\n Ron is quiet.\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n Do you remember that?\\r\\n \\r\\n LANDERS\\r\\n Answer The Chief!\\r\\n \\r\\n Ron goes at Landers.\\r\\n \\r\\n RON STALLWORTH\\r\\n Man, who you think you\\'re talking to.\\r\\n You\\'ve been trying to sabotage me\\r\\n since Day One.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Gentlemen.\\r\\n \\r\\n LANDERS\\r\\n Why you getting so worked up, Boy?\\r\\n \\r\\n RON STALLWORTH\\r\\n Who you callin\\' Boy?\\r\\n \\r\\n Chief raises his eyebrows from the comment. A pissed Master\\r\\n Patrolman Landers turns to Chief Bridges for support but he\\r\\n says nothing. Landers then Exits. Chief says to Ron.\\r\\n CHIEF BRIDGES\\r\\n If you let him get to you that easy,\\r\\n you ain\\'t got a Shot with Devin\\r\\n Davis.\\r\\n \\r\\n Ron takes his SMALL NOTE PAD out and writes something down\\r\\n again. Chief Bridges looks at him confused.\\r\\n \\r\\n INT. FELIX\\'S HOUSE/GARAGE - NIGHT\\r\\n \\r\\n A work light shines over them. WALKER, 40\\'s, a tattooed Ex-\\r\\n Con and Demolitions Expert, instructs Felix, Ivanhoe and\\r\\n Connie. They stand around a large work bench in the garage.\\r\\n He carefully removes a large C4 Bomb from his gym bag.\\r\\n \\r\\n WALKER\\r\\n Listen up. First, The Primary Target.\\r\\n \\r\\n Walker speaks to Connie. He sets The Bomb on the work bench.\\r\\n \\r\\n WALKER (CONT\\'D)\\r\\n Felix says you\\'re doing it. So all\\r\\n you have to do is set the pocketbook\\r\\n on the front porch, back porch, side\\r\\n wall, doesn\\'t matter. It just has to\\r\\n be against the building. You can\\r\\n plant it anywhere. There\\'s enough C4\\r\\n here to take the whole thing out.\\r\\n \\r\\n Walker hands the C4 to Felix.\\r\\n \\r\\n WALKER\\r\\n Be careful with that.\\r\\n \\r\\n FELIX\\r\\n Understand?\\r\\n \\r\\n Felix hands the C4 to Connie.\\r\\n \\r\\n CONNIE\\r\\n I understand.\\r\\n \\r\\n WALKER\\r\\n All you have to do when you\\'ve placed\\r\\n it...\\r\\n \\r\\n Walker puts his Finger on the Toggle Switch.\\r\\n \\r\\n WALKER (CONT\\'D)\\r\\n ...is flip this switch. That\\'s it.\\r\\n Got it?\\r\\n \\r\\n Walker passes the detonator to Felix, who passes it to\\r\\n Connie.\\r\\n FELIX\\r\\n Miss Black Student Union Bitch is\\r\\n bringing in some Old Coon to speak.\\r\\n The place should be packed. So\\r\\n Walker, nothing but rubble...\\r\\n \\r\\n WALKER\\r\\n ...And Barbecue Niggers.\\r\\n \\r\\n Ivanhoe laughs, liking that. Walker carefully removes another\\r\\n Smaller Bomb from the bag. He can hold it in one hand.\\r\\n FELIX\\r\\n And what happens if that don\\'t work?\\r\\n \\r\\n WALKER\\r\\n Plan B.\\r\\n \\r\\n FELIX\\r\\n Can you handle it, Honey?\\r\\n \\r\\n CONNIE\\r\\n You can count on me. I\\'ve been\\r\\n waiting to do my part.\\r\\n \\r\\n He gives her a peck on the lips.\\r\\n \\r\\n WALKER\\r\\n Lovebirds. Get a Hotel Room.\\r\\n \\r\\n Connie puts the C-4, Smaller Bomb and Detonator into her\\r\\n Pocketbook. Ivanhoe reaches for it.\\r\\n \\r\\n IVANHOE\\r\\n Can I feel it?\\r\\n \\r\\n WALKER\\r\\n No!!! No feel!!!\\r\\n \\r\\n EXT. ANTLERS HOTEL - DAY\\r\\n \\r\\n Ron still in plain clothes parks his unmarked car in the lot\\r\\n of The Luxurious Antlers Hotel on South Cascade Ave.\\r\\n \\r\\n He walks toward the entrance, where the Six Bikers stand\\r\\n around Davis\\' Sedan. The Bikers all look up simultaneously.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m Mr. Davis\\' Security Detail.\\r\\n \\r\\n They look at each other, then back at Ron. They say nothing.\\r\\n \\r\\n Just then Davis emerges from The Hotel, wearing a neatly\\r\\n pressed Suit and Tie. He nods to the Bikers, then looks up at\\r\\n the Plainclothes Black Detective in front of him.\\r\\n \\r\\n Ron steps forward, extending a hand.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Hello, Mr. Davis. I\\'m a Detective\\r\\n from The Colorado Springs Police\\r\\n Department and I will be acting as\\r\\n your Bodyguard today.\\r\\n \\r\\n Davis smiles and shakes Ron\\'s hand.\\r\\n DEVIN DAVIS\\r\\n Detective, pleased to meet you.\\r\\n \\r\\n RON STALLWORTH\\r\\n As you may know, there have been\\r\\n several credible Threats against your\\r\\n Well-Being.\\r\\n \\r\\n Walter and Ivanhoe walk outside The Hotel seeing Ron standing\\r\\n with Devin Davis.\\r\\n \\r\\n WALTER\\r\\n Da Heck\\'s going on here?\\r\\n DEVIN DAVIS\\r\\n There are Threats on my Life. This\\r\\n Detective has been assigned as my\\r\\n Bodyguard.\\r\\n \\r\\n Walter and Ivanhoe smile broadly. Ron changes his VOICE\\r\\n slightly for Walter.\\r\\n \\r\\n RON STALLWORTH\\r\\n Let me be clear, Mr. Davis: I do not\\r\\n agree with your Philosophies. However\\r\\n I am a Professional and I will do\\r\\n everything within my means and beyond\\r\\n to keep you safe.\\r\\n \\r\\n Davis stands there a moment, processing all of this. Maybe\\r\\n he\\'s heard that voice somewhere before? Then...\\r\\n \\r\\n DEVIN DAVIS\\r\\n I appreciate your Professionalism.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n \\r\\n EXT. STREETS - DAY\\r\\n \\r\\n BIKERS that look like Hells Angels Types lead a Motorcade\\r\\n through the streets of Colorado Springs with Two Vans behind\\r\\n them.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n EXT. STEAKHOUSE - DAY\\r\\n \\r\\n The Van pulls up and the Door is RIPPED open. Walter stands\\r\\n there, big smile on his face as Flip steps out.\\r\\n \\r\\n WALTER\\r\\n Sorry for the Extra Security today.\\r\\n Can\\'t be too careful. Ready to meet\\r\\n Mr. Davis?\\r\\n \\r\\n INT. STEAKHOUSE - DAY\\r\\n \\r\\n Flip follows Walter to a large Table near the back, where\\r\\n Felix, Ivanhoe and other Chapter Members stand around\\r\\n chatting with Devin Davis.\\r\\n Everyone stands in line in awe of The Grand Wizard to shake\\r\\n his hand. Davis turns and smiles as Flip approaches.\\r\\n \\r\\n WALTER\\r\\n Mr. Davis, our newest recruit, Ron\\r\\n Stallworth.\\r\\n \\r\\n He shakes both of their Hands.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Ron, it\\'s my pleasure to finally meet\\r\\n you in person.\\r\\n \\r\\n Both of Davis\\' hands clasp Flip\\'s hand tight.\\r\\n \\r\\n FLIP\\r\\n You as well.\\r\\n \\r\\n Davis pauses a moment as he processes Flip\\'s voice. Is this\\r\\n the same person he\\'s been talking to on the phone?\\r\\n \\r\\n Davis SLAPS Flip on the back appearing like best buddies. Ron\\r\\n stands in the Background.\\r\\n \\r\\n ANGLE - STEAKHOUSE - DAY\\r\\n \\r\\n The room filled with People mingling eating Hors d\\'oeuvres.\\r\\n Walter stands between Flip and Davis as he holds Court.\\r\\n \\r\\n Flip, Ivanhoe, Walter, Felix and Connie all drink it up\\r\\n totally impressed and star struck. Felix does a double take\\r\\n when he sees Ron.\\r\\n \\r\\n FELIX\\r\\n What\\'s that doing here?\\r\\n \\r\\n IVANHOE\\r\\n Fuckin\\' Cop assigned to guard Mister\\r\\n Davis. Isn\\'t that the livin\\' Shits?\\r\\n \\r\\n DEVIN DAVIS\\r\\n Everybody, it is time.\\r\\n \\r\\n Felix stares at Ron, pondering the door meeting.\\r\\n \\r\\n FELIX\\r\\n You stay here. Ya hear?\\r\\n \\r\\n INT. WAITING ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n The Mood now Solemn and Deadly Serious and Religious. Flip\\r\\n and Ten other INDUCTEES stand in a cramped waiting room. They\\r\\n all wear Klan robes and White Lone Ranger Masks. The other\\r\\n inductees are grinning ear to ear, like Kids on Early Morning\\r\\n Christmas.\\r\\n JESSE NAYYAR steps in. Jesse is 35, Clean-Shaven, in shape\\r\\n underneath his flowing Klan robe.\\r\\n \\r\\n JESSE\\r\\n I\\'m Jesse Nayyar, Colorado\\'s Grand\\r\\n Dragon. I welcome you all to this\\r\\n Sacred Ceremony.\\r\\n \\r\\n Jesse stands tall, beaming. Flip wipes his brow.\\r\\n \\r\\n JESSE (CONT\\'D)\\r\\n In a moment you will take a Life Oath\\r\\n to join the most Sacred Brotherhood\\r\\n this Nation has ever seen.\\r\\n \\r\\n Jesse allows for a dramatic pause. Davis addresses them.\\r\\n \\r\\n DEVIN DAVIS\\r\\n My Brothers in Christ, Nobel Prize\\r\\n recipient and Co-Creator of the\\r\\n Transistor and my dear friend,\\r\\n William Shockley, whose Scientific\\r\\n work ushered in the Computer Age, has\\r\\n proven through his Research with\\r\\n Eugenics that each of us have flowing\\r\\n through our veins the Genes of a\\r\\n Superior Race. Today, we celebrate\\r\\n that Truth.\\r\\n \\r\\n Flip and the others stand strong and ready.\\r\\n \\r\\n JESSE (CONT\\'D)\\r\\n Hoods on, Gentlemen.\\r\\n \\r\\n The Inductees take off the Masks and put on their Hoods,\\r\\n covering their Faces. Flip hesitates, then pulls his hood on.\\r\\n \\r\\n INT. STEAKHOUSE/KITCHEN AREA - DAY\\r\\n \\r\\n Ron sees a Black WAITER, JOSH, 50, and nears him, whispering\\r\\n in his ear. The Waiter looks around and gestures for Ron to\\r\\n follow him. Ron follows Josh up a back set of stairs. He\\r\\n points to a door and Ron SLAPS twenty dollars in his hand.\\r\\n Josh leaves. Ron goes through the door.\\r\\n \\r\\n INT. STEAKHOUSE/STORAGE ROOM - DAY\\r\\n \\r\\n Ron enters the small storage room full of Janitorial\\r\\n supplies. He looks through a small window down at the Private\\r\\n Room below.\\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n The House is filled to capacity watching Patrice speak at the\\r\\n podium as JEROME TURNER, Black, 90 Years Young, a\\r\\n distinguished Gentleman, sits across from her.\\r\\n \\r\\n PATRICE\\r\\n I am extremely honored today to\\r\\n introduce our speaker for today\\r\\n Mister Jerome Turner. Mr. Turner was\\r\\n born in 1898 in Waco, Texas.\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY - INTERCUT\\r\\n \\r\\n The Inductees step inside a dark room lit only by Candles.\\r\\n Devin Davis\\' Voice, ghostly, Calls from The Darkness.\\r\\n \\r\\n DEVIN DAVIS(O.S.)\\r\\n God... give us True White Men. The\\r\\n Invisible Empire demands strong\\r\\n Minds, Great Heart, True Faith, and\\r\\n ready hands...\\r\\n \\r\\n The Inductees align themselves in a row.\\r\\n \\r\\n DEVIN DAVIS(O.S.) (CONT\\'D)\\r\\n Men who have Honor. Men who will not\\r\\n Lie. Men who can stand before a\\r\\n Demagogue and damn his treacherous\\r\\n flatteries without blinking.\\r\\n \\r\\n Flip can see Davis now, illuminated by Candles, wearing his\\r\\n own Ceremonial Robe. His Hood does not cover his Face.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. FREEDOM HOUSE - NIGHT\\r\\n \\r\\n Turner is at the Podium. He speaks slowly but with strength.\\r\\n \\r\\n JEROME TURNER\\r\\n It was a nice spring day, Waco, Texas\\r\\n May 15th, Nineteen Hundred and\\r\\n Sixteen.\\r\\n CUT BACK TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n Flip looks around and the Room comes into Focus: He is\\r\\n surrounded, on all sides, by Klansmen wearing Robes and Hoods\\r\\n and holding Candles. It\\'s a Surreal, Hair-Raising experience.\\r\\n \\r\\n JEROME TURNER (V.O.)(CONT\\'D)\\r\\n Jesse Washington was a friend of\\r\\n mine. He was Seventeen, I was\\r\\n Eighteen. He was what they called\\r\\n back then, Slow. Today it\\'s called\\r\\n Mentally Retarded.\\r\\n \\r\\n CUT BACK TO:\\r\\n \\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n CLOSE - JEROME TURNER\\r\\n \\r\\n JEROME TURNER (CONT\\'D)\\r\\n They claim Jesse Raped and Murdered a\\r\\n White Woman named Lucy Fryer. They\\r\\n put Jesse on Trial and he was\\r\\n convicted by an All White Jury after\\r\\n deliberating for Four Minutes.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n CLOSE - DEVIN DAVIS\\r\\n \\r\\n DEVIN DAVIS\\r\\n God give us real Men, Courageous, who\\r\\n flinch not at Duty. Men of Dependable\\r\\n Character, Men of Sterling Worth.\\r\\n Then Wrongs will be Redressed and\\r\\n Right will Rule The Earth. God give\\r\\n us True White Men!\\r\\n \\r\\n Silence. Then...\\r\\n \\r\\n DEVIN DAVIS (CONT\\'D)\\r\\n Ron Stallworth, come forward.\\r\\n CUT TO:\\r\\n \\r\\n INT. STEAKHOUSE/STORAGE ROOM - DAY\\r\\n \\r\\n Ron looks down from the window. Flip steps toward Davis.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n CLOSE - JEROME TURNER\\r\\n \\r\\n JEROME TURNER\\r\\n I was working at the Shoe Shine\\r\\n Parlor. After the verdict, a Mob\\r\\n grabbed Jesse, wrapped a Chain around\\r\\n his Neck and dragged him out the\\r\\n Court House.\\r\\n \\r\\n CLOSE - 3 SHOT - PATRICE, ODETTA, HAKEEM\\r\\n \\r\\n CLOSE - JEROME TURNER\\r\\n \\r\\n JEROME TURNER (CONT\\'D)\\r\\n I knew I had to hide.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n DEVIN DAVIS\\r\\n Ron Stallworth. Are you a White, Non-\\r\\n Jewish American Citizen?\\r\\n \\r\\n Flip is breathing hard.\\r\\n \\r\\n FLIP\\r\\n Yes.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Yes, what?\\r\\n \\r\\n FLIP\\r\\n I am a White, Non-Jewish American\\r\\n Citizen.\\r\\n CUT TO:\\r\\n \\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n CLOSE - PATRICE\\r\\n \\r\\n Tears roll down her face.\\r\\n \\r\\n JEROME TURNER (V.O.)\\r\\n The Attic of the Parlor had a Small\\r\\n Window and I watched below as The Mob\\r\\n marched Jesse along Stabbing and\\r\\n Beating him. Finally, they held Jesse\\r\\n down and cut his Testicles off in\\r\\n Front of City Hall.\\r\\n \\r\\n CLOSE - JEROME TURNER\\r\\n \\r\\n JEROME TURNER (V.O.) (CONT\\'D)\\r\\n The Police and City Officials were\\r\\n out there just watching like it was a\\r\\n 4th of July Parade.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n Davis looks into Flip\\'s Eyes. Flip returns The Stare.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Are you in favor of a White Man\\'s\\r\\n Government in this Country?\\r\\n \\r\\n INT. STEAKHOUSE/STORAGE ROOM - DAY\\r\\n \\r\\n Candles from The Ceremony reflecting in the window in front\\r\\n of Ron\\'s face as he watches The Madness.\\r\\n \\r\\n JEROME TURNER (V.O.)\\r\\n They cut off Jesse\\'s Fingers and\\r\\n poured Coal Oil over his Bloody Body,\\r\\n lit a Bonfire and for two hours they\\r\\n raised and lowered Jesse into the\\r\\n Flames over and over and over again.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n CLOSE - Flip stands there holding in his emotions.\\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n CLOSE - JEROME TURNER\\r\\n \\r\\n JEROME TURNER (CONT\\'D)\\r\\n The Mayor had a Photographer by the\\r\\n name of Gildersleeve come and take\\r\\n Pictures of the whole Lynching.\\r\\n \\r\\n DEVIN DAVIS (O.S.)\\r\\n Ron Stallworth. Are you willing to\\r\\n dedicate your Life to the Protection,\\r\\n Preservation and Advancement of the\\r\\n White Race?\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n PHOTOS OF THE LYNCHING OF JESSE WASHINGTON\\r\\n \\r\\n Horrific, Barbaric, Simply Unreal!\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n Devin Davis holds an Aspergillus in one Hand, a Bowl of Water\\r\\n in the other Hand. The Inductees drop to their knees.\\r\\n \\r\\n DEVIN DAVIS (CONT\\'D)\\r\\n In Mind, in Body, in Spirit.\\r\\n \\r\\n Davis sprinkles Water on each Inductee.\\r\\n \\r\\n CUT TO:\\r\\n \\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n More Lynching Photos!!!\\r\\n \\r\\n JEROME TURNER (V.O.)\\r\\n The Pictures were sold as Post Cards.\\r\\n They put Jesse\\'s charred Body in a\\r\\n Bag and dragged it through Town then\\r\\n sold what was left of his remains as\\r\\n Souvenirs.\\r\\n \\r\\n CUT BACK TO:\\r\\n \\r\\n INT. PRIVATE ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n CLAPPING and CHEERING from the Audience filled with Pride.\\r\\n The Inductees on their Feet. The End of The Ceremony.\\r\\n Wives and Parents are crying with Joy. Children watch.\\r\\n JEROME TURNER (V.O.) (CONT\\'D)\\r\\n Good White Folks cheered and laughed\\r\\n and had a High Ole\\' Time. They\\r\\n estimate close to Fifteen Thousand\\r\\n people watched it. They brought The\\r\\n Children out on Lunch hour from\\r\\n School. All I could do was Watch and\\r\\n Pray they wouldn\\'t find me.\\r\\n \\r\\n INT. FREEDOM HOUSE - DAY\\r\\n \\r\\n MORE LYNCHING PHOTOS of The Enormous Crowd. No one Hides\\r\\n their Faces. Everyone is proud to be there.\\r\\n \\r\\n INT. FREEDOM HOUSE - NIGHT\\r\\n \\r\\n The Crowd at the Lecture is Destroyed by The Story. People\\r\\n are Weeping, Tears streaming down faces, Odetta and Hakeem\\r\\n sit there, stunned. Patrice her Eyes Red with Tears leads the\\r\\n audience around the room examining the LYNCHING PHOTOS that\\r\\n are on display.\\r\\n \\r\\n ___ INT. STEAKHOUSE/STORAGE ROOM - DAY\\r\\n Ron sees Flip\\'s Ceremony completed and goes downstairs.\\r\\n \\r\\n ______INT. PRIVATE ROOM - STEAKHOUSE - NIGHT\\r\\n \\r\\n The lights are now on, The Candles extinguished, The Hoods\\r\\n have been removed. Everyone sits watching as D.W. Griffith\\'s\\r\\n The Birth of a Nation is projected on a Screen. The newly\\r\\n installed Klansmen and their Families watching the Film with\\r\\n faces of amazement.\\r\\n \\r\\n JEROME TURNER (V.O.)(CONT\\'D)\\r\\n One of the reasons they did that to\\r\\n Jesse was that Birth of a Nation\\r\\n Movie had come out a year before. It\\r\\n gave The Klan a Rebirth. It was what\\r\\n was a Big, Big thing back then. Today\\r\\n what they call a Blockbuster!\\r\\n Everybody saw it. They say even The\\r\\n President of The United States,\\r\\n Woodrow Wilson showed the Movie in\\r\\n the White House, he said \"it was\\r\\n History written with Lighting\".\\r\\n \\r\\n Davis, Flip, Felix, Ivanhoe, Walter and the others watch\\r\\n captivated. The Klan riding to the rescue defeating The Black\\r\\n Beasts!!!\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n observes it all from the back of the room, the only Black\\r\\n person there. He is like an Alien from Another Planet.\\r\\n OMITTED\\r\\n \\r\\n INT. BANQUET ROOM - STEAKHOUSE - DAY\\r\\n \\r\\n It\\'s a large space with a long banquet table. Walter welcomes\\r\\n Davis up to The Head Table podium.\\r\\n \\r\\n WALTER\\r\\n Please everyone rise as The Grand\\r\\n Wizard leads us in a toast.\\r\\n \\r\\n Davis steps to the podium raising his glass.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Look around, today we are privileged\\r\\n to be among White Men such as\\r\\n yourselves, Real Warriors for The\\r\\n Real America, the One Our Ancestors\\r\\n Fought and Died for.\\r\\n \\r\\n Everyone\\'s face in the room brightens as Davis fills them all\\r\\n with inspiration.\\r\\n \\r\\n DEVIN DAVIS (CONT\\'D)\\r\\n We are the True White American Race\\r\\n the Backbone from whence came Our\\r\\n Great Southern Heritage. To the USA!\\r\\n \\r\\n Everyone in the Hall shouts: TO THE USA! Everyone stands,\\r\\n hoisting their glasses upward. Ron can see Holsters-- on\\r\\n Belts, on Legs, on Ankles.\\r\\n \\r\\n Ron\\'s mouth goes agape realizing Everyone in the Room is\\r\\n Armed.\\r\\n \\r\\n Devin Davis at the Banquet table shoves a forkful of Prime\\r\\n Rib into his mouth as he chats casually with Walter and\\r\\n Jesse.\\r\\n \\r\\n Felix and Connie sit near The Head Table, eating. Flip sits\\r\\n on the opposite end. Ron watches as Connie rises from her\\r\\n seat. She leans down giving Felix a peck on his Cheek.\\r\\n \\r\\n CLOSE - RON\\'S POV - CONNIE\\r\\n \\r\\n leaves the banquet hall and Ron watches her go out the front\\r\\n door. Felix goes over to Davis, leaning down to greet him.\\r\\n \\r\\n FELIX\\r\\n I just want to say how Honored I am\\r\\n to be in your presence.\\r\\n \\r\\n They shake hands in the traditional Klan manner.\\r\\n DEVIN DAVIS\\r\\n The Honor is Mine.\\r\\n CLOSE - WALKER\\r\\n \\r\\n walks through the maze of tables with his second helping of\\r\\n food when he notices...\\r\\n \\r\\n CLOSE - WALKER\\'S POV - FLIP\\r\\n \\r\\n talking at the table with Walter and Davis. Flip is very\\r\\n chummy laughing and telling stories with them like old\\r\\n friends.\\r\\n \\r\\n Walker stares hard at Flip like he\\'s trying to place him. He\\r\\n sits next to Felix, still staring at Flip. Walker nods to\\r\\n himself, speaking quietly.\\r\\n \\r\\n WALKER\\r\\n He\\'s a Cop.\\r\\n \\r\\n FELIX\\r\\n Who?\\r\\n \\r\\n WALKER\\r\\n That Guy.\\r\\n \\r\\n Felix looks at Flip.\\r\\n \\r\\n FELIX\\r\\n Ron?\\r\\n \\r\\n WALKER\\r\\n No, the other Guy.\\r\\n \\r\\n Walker is talking about Flip too.\\r\\n \\r\\n FELIX\\r\\n Ron\\'s a Cop?\\r\\n \\r\\n WALKER\\r\\n No, his name is Phillip but his\\r\\n nickname is Flip.\\r\\n \\r\\n FELIX\\r\\n Who\\'s Phillip?\\r\\n \\r\\n Walker looks at Flip as he speaks to Davis.\\r\\n \\r\\n WALKER\\r\\n Who\\'s Ron, that\\'s Phillip.\\r\\n \\r\\n FELIX\\r\\n What the Fuck are you talking about?\\r\\n WALKER\\r\\n That guy was the Cop that sent me\\r\\n away to Prison for Armed Fucking\\r\\n Robbery.\\r\\n \\r\\n Flip eating with Davis.\\r\\n WALKER (O.S.)\\r\\n His name is Phillip... Phillip\\r\\n Zimmerman.\\r\\n \\r\\n Felix is shocked.\\r\\n \\r\\n FELIX\\r\\n What!\\r\\n \\r\\n WALKER\\r\\n Yeah, he\\'s a Fuckin\\' Pig.\\r\\n \\r\\n FELIX\\r\\n What\\'s his name?\\r\\n \\r\\n WALKER\\r\\n Phillip Zimmerman.\\r\\n \\r\\n FELIX\\r\\n Isn\\'t that a Jew name?\\r\\n \\r\\n WALKER\\r\\n I don\\'t know... probably.\\r\\n \\r\\n FELIX\\r\\n So Ron Stallworth is a Fucking Jew.\\r\\n \\r\\n WALKER\\r\\n Coulda\\' been worse.\\r\\n \\r\\n Felix looks at him.\\r\\n \\r\\n WALKER (CONT\\'D)\\r\\n Coulda\\' been a Nigger.\\r\\n \\r\\n Felix thinks to himself, then looks over at\\r\\n \\r\\n RON\\r\\n \\r\\n who is standing not far away from Devin Davis. Ron is\\r\\n WATCHING\\r\\n \\r\\n FELIX\\r\\n \\r\\n and Walker focusing on Flip. The Two, Ron and Felix, share a\\r\\n long uncomfortable stare. Felix has figured it all out.\\r\\n \\r\\n FELIX\\r\\n He\\'s a Nigger.\\r\\n \\r\\n Walker turns to Felix.\\r\\n \\r\\n FELIX (CONT\\'D)\\r\\n That Cop guarding Davis. Zimmerman is\\r\\n using his name.\\r\\n WALKER\\r\\n Let\\'s tell Davis.\\r\\n \\r\\n Walker starts to rise, Felix lowers him back.\\r\\n \\r\\n FELIX\\r\\n Not now, I\\'ll find the moment.\\r\\n \\r\\n Felix turns to Connie, whispering, they all then rise. Ron\\r\\n knows something is askew. He gives Flip a look. Flip sees it\\r\\n as Ron walks over to Davis.\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Mr. Davis, a favor to ask.\\r\\n Nobody\\'s gonna believe me when I tell\\r\\n them I was your Bodyguard.\\r\\n \\r\\n Ron holds up a Polaroid Camera.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Care to take a Photo with me?\\r\\n \\r\\n Davis laughs, looking around the table.\\r\\n \\r\\n DEVIN DAVIS\\r\\n I don\\'t see any harm in that. Hey\\r\\n Jesse... why don\\'t you get in here\\r\\n too?\\r\\n \\r\\n Jesse Nayyar, equally amused, walks over. Flip is already out\\r\\n of his Seat, walking to Ron. Ron glances over seeing\\r\\n \\r\\n FELIX, WALKER AND CONNIE AT THE BACK DOOR (RON\\'S POV)\\r\\n \\r\\n Connie has her purse and Walker hands her a gym bag. Felix\\r\\n pecks her on the lips. She exits the steakhouse with the gym\\r\\n bag.\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n then turns to Flip.\\r\\n \\r\\n RON STALLWORTH\\r\\n You mind taking it, Sir?\\r\\n \\r\\n ANGLE - ROOM\\r\\n \\r\\n Flip nods and Ron hands him The Polaroid Camera.\\r\\n \\r\\n Ron walks back and stands in between Davis, THE GRAND WIZARD\\r\\n and Jesse, THE GRAND DRAGON.\\r\\n RON (CONT\\'D)\\r\\n One... Two... Three!\\r\\n \\r\\n Right as the Camera Flashes, Ron drapes his arms around both\\r\\n Davis and Jesse, pulling them in real close. The Polaroid\\r\\n clicks and spits out the Photo instantly.\\r\\n \\r\\n Davis is startled for a brief second... then it all happens\\r\\n in a FLASH.\\r\\n \\r\\n Davis and Ron spring toward Flip, each making a Mad Dash for\\r\\n the Photo. Ron grabs it first. Davis lunges to grab the Photo\\r\\n from Ron\\'s hands but Ron yanks it away. Davis is up in Ron\\'s\\r\\n Face.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Nigger, What the Fuck did you just\\r\\n do?\\r\\n \\r\\n RON STALLWORTH\\r\\n If you lay one Finger on me, I\\'ll\\r\\n arrest you for assaulting a Police\\r\\n Officer. That\\'s worth about Five\\r\\n Years in Prison. Try me. See if I\\'m\\r\\n playing.\\r\\n \\r\\n The Room falls into Dead Silence. Klansmen mouths hang open,\\r\\n watching their Leaders threatened by a DETECTIVE NIGGER.\\r\\n Davis gives Ron the most vicious look imaginable.\\r\\n \\r\\n Ron stares back. It\\'s a SHOWDOWN. Several Men in the Room\\r\\n have their hands at their Waists, seconds away from drawing\\r\\n their Guns.\\r\\n \\r\\n Ron can do only one thing: he smiles.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Thanks for the Photo, Mr. Davis. Big\\r\\n Fan. God Bless WHITE AMERICA.\\r\\n \\r\\n Davis shakes his Head in Disgust.\\r\\n \\r\\n Bikers and others surround Ron. Flip looks wary knowing\\r\\n something is up. He gets in Ron\\'s face, threatening.\\r\\n \\r\\n FLIP\\r\\n Boy you get ya\\' ass out NOW!\\r\\n \\r\\n Ron breaks off from the roomful of disdain cutting through\\r\\n the watching Crowd pushing past Bodies heading toward the\\r\\n front door. Suddenly, Ron\\'s arm is grabbed...\\r\\n \\r\\n FELIX (O.S.)\\r\\n Where\\'s your Patrice?\\r\\n Ron turns finding Felix holding his arm.\\r\\n \\r\\n FELIX\\r\\n Detective Stallworth!\\r\\n Ron JERKS his arm away heading to the exit.\\r\\n \\r\\n EXT. STEAKHOUSE/PARKING LOT - DAY\\r\\n \\r\\n Ron rushes through the Lot hopping in his unmarked Car.\\r\\n \\r\\n INT. RON\\'S CAR - DAY\\r\\n Ron throws the Car into gear. He Yells into his Radio.\\r\\n \\r\\n RON STALLWORTH\\r\\n Attention all Units. Be on the\\r\\n lookout for a White Pickup with a\\r\\n \"White Pride\" Bumper Sticker. License\\r\\n plate: KE-4108.\\r\\n \\r\\n Ron guns it down the street.\\r\\n \\r\\n RON STALLWORTH\\r\\n Request Backup. FREEDOM HOUSE.\\r\\n \\r\\n INT. STEAKHOUSE - DAY\\r\\n \\r\\n Walker and Felix sit on both sides of Flip. Flip grins at\\r\\n them, then does a double take at Walker, who stares at him.\\r\\n \\r\\n FELIX\\r\\n Ron, I believe you know my friend.\\r\\n \\r\\n Flip stares at Walker playing it totally cool.\\r\\n \\r\\n FLIP\\r\\n No, I don\\'t believe we\\'ve ever met.\\r\\n \\r\\n WALKER\\r\\n It\\'s been a few years.\\r\\n \\r\\n FLIP\\r\\n No, sorry, I can\\'t place you.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Did you Guys go to School together?\\r\\n \\r\\n WALKER\\r\\n No, I went to a Private School in\\r\\n Leavenworth, Kansas.\\r\\n \\r\\n FELIX\\r\\n Isn\\'t that where the Prison is?\\r\\n WALKER\\r\\n Matter a fact it is.\\r\\n \\r\\n Walker looks at Flip, who says nothing.\\r\\n \\r\\n FELIX\\r\\n You know something about that. Don\\'t\\r\\n you, Flip?\\r\\n \\r\\n Felix\\'s eyes burn into Flip, who doesn\\'t flinch. Suddenly,\\r\\n Josh the Waiter interrupts.\\r\\n \\r\\n JOSH\\r\\n There\\'s an emergency phone call in\\r\\n the Lobby for a -- Felix Kendrickson.\\r\\n \\r\\n Felix rises.\\r\\n \\r\\n FELIX\\r\\n Don\\'t say another word.\\r\\n I\\'ll be right back. Flip.\\r\\n \\r\\n Felix walks off. Walker watches him leave turning to Flip,\\r\\n who plays it cool. A confused Davis observes it all.\\r\\n \\r\\n EXT. PHONE BOOTH - DAY - INTERCUT\\r\\n \\r\\n ANGLE - FREEDOM HOUSE\\r\\n \\r\\n Across the street from the Freedom House, a nervous Connie is\\r\\n on the phone clearly rattled.\\r\\n \\r\\n CONNIE\\r\\n Jesus! They\\'ve got Cops everywhere\\r\\n here! Somebody tipped them off.\\r\\n \\r\\n A Police Cruiser drives past.\\r\\n \\r\\n CONNIE (CONT\\'D)\\r\\n My God there goes another one!\\r\\n \\r\\n 154A INT. STEAKHOUSE - LOBBY - DAY - INTERCUT\\r\\n \\r\\n Felix talks to her from the Lobby of The Steakhouse trying to\\r\\n keep their conversation private.\\r\\n \\r\\n FELIX\\r\\n All right, calm down, we planned for\\r\\n this. We\\'ll go to Plan B. Okay?\\r\\n \\r\\n CONNIE\\r\\n Okay... Plan B.\\r\\n FELIX\\r\\n You can do this. All right. I\\'ll be\\r\\n right there.\\r\\n CONNIE\\r\\n All right... Love You.\\r\\n \\r\\n Dial tone. Felix has already hung up. She hangs up.\\r\\n \\r\\n INT. STEAK HOUSE/LOBBY - DAY\\r\\n \\r\\n Felix eyes Walker at the table with Flip and Davis. Felix\\r\\n waves to Walker. Ivanhoe sees Felix and rushes to join them.\\r\\n \\r\\n WALKER\\r\\n Excuse me Mister Davis.\\r\\n \\r\\n Walker reluctantly leaves.\\r\\n \\r\\n DEVIN DAVIS\\r\\n What was all that about? And why did\\r\\n he keep calling you Flip?\\r\\n \\r\\n FLIP\\r\\n We were in Prison together. Years\\r\\n ago. It\\'s an inside joke.\\r\\n \\r\\n Davis nods, concerned.\\r\\n \\r\\n DEVIN DAVIS\\r\\n I hope everything\\'s all right?\\r\\n \\r\\n FLIP\\r\\n Yeah, but I think he may have\\r\\n violated his Parole. Excuse me...\\r\\n Flip stands watching Felix and Gang exit the Steakhouse.\\r\\n \\r\\n EXT. ACADEMY BOULEVARD - DAY\\r\\n Ron\\'s Car weaves in between Traffic driving like crazy.\\r\\n \\r\\n EXT. FREEDOM HOUSE - DAY\\r\\n \\r\\n Ron zooms up to Freedom House SCREECHING to a stop! The event\\r\\n is over. There are a few people outside conversing after the\\r\\n event. Ron sees Hakeem and jumps out of the car.\\r\\n \\r\\n RON STALLWORTH\\r\\n Where\\'s Patrice???\\r\\n \\r\\n HAKEEM\\r\\n Patrice and Odetta took Mister\\r\\n Hopkins to his Hotel.\\r\\n \\r\\n Ron jumps back in his Ride and burns rubber heading to\\r\\n Patrice\\'s place!\\r\\n INT. IVANHOE\\'S CAR - DAY\\r\\n \\r\\n Ivanhoe speeds toward Patrice\\'s House with Felix in the\\r\\n passenger seat and Walker hovering over them in the rear.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n EXT. PATRICE\\'S HOUSE - DAY\\r\\n \\r\\n Connie drives up. She sits there for a long moment staring at\\r\\n Patrice\\'s House. Connie decides. She gets out of the Car\\r\\n carrying her purse. She looks like an Avon lady coming to\\r\\n call. She walks up on Patrice\\'s porch looking around. She\\r\\n CAREFULLY SETS\\r\\n \\r\\n CLOSE - HER PURSE\\r\\n \\r\\n down by a pillar on the porch and slowly removes the Bomb.\\r\\n She opens the mailbox to place the Bomb. She nervously flips\\r\\n the toggle switch when she sees...\\r\\n \\r\\n ANGLE - STREET\\r\\n \\r\\n Patrice drives up. Flustered, Connie grabs her purse to put\\r\\n the Bomb back inside while looking at Patrice and Odetta\\r\\n getting out of the Car and getting Groceries from the trunk.\\r\\n \\r\\n Patrice talks to Odetta, not noticing Connie. Connie quickly\\r\\n leaves the porch striding to her car sweating, crazy nervous.\\r\\n Patrice and Odetta talk, entering her House.\\r\\n \\r\\n CLOSE - CONNIE\\r\\n \\r\\n briskly moves toward the rear of Patrice\\'s Car.\\r\\n \\r\\n ANGLE - STREET\\r\\n \\r\\n Ron whips around the corner seeing Connie through the\\r\\n windshield! He SCREECHES to a stop!\\r\\n \\r\\n Connie tries to nonchalantly head back to her vehicle.\\r\\n \\r\\n Ron jumps out the car yelling!\\r\\n \\r\\n RON STALLWORTH\\r\\n CSPD! Stay where you are!\\r\\n \\r\\n Connie looks back at Ron, increasing her pace.\\r\\n \\r\\n RON STALLWORTH(CONT\\'D)\\r\\n Don\\'t move!!!\\r\\n \\r\\n Connie breaks into a run. Ron dashes after her grabbing her\\r\\n as she opens the Pick Up Truck door.\\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Where\\'s that Bomb? Did you place it!\\r\\n \\r\\n The Two fight as she SCREAMS, scratching and clawing at Ron.\\r\\n The Fight moves from the Pick Up Truck as he throws her down\\r\\n on the grass of a near by lawn, subduing the SCREAMING\\r\\n Connie.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Where is it!!!\\r\\n \\r\\n Ron reaches back for his handcuffs...\\r\\n \\r\\n CSPD OFFICER BRICKHOUSE\\r\\n Freeze!\\r\\n \\r\\n Ron looks right and OFFICER BRICKHOUSE has his Gun pointed at\\r\\n him. Then looks left finding OFFICER MYERS, also White, 30\\'s,\\r\\n has his revolver aimed at him.\\r\\n \\r\\n CSPD OFFICER BRICKHOUSE (CONT\\'D)\\r\\n Get off her!\\r\\n \\r\\n Ron slowly rises up off Connie, gradually turning to them.\\r\\n With his hands raised you can see Ron\\'s shoulder holster and\\r\\n 38 CALIBER SNUB-NOSE. Officer Myers sees it!\\r\\n \\r\\n CSPD OFFICER MYERS\\r\\n He\\'s got a Gun!\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m a Cop! I\\'m a COP!!!\\r\\n \\r\\n Connie springs up from the lawn! Pleading like crazy to the\\r\\n cops!\\r\\n \\r\\n CONNIE\\r\\n He attacked me! That Nigger attacked\\r\\n me, he tried to Rape me! Arrest him!\\r\\n \\r\\n Myers and Brickhouse look at each other, unsure.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m Undercover!!!\\r\\n \\r\\n CSPD OFFICER BRICKHOUSE\\r\\n Show me your badge!\\r\\n \\r\\n Ron goes to reach in his pocket but the two Officers make\\r\\n aggressive moves with their Guns! Ron catches himself! He\\r\\n doesn\\'t want to get shot! He decides to just tell them.\\r\\n \\r\\n RON STALLWORTH\\r\\n It\\'s in my pocket.\\r\\n CONNIE\\r\\n You gonna believe this lying Nigger\\r\\n or me?\\r\\n \\r\\n CSPD OFFICER MYERS\\r\\n Get on the ground!\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m a Cop goddammit! She\\'s got a\\r\\n Bomb! She\\'s a Terrorist!\\r\\n \\r\\n CSPD OFFICER MYERS\\r\\n Get on the ground NOW!!!\\r\\n \\r\\n Ron slowly lowers down to his knees and the two Cops push him\\r\\n face down on the street! Felix drives up with Ivanhoe and\\r\\n Walker in the back seat.\\r\\n \\r\\n ANGLE - STREET\\r\\n Felix has pulled up next to Patrice\\'s Volkswagen Beetle.\\r\\n \\r\\n INT./EXT. CAR - DAY\\r\\n \\r\\n FELIX\\r\\n Gimme\\' a detonator.\\r\\n \\r\\n Walker unzips his Bag quickly handing a Detonator to Felix.\\r\\n \\r\\n ANGLE - DOWN THE STREET\\r\\n \\r\\n Ron yells at the Cops trying to explain!\\r\\n \\r\\n RON STALLWORTH\\r\\n THAT WOMAN HAS A BOMB SHE\\'S TRYING TO\\r\\n BLOW THAT HOUSE UP!\\r\\n \\r\\n ANGLE - PATRICE\\'S HOUSE\\r\\n \\r\\n Patrice hearing the commotion steps out on the porch with\\r\\n Odetta.\\r\\n \\r\\n Ivanhoe sees Patrice on the porch.\\r\\n \\r\\n IVANHOE\\r\\n There she is! Do it!\\r\\n \\r\\n ANGLE - DOWN THE STREET\\r\\n \\r\\n RON STALLWORTH\\r\\n PATRICE!\\r\\n \\r\\n Officer Myers jabs Ron in the Belly with his Nightstick. Ron\\r\\n doubles over.\\r\\n CLOSE - PATRICE\\r\\n \\r\\n PATRICE\\r\\n Ron???\\r\\n \\r\\n CLOSE - FELIX\\r\\n \\r\\n FELIX\\r\\n You\\'re Dead Black Bitch.\\r\\n \\r\\n ANGLE - PATRICE\\'S HOUSE\\r\\n \\r\\n Patrice looks at Felix.\\r\\n \\r\\n CLOSE - RON\\r\\n \\r\\n recovering from the blow SCREAMS to her!\\r\\n \\r\\n RON STALLWORTH\\r\\n RUN!!! RUN!!! RUN!!!\\r\\n \\r\\n ANGLE - STREET\\r\\n \\r\\n Connie finally sees Felix in the car. Felix sees her, nods.\\r\\n She then sees that they are parked... NEXT TO PATRICE\\'S\\r\\n CAR!!! Connie runs to Felix, screaming!\\r\\n \\r\\n CONNIE\\r\\n NO!!! FELIX!!! NO!!! FELIX!!!\\r\\n \\r\\n Felix pushes the Button!\\r\\n \\r\\n THE BOMB\\r\\n \\r\\n is attached to the inside of the wheel well of Patrice\\'s car.\\r\\n \\r\\n PATRICE\\'S CAR\\r\\n \\r\\n EXPLODES! THEN IT BLOWS UP FELIX\\'S CAR NEXT TO IT!!! A double\\r\\n explosion!!! THE IMPACT BLOWS OUT WINDOWS EVERYWHERE! Patrice\\r\\n and Odetta are knocked to the ground. Connie is hurled to the\\r\\n street! Glass and car parts flying! Ron and the Cops are\\r\\n ROCKED by the force of the HUGE BLAST!\\r\\n \\r\\n THE TWO CARS TOTALLY DESTROYED! ENGULFED IN FLAMES!!!\\r\\n \\r\\n Connie on her knees on the street, weeping!\\r\\n \\r\\n RON STILL HANDCUFFED\\r\\n \\r\\n through the smoke and flames is able to make eye contact with\\r\\n Patrice, on the steps of her porch. She is shaken but all\\r\\n right. SIRENS in the distance heading toward them!\\r\\n \\r\\n ANGLE - STREET\\r\\n Flip drives up in a fury and jumps out and holds up his\\r\\n BADGE.\\r\\n \\r\\n FLIP\\r\\n Hey, you fucking idiots!!! We\\'re\\r\\n undercover.\\r\\n \\r\\n Officers Brickhouse and Myers lower their guns.\\r\\n \\r\\n CLOSE - RON STALLWORTH\\r\\n \\r\\n RON STALLWORTH\\r\\n YOU\\'RE LATE.\\r\\n \\r\\n CLOSE - FLIP\\r\\n Flip smiles.\\r\\n \\r\\n OMITTED\\r\\n \\r\\n OMITTED\\r\\n INT. DIVE BAR - NIGHT\\r\\n \\r\\n The place is full of Off Duty Cops and their Girlfriends, a\\r\\n few Wives but mainly Cops drinking and having a good time.\\r\\n Ron is in the corner talking with Patrice. They are sharing a\\r\\n drink looking very intimate. Ron sees something.\\r\\n \\r\\n RON STALLWORTH\\r\\n Jeezus Christ.\\r\\n \\r\\n PATRICE\\r\\n What?\\r\\n \\r\\n RON STALLWORTH\\r\\n Your Boyfriend.\\r\\n \\r\\n Patrice turns and sees.\\r\\n \\r\\n PATRICE\\r\\n Oh My God.\\r\\n \\r\\n Master Patrolman Landers nears them with a Beer in his hand.\\r\\n \\r\\n LANDERS\\r\\n Who\\'s da\\' Soul Sistah, Stallworth?\\r\\n You been holding out on me.\\r\\n \\r\\n Patrice stares at him with contempt.\\r\\n \\r\\n PATRICE\\r\\n You don\\'t remember me do you?\\r\\n \\r\\n Landers stares at her.\\r\\n PATRICE (CONT\\'D)\\r\\n Kwame Ture.\\r\\n \\r\\n Landers doesn\\'t know who that is.\\r\\n \\r\\n PATRICE (CONT\\'D)\\r\\n Stokely Carmichael.\\r\\n \\r\\n LANDERS\\r\\n Oh Yeah, Yeah, you looked good that\\r\\n night but you look even better now.\\r\\n \\r\\n PATRICE\\r\\n How often do you do that to Black\\r\\n People?\\r\\n \\r\\n LANDERS\\r\\n Do what?\\r\\n \\r\\n PATRICE\\r\\n Pull us over for nothing. Harass us.\\r\\n Put your hands all over a Woman in\\r\\n the guise of searching her. Call us\\r\\n everything but A Child of God.\\r\\n \\r\\n LANDERS\\r\\n I don\\'t know what you\\'re talking\\r\\n about.\\r\\n \\r\\n RON STALLWORTH\\r\\n It\\'s like what I told you. He just\\r\\n likes taking advantage but in the end\\r\\n he\\'s All Hat and No Cattle.\\r\\n \\r\\n Landers looks around then leans in close to Patrice and Ron.\\r\\n He speaks softly issuing a deadly threat.\\r\\n \\r\\n LANDERS\\r\\n Let me tell you both something, I\\'ve\\r\\n been keeping you People in line in\\r\\n this City for years. What I did to\\r\\n your Girl that night, I can do to any\\r\\n of you, Anytime, Anyplace. That\\'s my\\r\\n prerogative. I can even Bust a Cap in\\r\\n ya Black Ass if I feel like it and\\r\\n nuthin\\' will be done about it. Get\\r\\n it? Wish the both of you got blown up\\r\\n instead of Good White Folks.\\r\\n \\r\\n Master Patrolman Landers raises up.\\r\\n \\r\\n RON STALLWORTH\\r\\n Ohhh, I get it.\\r\\n \\r\\n Ron looks at Patrice.\\r\\n RON STALLWORTH (CONT\\'D)\\r\\n You get it, Patrice?\\r\\n \\r\\n PATRICE\\r\\n Oh, I totally and completely get it.\\r\\n \\r\\n Landers looks confused with their response.\\r\\n \\r\\n RON STALLWORTH\\r\\n Good.\\r\\n \\r\\n Ron turns toward the Bar and shouts.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n You get it, Flip?\\r\\n \\r\\n Behind the Bar, Flip leans out from the back room waving to\\r\\n Ron wearing Headphones recording The Conversation.\\r\\n \\r\\n FLIP\\r\\n Oh, We got it! We got it all!\\r\\n \\r\\n Ron stands removing his Shirt revealing The Wire he is\\r\\n wearing. Master Patrolman Landers is in shock.\\r\\n \\r\\n RON STALLWORTH\\r\\n You get it, Chief?\\r\\n \\r\\n Sgt. Trapp appears taking the Beer from Landers\\' hand turning\\r\\n him around putting Handcuffs on him. Chief Bridges comes from\\r\\n the back nearing Landers. The two lock eyes.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Oh, I really, really get it. You\\'re\\r\\n under arrest for Police Misconduct,\\r\\n Sexual Misconduct and Police\\r\\n Brutality.\\r\\n \\r\\n Sgt. Trapp and the Chief usher Master Patrolman Landers, who\\r\\n is babbling like a Fool out of The Bar reading him his\\r\\n rights.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n \\r\\n Ron, walking taller than usual, steps inside The Unit. Some\\r\\n of his Colleagues notice and give him a Low-Key Ovation. At\\r\\n his Desk is Flip, who is in Great Spirits.\\r\\n \\r\\n FLIP\\r\\n There he is... Man of the Minute.\\r\\n \\r\\n RON STALLWORTH\\r\\n ... not an Hour?\\r\\n \\r\\n Ron smiles, gives Fives all around. They all share a laugh.\\r\\n FLIP (CONT\\'D)\\r\\n That Polaroid Stunt you pulled? When\\r\\n you threw your Arms around them, I\\r\\n swear to God I almost Shit myself!\\r\\n \\r\\n RON STALLWORTH\\r\\n Told you, Ron was born ready.\\r\\n \\r\\n FLIP\\r\\n Born ready is Ron.\\r\\n \\r\\n Sgt. Trapp steps out of his Office.\\r\\n \\r\\n SGT. TRAPP\\r\\n There\\'s The Crazy Son of a Bitch!!!\\r\\n \\r\\n Trapp gives Ron a Bear Hug.\\r\\n \\r\\n SGT. TRAPP (CONT\\'D)\\r\\n You did good.\\r\\n \\r\\n RON STALLWORTH\\r\\n Sarge. We did good.\\r\\n \\r\\n Ron and Flip eyes meet, bonded.\\r\\n \\r\\n SGT. TRAPP\\r\\n Chief wants to see you Guys.\\r\\n \\r\\n Flip nudges Ron.\\r\\n \\r\\n FLIP\\r\\n Hey... early promotion?\\r\\n \\r\\n Ron smiles.\\r\\n \\r\\n INT. OFFICE OF THE CHIEF OF POLICE - DAY\\r\\n \\r\\n Ron, Flip, and Sgt. Trapp sit opposite Chief Bridges.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Again, I can\\'t commend you enough for\\r\\n what you\\'ve achieved. You know there\\r\\n was not a Single Cross Burning the\\r\\n entire time you were involved?\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m aware.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n But all good things must come to an\\r\\n end...\\r\\n \\r\\n Sgt. Trapp shakes his head, resigned.\\r\\n RON STALLWORTH\\r\\n What does that mean?\\r\\n \\r\\n Ron and Flip look at each other, stunned.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Budget Cuts.\\r\\n \\r\\n FLIP\\r\\n Budget Cuts?\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Inflation... I wish I had a choice.\\r\\n My hands are tied. Besides, it looks\\r\\n like there are no longer any tangible\\r\\n Threats...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Sounds like we did too good a job.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n Not a Bad Legacy to leave.\\r\\n \\r\\n Bridges takes a deliberate pause. Then, THE Sucker Punch...\\r\\n \\r\\n CHIEF BRIDGES (CONT\\'D)\\r\\n And I need you, Ron Stallworth, to\\r\\n destroy all Evidence of this\\r\\n Investigation.\\r\\n \\r\\n RON STALLWORTH\\r\\n Excuse me?\\r\\n \\r\\n FLIP\\r\\n This is total Horseshit.\\r\\n \\r\\n CHIEF BRIDGES\\r\\n We prefer that The Public never knew\\r\\n about this Investigation.\\r\\n \\r\\n Ron and Flip are heated. Sgt. Trapp is silent but gutted.\\r\\n \\r\\n RON STALLWORTH\\r\\n If they found out...\\r\\n \\r\\n CHIEF BRIDGES\\r\\n ...Cease all further contact with The\\r\\n Ku Klux Klan. Effective immediately.\\r\\n That goes for Flip too. Ron\\r\\n Stallworth...\\r\\n \\r\\n RON STALLWORTH\\r\\n This is some Fucked up Bullshit.\\r\\n CHIEF BRIDGES\\r\\n Take a week off. Go on vacation with\\r\\n your Girlfriend. We\\'ll hold down The\\r\\n Fort until you get back. Get you\\r\\n another assignment...Narcotics.\\r\\n \\r\\n Ron storms out.\\r\\n \\r\\n INT. INTELLIGENCE UNIT - CSPD - DAY\\r\\n \\r\\n Ron reflects as he feeds Investigation documents in a\\r\\n Shredder. The documents shred into pieces. Just then, the\\r\\n Undercover Phone Line rings on Ron\\'s desk.\\r\\n \\r\\n Ron stares at the Phone, still ringing. He looks at The\\r\\n Documents in his hand, about to feed them into The Shredder.\\r\\n Ron stops. Throws The Documents in a Folder. Sweeps some\\r\\n Folders into his Briefcase. Leaves as The Phone still rings.\\r\\n \\r\\n EXT. COLORADO SPRINGS POLICE DEPARTMENT BUILDING - DAY\\r\\n \\r\\n Ron is walking fast now, trying to make it out of The\\r\\n Building with The Evidence but he remembers something.\\r\\n He stops, turns back.\\r\\n \\r\\n INT. INTELLIGENCE DIVISION - CSPD - DAY\\r\\n \\r\\n Ron sits at his Desk, on The Undercover Phone Line. Flip,\\r\\n Jimmy and Sgt. Trapp are behind, both close enough to listen,\\r\\n giggling.\\r\\n \\r\\n RON STALLWORTH\\r\\n I\\'m sorry we didn\\'t get to spend more\\r\\n One-on-One time together.\\r\\n \\r\\n INT. DEVIN DAVIS OFFICE - DAY\\r\\n \\r\\n INTERCUT RON, FLIP, AND TRAPP WITH DEVIN DAVIS:\\r\\n \\r\\n DEVIN DAVIS\\r\\n Well, that tragic event. I had just\\r\\n met those Fine Brothers in the cause.\\r\\n \\r\\n RON STALLWORTH\\r\\n Our Chapter is just shaken to the\\r\\n core. And poor Connie not only does\\r\\n she lose her Husband but she\\'s facing\\r\\n a healthy Prison Sentence.\\r\\n \\r\\n DEVIN DAVIS\\r\\n My God. And then there was that one\\r\\n Nigger Detective who threatened me.\\r\\n RON STALLWORTH\\r\\n Goddamn Coloreds sure know how to\\r\\n spoil a Celebration.\\r\\n \\r\\n Flip and Jimmy snort. Ron holds in a Belly-Laugh.\\r\\n \\r\\n DEVIN DAVIS\\r\\n Christ. You can say that again.\\r\\n \\r\\n Ron cracks up into his Hand. Sgt. Trapp is wheezing-- his\\r\\n Face Bright Pink. Flip is laughing hard in the background.\\r\\n \\r\\n RON STALLWORTH\\r\\n Can I ask you something? That Nigger\\r\\n Detective who gave you a hard time?\\r\\n Ever get his name?\\r\\n \\r\\n DEVIN DAVIS\\r\\n No, I...\\r\\n \\r\\n RON STALLWORTH\\r\\n ...Are-uh you sure you don\\'t know who\\r\\n he is? Are-uh you absolutely sure?\\r\\n \\r\\n Davis looks at his Phone. Ron takes out his SMALL NOTE PAD\\r\\n out revealing a list of Racial epitaphs he had written down\\r\\n being on this Investigation. He reads from it to Davis on the\\r\\n phone.\\r\\n \\r\\n ANGLE - SPLIT SCREEN\\r\\n \\r\\n Ron Stallworth and Devin Davis.\\r\\n \\r\\n RON STALLWORTH (CONT\\'D)\\r\\n Cuz\\' dat Niggah Coon, Gator Bait,\\r\\n Spade, Spook, Sambo, Spear Flippin\\',\\r\\n Jungle Bunny, Mississippi Wind\\r\\n Chime...Detective is Ron Stallworth\\r\\n you Redneck, Racist Peckerwood Small\\r\\n Dick Motherfucker!!!\\r\\n \\r\\n CLICK. Ron SLAM DUNKS THE RECEIVER LIKE SHAQ.\\r\\n \\r\\n CLOSE - DEVIN DAVIS\\r\\n \\r\\n Devin Davis\\'s Jaw Drops.\\r\\n \\r\\n INT. INTELLIGENCE DIVISION - CSPD - DAY\\r\\n \\r\\n THE WHOLE OFFICE EXPLODES IN LAUGHTER. COPS ARE ROLLING ON\\r\\n THE OFFICE FLOOR.\\r\\n INT. RON\\'S APARTMENT - KITCHEN - NIGHT\\r\\n \\r\\n Folders of Evidence sit on The Kitchen Table in a stack in\\r\\n front of Ron. He sips his Lipton Tea and removes from the\\r\\n FILES THE\\r\\n \\r\\n CLOSE - POLAROID\\r\\n Ron hugged up, between Devin Davis and Jesse Nayyar. He then\\r\\n looks at The Klan Membership Card shifting in his hands, his\\r\\n gaze fixated on the words.\\r\\n \\r\\n CLOSE - Ron Stallworth\\r\\n KKK Member in Good Standing\\r\\n \\r\\n Patrice comes up from behind.\\r\\n CLOSE - PATRICE\\r\\n She pulls out a small handgun from her pocketbook.\\r\\n \\r\\n 2 - SHOT - PATRICE AND RON\\r\\n \\r\\n PATRICE (O.S.)\\r\\n Have you Resigned from The KKK?\\r\\n \\r\\n RON STALLWORTH\\r\\n Affirmative.\\r\\n \\r\\n PATRICE\\r\\n Have you handed in your Resignation\\r\\n as a Undercover Detective for The\\r\\n Colorado Springs Police Department?\\r\\n \\r\\n RON STALLWORTH\\r\\n Negative. Truth be told I\\'ve always\\r\\n wanted to be a Cop...and I\\'m still\\r\\n for The Liberation for My People.\\r\\n \\r\\n PATRICE\\r\\n My Conscience won\\'t let me Sleep with\\r\\n The Enemy.\\r\\n \\r\\n RON STALLWORTH\\r\\n Enemy? I\\'m a Black Man that saved\\r\\n your life.\\r\\n \\r\\n PATRICE\\r\\n You\\'re absolutely right, and I Thank\\r\\n you for it.\\r\\n \\r\\n Patrice Kisses Ron on the cheek. Good Bye. WE HEAR a KNOCK on\\r\\n Ron\\'s DOOR. Ron, who is startled, slowly rises. We HEAR\\r\\n another KNOCK.\\r\\n \\r\\n QUICK FLASHES - of a an OLD TIME KLAN RALLY. Ron moves\\r\\n quietly to pull out his SERVICE REVOLVER from the COUNTER\\r\\n DRAWER. WE HEAR ANOTHER KNOCK on the DOOR. Patrice stands\\r\\n behind him.\\r\\n \\r\\n QUICK FLASHES - BLACK BODY HANGING FROM A TREE (STRANGE\\r\\n FRUIT) Ron slowly moves to the DOOR. Ron has his SERVICE\\r\\n REVOLVER up and aimed ready to fire. Ron swings open the\\r\\n DOOR.\\r\\n ANGLE - HALLWAY\\r\\n \\r\\n CU - RON\\'S POV\\r\\n \\r\\n WE TRACK DOWN THE EMPTY HALLWAY PANNING OUT THE WINDOW.\\r\\n \\r\\n CLOSE - RON AND PATRICE\\r\\n \\r\\n Looking in the distance: The Rolling Hills surrounding The\\r\\n Neighborhood lead towards Pike\\'s Peak, which sits on the\\r\\n horizon like a King on A Throne.\\r\\n \\r\\n WE SEE: Something Burning.\\r\\n \\r\\n CLOSER-- WE SEE a CROSS, its Flames dancing, sending embers\\r\\n into The BLACK, Colorado Sky.\\r\\n OMITTED\\r\\n \\r\\n EXT. UVA CAMPUS - NIGHT\\r\\n \\r\\n WE SEE FOOTAGE of NEO-NAZIS, ALT RIGHT, THE KLAN, NEO-\\r\\n CONFEDERATES AND WHITE NATIONALISTS MARCHING, HOLDING UP\\r\\n THEIR TIKI TORCHES, CHANTING.\\r\\n \\r\\n AMERICAN TERRORISTS\\r\\n YOU WILL NOT REPLACE US!!!\\r\\n JEWS WILL NOT REPLACE US!!!\\r\\n BLOOD AND SOIL!!!\\r\\n \\r\\n CUT TO BLACK.\\r\\n \\r\\n FINI.\\r\\n\\r\\n\\r\\n\\n\\n\\n\\nBlacKkKlansman\\nWriters : \\xa0\\xa0Charlie Wachtel\\xa0\\xa0David Rabinowitz\\xa0\\xa0Kevin Willmott\\xa0\\xa0Spike Lee\\nGenres : \\xa0\\xa0Crime\\xa0\\xa0Drama\\nUser Comments\\n\\n\\n\\n\\n\\r\\nBack to IMSDb\\n\\n\\n', lookup_str='', metadata={'source': 'https://imsdb.com/scripts/BlacKkKlansman.html'}, lookup_index=0)]" + "'\\n\\r\\n\\r\\n\\r\\n\\r\\n BLACKKKLANSMAN\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Written by\\r\\n\\r\\n Charlie Wachtel & David Rabinowitz\\r\\n\\r\\n and\\r\\n\\r\\n Kevin Willmott & Spike Lee\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n FADE IN:\\r\\n \\r\\n SCENE FROM \"GONE WITH'" ] }, - "execution_count": 4, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "data" + "data[0].page_content[:500]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "207bc39b", - "metadata": {}, - "outputs": [], - "source": [] + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'source': 'https://imsdb.com/scripts/BlacKkKlansman.html'}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[0].metadata" + ] } ], "metadata": { @@ -86,7 +111,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/markdown.ipynb b/docs/modules/indexes/document_loaders/examples/markdown.ipynb index 99156fe7b9..c2aa90f037 100644 --- a/docs/modules/indexes/document_loaders/examples/markdown.ipynb +++ b/docs/modules/indexes/document_loaders/examples/markdown.ipynb @@ -7,34 +7,53 @@ "source": [ "# Markdown\n", "\n", - "This covers how to load markdown documents into a document format that we can use downstream." + ">[Markdown](https://en.wikipedia.org/wiki/Markdown) is a lightweight markup language for creating formatted text using a plain-text editor.\n", + "\n", + "This covers how to load `markdown` documents into a document format that we can use downstream." ] }, { "cell_type": "code", "execution_count": 1, - "id": "721c48aa", + "id": "5282f85c", "metadata": {}, "outputs": [], "source": [ - "from langchain.document_loaders import UnstructuredMarkdownLoader" + "# !pip install unstructured > /dev/null" ] }, { "cell_type": "code", "execution_count": 2, - "id": "9d3d0e35", - "metadata": {}, + "id": "721c48aa", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "loader = UnstructuredMarkdownLoader(\"../../../../README.md\")" + "from langchain.document_loaders import UnstructuredMarkdownLoader" ] }, { "cell_type": "code", "execution_count": 3, + "id": "9d3d0e35", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "markdown_path = \"../../../../../README.md\"\n", + "loader = UnstructuredMarkdownLoader(markdown_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "06073f91", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -42,17 +61,19 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "c9adc5cb", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content=\"ð\\x9f¦\\x9cï¸\\x8fð\\x9f”\\x97 LangChain\\n\\nâ\\x9a¡ Building applications with LLMs through composability â\\x9a¡\\n\\nProduction Support: As you move your LangChains into production, we'd love to offer more comprehensive support.\\nPlease fill out this form and we'll set up a dedicated support Slack channel.\\n\\nQuick Install\\n\\npip install langchain\\n\\nð\\x9f¤” What is this?\\n\\nLarge language models (LLMs) are emerging as a transformative technology, enabling\\ndevelopers to build applications that they previously could not.\\nBut using these LLMs in isolation is often not enough to\\ncreate a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge.\\n\\nThis library is aimed at assisting in the development of those types of applications. Common examples of these types of applications include:\\n\\nâ\\x9d“ Question Answering over specific documents\\n\\nDocumentation\\n\\nEnd-to-end Example: Question Answering over Notion Database\\n\\nð\\x9f’¬ Chatbots\\n\\nDocumentation\\n\\nEnd-to-end Example: Chat-LangChain\\n\\nð\\x9f¤\\x96 Agents\\n\\nDocumentation\\n\\nEnd-to-end Example: GPT+WolframAlpha\\n\\nð\\x9f“\\x96 Documentation\\n\\nPlease see here for full documentation on:\\n\\nGetting started (installation, setting up the environment, simple examples)\\n\\nHow-To examples (demos, integrations, helper functions)\\n\\nReference (full API docs)\\n Resources (high-level explanation of core concepts)\\n\\nð\\x9f\\x9a\\x80 What can this help with?\\n\\nThere are six main areas that LangChain is designed to help with.\\nThese are, in increasing order of complexity:\\n\\nð\\x9f“\\x83 LLMs and Prompts:\\n\\nThis includes prompt management, prompt optimization, generic interface for all LLMs, and common utilities for working with LLMs.\\n\\nð\\x9f”\\x97 Chains:\\n\\nChains go beyond just a single LLM call, and are sequences of calls (whether to an LLM or a different utility). LangChain provides a standard interface for chains, lots of integrations with other tools, and end-to-end chains for common applications.\\n\\nð\\x9f“\\x9a Data Augmented Generation:\\n\\nData Augmented Generation involves specific types of chains that first interact with an external datasource to fetch data to use in the generation step. Examples of this include summarization of long pieces of text and question/answering over specific data sources.\\n\\nð\\x9f¤\\x96 Agents:\\n\\nAgents involve an LLM making decisions about which Actions to take, taking that Action, seeing an Observation, and repeating that until done. LangChain provides a standard interface for agents, a selection of agents to choose from, and examples of end to end agents.\\n\\nð\\x9f§\\xa0 Memory:\\n\\nMemory is the concept of persisting state between calls of a chain/agent. LangChain provides a standard interface for memory, a collection of memory implementations, and examples of chains/agents that use memory.\\n\\nð\\x9f§\\x90 Evaluation:\\n\\n[BETA] Generative models are notoriously hard to evaluate with traditional metrics. One new way of evaluating them is using language models themselves to do the evaluation. LangChain provides some prompts/chains for assisting in this.\\n\\nFor more information on these concepts, please see our full documentation.\\n\\nð\\x9f’\\x81 Contributing\\n\\nAs an open source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infra, or better documentation.\\n\\nFor detailed information on how to contribute, see here.\", lookup_str='', metadata={'source': '../../../../README.md'}, lookup_index=0)]" + "[Document(page_content=\"ð\\x9f¦\\x9cï¸\\x8fð\\x9f”\\x97 LangChain\\n\\nâ\\x9a¡ Building applications with LLMs through composability â\\x9a¡\\n\\nLooking for the JS/TS version? Check out LangChain.js.\\n\\nProduction Support: As you move your LangChains into production, we'd love to offer more comprehensive support.\\nPlease fill out this form and we'll set up a dedicated support Slack channel.\\n\\nQuick Install\\n\\npip install langchain\\nor\\nconda install langchain -c conda-forge\\n\\nð\\x9f¤” What is this?\\n\\nLarge language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. However, using these LLMs in isolation is often insufficient for creating a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge.\\n\\nThis library aims to assist in the development of those types of applications. Common examples of these applications include:\\n\\nâ\\x9d“ Question Answering over specific documents\\n\\nDocumentation\\n\\nEnd-to-end Example: Question Answering over Notion Database\\n\\nð\\x9f’¬ Chatbots\\n\\nDocumentation\\n\\nEnd-to-end Example: Chat-LangChain\\n\\nð\\x9f¤\\x96 Agents\\n\\nDocumentation\\n\\nEnd-to-end Example: GPT+WolframAlpha\\n\\nð\\x9f“\\x96 Documentation\\n\\nPlease see here for full documentation on:\\n\\nGetting started (installation, setting up the environment, simple examples)\\n\\nHow-To examples (demos, integrations, helper functions)\\n\\nReference (full API docs)\\n\\nResources (high-level explanation of core concepts)\\n\\nð\\x9f\\x9a\\x80 What can this help with?\\n\\nThere are six main areas that LangChain is designed to help with.\\nThese are, in increasing order of complexity:\\n\\nð\\x9f“\\x83 LLMs and Prompts:\\n\\nThis includes prompt management, prompt optimization, a generic interface for all LLMs, and common utilities for working with LLMs.\\n\\nð\\x9f”\\x97 Chains:\\n\\nChains go beyond a single LLM call and involve sequences of calls (whether to an LLM or a different utility). LangChain provides a standard interface for chains, lots of integrations with other tools, and end-to-end chains for common applications.\\n\\nð\\x9f“\\x9a Data Augmented Generation:\\n\\nData Augmented Generation involves specific types of chains that first interact with an external data source to fetch data for use in the generation step. Examples include summarization of long pieces of text and question/answering over specific data sources.\\n\\nð\\x9f¤\\x96 Agents:\\n\\nAgents involve an LLM making decisions about which Actions to take, taking that Action, seeing an Observation, and repeating that until done. LangChain provides a standard interface for agents, a selection of agents to choose from, and examples of end-to-end agents.\\n\\nð\\x9f§\\xa0 Memory:\\n\\nMemory refers to persisting state between calls of a chain/agent. LangChain provides a standard interface for memory, a collection of memory implementations, and examples of chains/agents that use memory.\\n\\nð\\x9f§\\x90 Evaluation:\\n\\n[BETA] Generative models are notoriously hard to evaluate with traditional metrics. One new way of evaluating them is using language models themselves to do the evaluation. LangChain provides some prompts/chains for assisting in this.\\n\\nFor more information on these concepts, please see our full documentation.\\n\\nð\\x9f’\\x81 Contributing\\n\\nAs an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.\\n\\nFor detailed information on how to contribute, see here.\", metadata={'source': '../../../../../README.md'})]" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -73,19 +94,23 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "064f9162", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "loader = UnstructuredMarkdownLoader(\"../../../../README.md\", mode=\"elements\")" + "loader = UnstructuredMarkdownLoader(markdown_path, mode=\"elements\")" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "abefbbdb", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -93,17 +118,19 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "a547c534", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "Document(page_content='ð\\x9f¦\\x9cï¸\\x8fð\\x9f”\\x97 LangChain', lookup_str='', metadata={'source': '../../../../README.md', 'page_number': 1, 'category': 'UncategorizedText'}, lookup_index=0)" + "Document(page_content='ð\\x9f¦\\x9cï¸\\x8fð\\x9f”\\x97 LangChain', metadata={'source': '../../../../../README.md', 'page_number': 1, 'category': 'Title'})" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -111,14 +138,6 @@ "source": [ "data[0]" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "381d4139", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -137,7 +156,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.13" + "version": "3.11.2" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/modern_treasury.ipynb b/docs/modules/indexes/document_loaders/examples/modern_treasury.ipynb index b90480410e..51d1e2fd00 100644 --- a/docs/modules/indexes/document_loaders/examples/modern_treasury.ipynb +++ b/docs/modules/indexes/document_loaders/examples/modern_treasury.ipynb @@ -6,7 +6,13 @@ "source": [ "# Modern Treasury\n", "\n", - "This notebook covers how to load data from the Modern Treasury REST API into a format that can be ingested into LangChain, along with example usage for vectorization." + ">[Modern Treasury](https://www.moderntreasury.com/) simplifies complex payment operations\n", + "A unified platform to power products and processes that move money.\n", + ">- Connect to banks and payment systems\n", + ">- Track transactions and balances in real-time\n", + ">- Automate payment operations for scale\n", + "\n", + "This notebook covers how to load data from the `Modern Treasury REST API` into a format that can be ingested into LangChain, along with example usage for vectorization." ] }, { @@ -98,9 +104,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/notebook.ipynb b/docs/modules/indexes/document_loaders/examples/notebook.ipynb index 07cb4ef616..aabc81dcc7 100644 --- a/docs/modules/indexes/document_loaders/examples/notebook.ipynb +++ b/docs/modules/indexes/document_loaders/examples/notebook.ipynb @@ -6,13 +6,15 @@ "source": [ "# Notebook\n", "\n", - "This notebook covers how to load data from an .ipynb notebook into a format suitable by LangChain." + "This notebook covers how to load data from a `Jupyter notebook (.ipynb)` into a format suitable by LangChain." ] }, { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import NotebookLoader" @@ -20,8 +22,10 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, + "execution_count": 2, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = NotebookLoader(\"example_data/notebook.ipynb\", include_outputs=True, max_output_length=20, remove_newline=True)" @@ -43,16 +47,18 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 3, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='\\'markdown\\' cell: \\'[\\'# Notebook\\', \\'\\', \\'This notebook covers how to load data from an .ipynb notebook into a format suitable by LangChain.\\']\\'\\n\\n \\'code\\' cell: \\'[\\'from langchain.document_loaders import NotebookLoader\\']\\'\\n\\n \\'code\\' cell: \\'[\\'loader = NotebookLoader(\"example_data/notebook.ipynb\")\\']\\'\\n\\n \\'markdown\\' cell: \\'[\\'`NotebookLoader.load()` loads the `.ipynb` notebook file into a `Document` object.\\', \\'\\', \\'**Parameters**:\\', \\'\\', \\'* `include_outputs` (bool): whether to include cell outputs in the resulting document (default is False).\\', \\'* `max_output_length` (int): the maximum number of characters to include from each cell output (default is 10).\\', \\'* `remove_newline` (bool): whether to remove newline characters from the cell sources and outputs (default is False).\\', \\'* `traceback` (bool): whether to include full traceback (default is False).\\']\\'\\n\\n \\'code\\' cell: \\'[\\'loader.load(include_outputs=True, max_output_length=20, remove_newline=True)\\']\\'\\n\\n', lookup_str='', metadata={'source': 'example_data/notebook.ipynb'}, lookup_index=0)]" + "[Document(page_content='\\'markdown\\' cell: \\'[\\'# Notebook\\', \\'\\', \\'This notebook covers how to load data from an .ipynb notebook into a format suitable by LangChain.\\']\\'\\n\\n \\'code\\' cell: \\'[\\'from langchain.document_loaders import NotebookLoader\\']\\'\\n\\n \\'code\\' cell: \\'[\\'loader = NotebookLoader(\"example_data/notebook.ipynb\")\\']\\'\\n\\n \\'markdown\\' cell: \\'[\\'`NotebookLoader.load()` loads the `.ipynb` notebook file into a `Document` object.\\', \\'\\', \\'**Parameters**:\\', \\'\\', \\'* `include_outputs` (bool): whether to include cell outputs in the resulting document (default is False).\\', \\'* `max_output_length` (int): the maximum number of characters to include from each cell output (default is 10).\\', \\'* `remove_newline` (bool): whether to remove newline characters from the cell sources and outputs (default is False).\\', \\'* `traceback` (bool): whether to include full traceback (default is False).\\']\\'\\n\\n \\'code\\' cell: \\'[\\'loader.load(include_outputs=True, max_output_length=20, remove_newline=True)\\']\\'\\n\\n', metadata={'source': 'example_data/notebook.ipynb'})]" ] }, - "execution_count": 5, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -60,13 +66,6 @@ "source": [ "loader.load()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -85,7 +84,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" }, "vscode": { "interpreter": { @@ -94,5 +93,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/notion.ipynb b/docs/modules/indexes/document_loaders/examples/notion.ipynb index f1364f3474..76e510de7e 100644 --- a/docs/modules/indexes/document_loaders/examples/notion.ipynb +++ b/docs/modules/indexes/document_loaders/examples/notion.ipynb @@ -5,7 +5,10 @@ "id": "1dc7df1d", "metadata": {}, "source": [ - "# Notion\n", + "# Notion DB 1/2\n", + "\n", + ">[Notion](https://www.notion.so/) is a collaboration platform with modified Markdown support that integrates kanban boards, tasks, wikis and databases. It is an all-in-one workspace for notetaking, knowledge and data management, and project and task management.\n", + "\n", "This notebook covers how to load documents from a Notion database dump.\n", "\n", "In order to get this notion dump, follow these instructions:\n", @@ -74,7 +77,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/notiondb.ipynb b/docs/modules/indexes/document_loaders/examples/notiondb.ipynb index 6d7921a7dd..28a6c09318 100644 --- a/docs/modules/indexes/document_loaders/examples/notiondb.ipynb +++ b/docs/modules/indexes/document_loaders/examples/notiondb.ipynb @@ -5,13 +5,15 @@ "id": "1dc7df1d", "metadata": {}, "source": [ - "# Notion DB Loader\n", + "# Notion DB 2/2\n", "\n", - "NotionDBLoader is a Python class for loading content from a Notion database. It retrieves pages from the database, reads their content, and returns a list of Document objects.\n", + ">[Notion](https://www.notion.so/) is a collaboration platform with modified Markdown support that integrates kanban boards, tasks, wikis and databases. It is an all-in-one workspace for notetaking, knowledge and data management, and project and task management.\n", + "\n", + "`NotionDBLoader` is a Python class for loading content from a `Notion` database. It retrieves pages from the database, reads their content, and returns a list of Document objects.\n", "\n", "## Requirements\n", "\n", - "- A Notion Database\n", + "- A `Notion` Database\n", "- Notion Integration Token\n", "\n", "## Setup\n", @@ -28,12 +30,12 @@ "## 2. Create a Notion Integration\n", "To create a Notion Integration, follow these steps:\n", "\n", - "1. Visit the (Notion Developers)[https://www.notion.com/my-integrations] page and log in with your Notion account.\n", + "1. Visit the [Notion Developers](https://www.notion.com/my-integrations) page and log in with your Notion account.\n", "2. Click on the \"+ New integration\" button.\n", "3. Give your integration a name and choose the workspace where your database is located.\n", "4. Select the require capabilities, this extension only need the Read content capability\n", "5. Click the \"Submit\" button to create the integration.\n", - "Once the integration is created, you'll be provided with an Integration Token (API key). Copy this token and keep it safe, as you'll need it to use the NotionDBLoader.\n", + "Once the integration is created, you'll be provided with an `Integration Token (API key)`. Copy this token and keep it safe, as you'll need it to use the NotionDBLoader.\n", "\n", "### 3. Connect the Integration to the Database\n", "To connect your integration to the database, follow these steps:\n", @@ -97,7 +99,7 @@ "metadata": {}, "outputs": [], "source": [ - "loader = NotionDBLoader(NOTION_TOKEN, DATABASE_ID)" + "loader = NotionDBLoader(integration_token=NOTION_TOKEN, database_id=DATABASE_ID)" ] }, { @@ -145,7 +147,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.2" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/obsidian.ipynb b/docs/modules/indexes/document_loaders/examples/obsidian.ipynb index c412f946a7..6bd45ad883 100644 --- a/docs/modules/indexes/document_loaders/examples/obsidian.ipynb +++ b/docs/modules/indexes/document_loaders/examples/obsidian.ipynb @@ -1,24 +1,29 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "1dc7df1d", "metadata": {}, "source": [ "# Obsidian\n", - "This notebook covers how to load documents from an Obsidian database.\n", "\n", - "Since Obsidian is just stored on disk as a folder of Markdown files, the loader just takes a path to this directory.\n", + ">[Obsidian](https://obsidian.md/) is a powerful and extensible knowledge base\n", + "that works on top of your local folder of plain text files.\n", "\n", - "Obsidian files also sometimes contain [metadata](https://help.obsidian.md/Editing+and+formatting/Metadata) which is a YAML block at the top of the file. These values will be added to the document's metadata. (`ObsidianLoader` can also be passed a `collect_metadata=False` argument to disable this behavior.)" + "This notebook covers how to load documents from an `Obsidian` database.\n", + "\n", + "Since `Obsidian` is just stored on disk as a folder of Markdown files, the loader just takes a path to this directory.\n", + "\n", + "`Obsidian` files also sometimes contain [metadata](https://help.obsidian.md/Editing+and+formatting/Metadata) which is a YAML block at the top of the file. These values will be added to the document's metadata. (`ObsidianLoader` can also be passed a `collect_metadata=False` argument to disable this behavior.)" ] }, { "cell_type": "code", "execution_count": 1, "id": "007c5cbf", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import ObsidianLoader" @@ -61,7 +66,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/pdf.ipynb b/docs/modules/indexes/document_loaders/examples/pdf.ipynb index e3d3887c91..2418262c51 100644 --- a/docs/modules/indexes/document_loaders/examples/pdf.ipynb +++ b/docs/modules/indexes/document_loaders/examples/pdf.ipynb @@ -7,7 +7,7 @@ "source": [ "# PDF\n", "\n", - "This covers how to load pdfs into a document format that we can use downstream." + "This covers how to load PDF documents into the Document format that we use downstream." ] }, { @@ -22,9 +22,23 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "id": "ae93c9e9-3684-42ab-844c-cc7eef4eed11", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!pip install pypdf" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "id": "c428b0c5", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import PyPDFLoader\n", @@ -37,12 +51,14 @@ "cell_type": "code", "execution_count": 4, "id": "d333cabb", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "Document(page_content='LayoutParser : A Uni\\x0ced Toolkit for Deep\\nLearning Based Document Image Analysis\\nZejiang Shen1( \\x00), Ruochen Zhang2, Melissa Dell3, Benjamin Charles Germain\\nLee4, Jacob Carlson3, and Weining Li5\\n1Allen Institute for AI\\nshannons@allenai.org\\n2Brown University\\nruochen zhang@brown.edu\\n3Harvard University\\nfmelissadell,jacob carlson g@fas.harvard.edu\\n4University of Washington\\nbcgl@cs.washington.edu\\n5University of Waterloo\\nw422li@uwaterloo.ca\\nAbstract. Recent advances in document image analysis (DIA) have been\\nprimarily driven by the application of neural networks. Ideally, research\\noutcomes could be easily deployed in production and extended for further\\ninvestigation. However, various factors like loosely organized codebases\\nand sophisticated model con\\x0cgurations complicate the easy reuse of im-\\nportant innovations by a wide audience. Though there have been on-going\\ne\\x0borts to improve reusability and simplify deep learning (DL) model\\ndevelopment in disciplines like natural language processing and computer\\nvision, none of them are optimized for challenges in the domain of DIA.\\nThis represents a major gap in the existing toolkit, as DIA is central to\\nacademic research across a wide range of disciplines in the social sciences\\nand humanities. This paper introduces LayoutParser , an open-source\\nlibrary for streamlining the usage of DL in DIA research and applica-\\ntions. The core LayoutParser library comes with a set of simple and\\nintuitive interfaces for applying and customizing DL models for layout de-\\ntection, character recognition, and many other document processing tasks.\\nTo promote extensibility, LayoutParser also incorporates a community\\nplatform for sharing both pre-trained models and full document digiti-\\nzation pipelines. We demonstrate that LayoutParser is helpful for both\\nlightweight and large-scale digitization pipelines in real-word use cases.\\nThe library is publicly available at https://layout-parser.github.io .\\nKeywords: Document Image Analysis ·Deep Learning ·Layout Analysis\\n·Character Recognition ·Open Source library ·Toolkit.\\n1 Introduction\\nDeep Learning(DL)-based approaches are the state-of-the-art for a wide range of\\ndocument image analysis (DIA) tasks including document image classi\\x0ccation [ 11,arXiv:2103.15348v2 [cs.CV] 21 Jun 2021', lookup_str='', metadata={'source': 'example_data/layout-parser-paper.pdf', 'page': '0'}, lookup_index=0)" + "Document(page_content='LayoutParser : A Uni\\x0ced Toolkit for Deep\\nLearning Based Document Image Analysis\\nZejiang Shen1( \\x00), Ruochen Zhang2, Melissa Dell3, Benjamin Charles Germain\\nLee4, Jacob Carlson3, and Weining Li5\\n1Allen Institute for AI\\nshannons@allenai.org\\n2Brown University\\nruochen zhang@brown.edu\\n3Harvard University\\nfmelissadell,jacob carlson g@fas.harvard.edu\\n4University of Washington\\nbcgl@cs.washington.edu\\n5University of Waterloo\\nw422li@uwaterloo.ca\\nAbstract. Recent advances in document image analysis (DIA) have been\\nprimarily driven by the application of neural networks. Ideally, research\\noutcomes could be easily deployed in production and extended for further\\ninvestigation. However, various factors like loosely organized codebases\\nand sophisticated model con\\x0cgurations complicate the easy reuse of im-\\nportant innovations by a wide audience. Though there have been on-going\\ne\\x0borts to improve reusability and simplify deep learning (DL) model\\ndevelopment in disciplines like natural language processing and computer\\nvision, none of them are optimized for challenges in the domain of DIA.\\nThis represents a major gap in the existing toolkit, as DIA is central to\\nacademic research across a wide range of disciplines in the social sciences\\nand humanities. This paper introduces LayoutParser , an open-source\\nlibrary for streamlining the usage of DL in DIA research and applica-\\ntions. The core LayoutParser library comes with a set of simple and\\nintuitive interfaces for applying and customizing DL models for layout de-\\ntection, character recognition, and many other document processing tasks.\\nTo promote extensibility, LayoutParser also incorporates a community\\nplatform for sharing both pre-trained models and full document digiti-\\nzation pipelines. We demonstrate that LayoutParser is helpful for both\\nlightweight and large-scale digitization pipelines in real-word use cases.\\nThe library is publicly available at https://layout-parser.github.io .\\nKeywords: Document Image Analysis ·Deep Learning ·Layout Analysis\\n·Character Recognition ·Open Source library ·Toolkit.\\n1 Introduction\\nDeep Learning(DL)-based approaches are the state-of-the-art for a wide range of\\ndocument image analysis (DIA) tasks including document image classi\\x0ccation [ 11,arXiv:2103.15348v2 [cs.CV] 21 Jun 2021', metadata={'source': 'example_data/layout-parser-paper.pdf', 'page': 0})" ] }, "execution_count": 4, @@ -62,11 +78,44 @@ "An advantage of this approach is that documents can be retrieved with page numbers." ] }, + { + "cell_type": "markdown", + "id": "b334d071-3477-4788-8ff7-9670b47de082", + "metadata": {}, + "source": [ + "We want to use `OpenAIEmbeddings` so we have to get the OpenAI API Key." + ] + }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, + "id": "95b1674b-ec06-43ed-8d3e-60be0e015aa0", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "OpenAI API Key: ········\n" + ] + } + ], + "source": [ + "import os\n", + "import getpass\n", + "\n", + "os.environ['OPENAI_API_KEY'] = getpass.getpass('OpenAI API Key:')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "id": "87fa7b3a", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -76,72 +125,10 @@ "Fig. 4: Illustration of (a) the original historical Japanese document with layout\n", "detection results and (b) a recreated version of the document image that achieves\n", "much better character recognition recall. The reorganization algorithm rearranges\n", - "the tokens based on the their detected bounding boxes given a maximum allowed\n", - "height.\n", - "4LayoutParser Community Platform\n", - "Another focus of LayoutParser is promoting the reusability of layout detection\n", - "models and full digitization pipelines. Similar to many existing deep learning\n", - "libraries, LayoutParser comes with a community model hub for distributing\n", - "layout models. End-users can upload their self-trained models to the model hub,\n", - "and these models can be loaded into a similar interface as the currently available\n", - "LayoutParser pre-trained models. For example, the model trained on the News\n", - "Navigator dataset [17] has been incorporated in the model hub.\n", - "Beyond DL models, LayoutParser also promotes the sharing of entire doc-\n", - "ument digitization pipelines. For example, sometimes the pipeline requires the\n", - "combination of multiple DL models to achieve better accuracy. Currently, pipelines\n", - "are mainly described in academic papers and implementations are often not pub-\n", - "licly available. To this end, the LayoutParser community platform also enables\n", - "the sharing of layout pipelines to promote the discussion and reuse of techniques.\n", - "For each shared pipeline, it has a dedicated project page, with links to the source\n", - "code, documentation, and an outline of the approaches. A discussion panel is\n", - "provided for exchanging ideas. Combined with the core LayoutParser library,\n", - "users can easily build reusable components based on the shared pipelines and\n", - "apply them to solve their unique problems.\n", - "5 Use Cases\n", - "The core objective of LayoutParser is to make it easier to create both large-scale\n", - "and light-weight document digitization pipelines. Large-scale document processing\n", + "the tokens based on the their detect\n", "3: 4 Z. Shen et al.\n", "Efficient Data AnnotationC u s t o m i z e d M o d e l T r a i n i n gModel Cust omizationDI A Model HubDI A Pipeline SharingCommunity PlatformLa y out Detection ModelsDocument Images \n", - "T h e C o r e L a y o u t P a r s e r L i b r a r yOCR ModuleSt or age & VisualizationLa y out Data Structur e\n", - "Fig. 1: The overall architecture of LayoutParser . For an input document image,\n", - "the core LayoutParser library provides a set of o\u000b", - "\n", - "-the-shelf tools for layout\n", - "detection, OCR, visualization, and storage, backed by a carefully designed layout\n", - "data structure. LayoutParser also supports high level customization via e\u000ecient\n", - "layout annotation and model training functions. These improve model accuracy\n", - "on the target samples. The community platform enables the easy sharing of DIA\n", - "models and whole digitization pipelines to promote reusability and reproducibility.\n", - "A collection of detailed documentation, tutorials and exemplar projects make\n", - "LayoutParser easy to learn and use.\n", - "AllenNLP [ 8] and transformers [ 34] have provided the community with complete\n", - "DL-based support for developing and deploying models for general computer\n", - "vision and natural language processing problems. LayoutParser , on the other\n", - "hand, specializes speci\f", - "\n", - "cally in DIA tasks. LayoutParser is also equipped with a\n", - "community platform inspired by established model hubs such as Torch Hub [23]\n", - "andTensorFlow Hub [1]. It enables the sharing of pretrained models as well as\n", - "full document processing pipelines that are unique to DIA tasks.\n", - "There have been a variety of document data collections to facilitate the\n", - "development of DL models. Some examples include PRImA [ 3](magazine layouts),\n", - "PubLayNet [ 38](academic paper layouts), Table Bank [ 18](tables in academic\n", - "papers), Newspaper Navigator Dataset [ 16,17](newspaper \f", - "\n", - "gure layouts) and\n", - "HJDataset [31](historical Japanese document layouts). A spectrum of models\n", - "trained on these datasets are currently available in the LayoutParser model zoo\n", - "to support di\u000b", - "\n", - "erent use cases.\n", - "3 The Core LayoutParser Library\n", - "At the core of LayoutParser is an o\u000b", - "\n", - "-the-shelf toolkit that streamlines DL-\n", - "based document image analysis. Five components support a simple interface\n", - "with comprehensive functionalities: 1) The layout detection models enable using\n", - "pre-trained or self-trained DL models for layout detection with just four lines\n", - "of code. 2) The detected layout information is stored in carefully engineered\n" + "T h e C o r e L a y o u t P a r s e r L i b r a r yOCR ModuleSt or age & VisualizationLa y ou\n" ] } ], @@ -152,7 +139,7 @@ "faiss_index = FAISS.from_documents(pages, OpenAIEmbeddings())\n", "docs = faiss_index.similarity_search(\"How will the community be engaged?\", k=2)\n", "for doc in docs:\n", - " print(str(doc.metadata[\"page\"]) + \":\", doc.page_content)" + " print(str(doc.metadata[\"page\"]) + \":\", doc.page_content[:300])" ] }, { @@ -167,9 +154,11 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "950eb58f", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import MathpixPDFLoader" @@ -671,7 +660,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/powerpoint.ipynb b/docs/modules/indexes/document_loaders/examples/powerpoint.ipynb index 6255dfb907..f43815d33d 100644 --- a/docs/modules/indexes/document_loaders/examples/powerpoint.ipynb +++ b/docs/modules/indexes/document_loaders/examples/powerpoint.ipynb @@ -1,20 +1,23 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "39af9ecd", "metadata": {}, "source": [ "# PowerPoint\n", "\n", - "This covers how to load PowerPoint documents into a document format that we can use downstream." + "This covers how to load `Microsoft PowerPoint` documents into a document format that we can use downstream." ] }, { "cell_type": "code", "execution_count": 1, "id": "721c48aa", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import UnstructuredPowerPointLoader" @@ -24,7 +27,9 @@ "cell_type": "code", "execution_count": 2, "id": "9d3d0e35", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = UnstructuredPowerPointLoader(\"example_data/fake-power-point.pptx\")" @@ -34,7 +39,9 @@ "cell_type": "code", "execution_count": 3, "id": "06073f91", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "data = loader.load()" @@ -44,12 +51,14 @@ "cell_type": "code", "execution_count": 4, "id": "c9adc5cb", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "[Document(page_content='Adding a Bullet Slide\\n\\nFind the bullet slide layout\\n\\nUse _TextFrame.text for first bullet\\n\\nUse _TextFrame.add_paragraph() for subsequent bullets\\n\\nHere is a lot of text!\\n\\nHere is some text in a text box!', lookup_str='', metadata={'source': 'example_data/fake-power-point.pptx'}, lookup_index=0)]" + "[Document(page_content='Adding a Bullet Slide\\n\\nFind the bullet slide layout\\n\\nUse _TextFrame.text for first bullet\\n\\nUse _TextFrame.add_paragraph() for subsequent bullets\\n\\nHere is a lot of text!\\n\\nHere is some text in a text box!', metadata={'source': 'example_data/fake-power-point.pptx'})]" ] }, "execution_count": 4, @@ -68,7 +77,7 @@ "source": [ "## Retain Elements\n", "\n", - "Under the hood, Unstructured creates different \"elements\" for different chunks of text. By default we combine those together, but you can easily keep that separation by specifying `mode=\"elements\"`." + "Under the hood, `Unstructured` creates different \"elements\" for different chunks of text. By default we combine those together, but you can easily keep that separation by specifying `mode=\"elements\"`." ] }, { @@ -137,7 +146,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/readthedocs_documentation.ipynb b/docs/modules/indexes/document_loaders/examples/readthedocs_documentation.ipynb index f822f4ff3e..c6c5b84d76 100644 --- a/docs/modules/indexes/document_loaders/examples/readthedocs_documentation.ipynb +++ b/docs/modules/indexes/document_loaders/examples/readthedocs_documentation.ipynb @@ -6,11 +6,24 @@ "metadata": {}, "source": [ "# ReadTheDocs Documentation\n", - "This notebook covers how to load content from html that was generated as part of a Read-The-Docs build.\n", + "\n", + ">[Read the Docs](https://readthedocs.org/) is an open-sourced free software documentation hosting platform. It generates documentation written with the `Sphinx` documentation generator.\n", + "\n", + "This notebook covers how to load content from HTML that was generated as part of a `Read-The-Docs` build.\n", "\n", "For an example of this in the wild, see [here](https://github.com/hwchase17/chat-langchain).\n", "\n", - "This assumes that the html has already been scraped into a folder. This can be done by uncommenting and running the following command" + "This assumes that the HTML has already been scraped into a folder. This can be done by uncommenting and running the following command" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d153e07-8339-4cbe-8481-fc08644ba927", + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install beautifulsoup4" ] }, { @@ -25,9 +38,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "92dd950b", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import ReadTheDocsLoader" @@ -70,7 +85,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/reddit.ipynb b/docs/modules/indexes/document_loaders/examples/reddit.ipynb index 6514e6223b..e227a9538f 100644 --- a/docs/modules/indexes/document_loaders/examples/reddit.ipynb +++ b/docs/modules/indexes/document_loaders/examples/reddit.ipynb @@ -1,15 +1,17 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Reddit\n", "\n", + ">[Reddit (reddit)](\twww.reddit.com) is an American social news aggregation, content rating, and discussion website.\n", + "\n", + "\n", "This loader fetches the text from the Posts of Subreddits or Reddit users, using the `praw` Python package.\n", "\n", - "Make a Reddit Application from https://www.reddit.com/prefs/apps/ and initialize the loader with with your Reddit API credentials." + "Make a [Reddit Application](https://www.reddit.com/prefs/apps/) and initialize the loader with with your Reddit API credentials." ] }, { @@ -89,7 +91,7 @@ ], "metadata": { "kernelspec": { - "display_name": "env1", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -103,10 +105,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4 + "version": "3.10.6" + } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/roam.ipynb b/docs/modules/indexes/document_loaders/examples/roam.ipynb index 2174b74400..570f610141 100644 --- a/docs/modules/indexes/document_loaders/examples/roam.ipynb +++ b/docs/modules/indexes/document_loaders/examples/roam.ipynb @@ -1,11 +1,15 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "1dc7df1d", "metadata": {}, "source": [ "# Roam\n", + "\n", + ">[ROAM](https://roamresearch.com/) is a note-taking tool for networked thought, designed to create a personal knowledge base.\n", + "\n", "This notebook covers how to load documents from a Roam database. This takes a lot of inspiration from the example repo [here](https://github.com/JimmyLv/roam-qa).\n", "\n", "## 🧑 Instructions for ingesting your own dataset\n", @@ -40,7 +44,7 @@ "metadata": {}, "outputs": [], "source": [ - "loader = ObsidianLoader(\"Roam_DB\")" + "loader = RoamLoader(\"Roam_DB\")" ] }, { @@ -70,7 +74,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/s3_directory.ipynb b/docs/modules/indexes/document_loaders/examples/s3_directory.ipynb index 707b9697d4..eb21a2a3d1 100644 --- a/docs/modules/indexes/document_loaders/examples/s3_directory.ipynb +++ b/docs/modules/indexes/document_loaders/examples/s3_directory.ipynb @@ -5,36 +5,46 @@ "id": "a634365e", "metadata": {}, "source": [ - "# s3 Directory\n", + "# AWS S3 Directory\n", "\n", - "This covers how to load document objects from an s3 directory object." + ">[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) is an object storage service\n", + "\n", + ">[AWS S3 Directory](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html)\n", + "\n", + "This covers how to load document objects from an `AWS S3 Directory` object." ] }, { "cell_type": "code", - "execution_count": 1, - "id": "2f0cd6a5", - "metadata": {}, + "execution_count": null, + "id": "49815096", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "from langchain.document_loaders import S3DirectoryLoader" + "#!pip install boto3" ] }, { "cell_type": "code", "execution_count": 2, - "id": "49815096", - "metadata": {}, + "id": "2f0cd6a5", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "#!pip install boto3" + "from langchain.document_loaders import S3DirectoryLoader" ] }, { "cell_type": "code", "execution_count": 3, "id": "321cc7f1", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = S3DirectoryLoader(\"testing-hwc\")" @@ -42,21 +52,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "2b11d155", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Document(page_content='Lorem ipsum dolor sit amet.', lookup_str='', metadata={'source': '/var/folders/y6/8_bzdg295ld6s1_97_12m4lr0000gn/T/tmpaa9xl6ch/fake.docx'}, lookup_index=0)]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "loader.load()" ] @@ -126,7 +127,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/s3_file.ipynb b/docs/modules/indexes/document_loaders/examples/s3_file.ipynb index 2225c4d61c..ecf2009856 100644 --- a/docs/modules/indexes/document_loaders/examples/s3_file.ipynb +++ b/docs/modules/indexes/document_loaders/examples/s3_file.ipynb @@ -5,9 +5,13 @@ "id": "66a7777e", "metadata": {}, "source": [ - "# s3 File\n", + "# AWS S3 File\n", "\n", - "This covers how to load document objects from an s3 file object." + ">[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) is an object storage service.\n", + "\n", + ">[AWS S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html)\n", + "\n", + "This covers how to load document objects from an `AWS S3 File` object." ] }, { @@ -86,7 +90,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/sitemap.ipynb b/docs/modules/indexes/document_loaders/examples/sitemap.ipynb index 947e8ac89d..6531152593 100644 --- a/docs/modules/indexes/document_loaders/examples/sitemap.ipynb +++ b/docs/modules/indexes/document_loaders/examples/sitemap.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Sitemap Loader\n", + "# Sitemap\n", "\n", - "Extends from the [WebBaseLoader](), this will load a sitemap from a given URL, and then scrape and load all the pages in the sitemap, returning each page as a document.\n", + "Extends from the `WebBaseLoader`, this will load a sitemap from a given URL, and then scrape and load all pages in the sitemap, returning each page as a Document.\n", "\n", "The scraping is done concurrently, using `WebBaseLoader`. There are reasonable limits to concurrent requests, defaulting to 2 per second. If you aren't concerned about being a good citizen, or you control the server you are scraping and don't care about load, you can change the `requests_per_second` parameter to increase the max concurrent requests. Note, while this will speed up the scraping process, but may cause the server to block you. Be careful!" ] @@ -20,10 +20,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: nest_asyncio in /Users/tasp/Code/projects/langchain/.venv/lib/python3.10/site-packages (1.5.6)\r\n", - "\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 available: \u001b[0m\u001b[31;49m22.3.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.0.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" + "Requirement already satisfied: nest_asyncio in /Users/tasp/Code/projects/langchain/.venv/lib/python3.10/site-packages (1.5.6)\n", + "\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip available: \u001b[0m\u001b[31;49m22.3.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.0.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" ] } ], @@ -39,6 +39,7 @@ "source": [ "# fixes a bug with asyncio and jupyter\n", "import nest_asyncio\n", + "\n", "nest_asyncio.apply()" ] }, @@ -88,7 +89,7 @@ "source": [ "## Filtering sitemap URLs\n", "\n", - "Sitemaps can be massive files, with thousands of urls. Often you don't need every single one of them. You can filter the urls by passing a list of strings or regex patterns to the `url_filter` parameter. Only urls that match one of the patterns will be loaded." + "Sitemaps can be massive files, with thousands of URLs. Often you don't need every single one of them. You can filter the URLs by passing a list of strings or regex patterns to the `url_filter` parameter. Only URLs that match one of the patterns will be loaded." ] }, { @@ -148,9 +149,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/slack_directory.ipynb b/docs/modules/indexes/document_loaders/examples/slack_directory.ipynb index 471efa536f..b8f94b7fee 100644 --- a/docs/modules/indexes/document_loaders/examples/slack_directory.ipynb +++ b/docs/modules/indexes/document_loaders/examples/slack_directory.ipynb @@ -1,16 +1,17 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "1dc7df1d", "metadata": {}, "source": [ "# Slack (Local Exported Zipfile)\n", "\n", - "This notebook covers how to load documents from a Zipfile generated from a Slack export.\n", + ">[Slack](slack.com) is an instant messaging program.\n", "\n", - "In order to get this Slack export, follow these instructions:\n", + "This notebook covers how to load documents from a Zipfile generated from a `Slack` export.\n", + "\n", + "In order to get this `Slack` export, follow these instructions:\n", "\n", "## 🧑 Instructions for ingesting your own dataset\n", "\n", @@ -73,7 +74,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.2" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/docs/modules/indexes/document_loaders/examples/spreedly.ipynb b/docs/modules/indexes/document_loaders/examples/spreedly.ipynb index 8fdf45f648..f9f29da8b5 100644 --- a/docs/modules/indexes/document_loaders/examples/spreedly.ipynb +++ b/docs/modules/indexes/document_loaders/examples/spreedly.ipynb @@ -1,12 +1,13 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Spreedly\n", "\n", + ">[Spreedly](https://docs.spreedly.com/) is a service that allows you to securely store credit cards and use them to transact against any number of payment gateways and third party APIs. It does this by simultaneously providing a card tokenization/vault service as well as a gateway and receiver integration service. Payment methods tokenized by Spreedly are stored at `Spreedly`, allowing you to independently store a card and then pass that card to different end points based on your business requirements.\n", + "\n", "This notebook covers how to load data from the [Spreedly REST API](https://docs.spreedly.com/reference/api/v1/) into a format that can be ingested into LangChain, along with example usage for vectorization.\n", "\n", "Note: this notebook assumes the following packages are installed: `openai`, `chromadb`, and `tiktoken`." @@ -107,9 +108,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -121,9 +122,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.11" + "version": "3.10.6" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/modules/indexes/document_loaders/examples/srt.ipynb b/docs/modules/indexes/document_loaders/examples/srt.ipynb index 7eeafad618..35f3151eaa 100644 --- a/docs/modules/indexes/document_loaders/examples/srt.ipynb +++ b/docs/modules/indexes/document_loaders/examples/srt.ipynb @@ -6,14 +6,33 @@ "metadata": {}, "source": [ "# Subtitle Files\n", - "How to load data from subtitle (`.srt`) files" + "\n", + ">[The SubRip file format](https://en.wikipedia.org/wiki/SubRip#SubRip_file_format) is described on the `Matroska` multimedia container format website as \"perhaps the most basic of all subtitle formats.\" `SubRip (SubRip Text)` files are named with the extension `.srt`, and contain formatted lines of plain text in groups separated by a blank line. Subtitles are numbered sequentially, starting at 1. The timecode format used is hours:minutes:seconds,milliseconds with time units fixed to two zero-padded digits and fractions fixed to three zero-padded digits (00:00:00,000). The fractional separator used is the comma, since the program was written in France.\n", + "\n", + "How to load data from subtitle (`.srt`) files\n", + "\n", + "Please, download the [example .srt file from here](https://www.opensubtitles.org/en/subtitles/5575150/star-wars-the-clone-wars-crisis-at-the-heart-en)." ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, + "id": "c6eb0372-ad36-4747-8120-d1557fe632fd", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!pip install pysrt" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "2cbb7f5c", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain.document_loaders import SRTLoader" @@ -21,9 +40,11 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 5, "id": "865d8a14", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "loader = SRTLoader(\"example_data/Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.srt\")" @@ -31,9 +52,11 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "173a9234", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "docs = loader.load()" @@ -59,14 +82,6 @@ "source": [ "docs[0].page_content[:100]" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3b7a8dc4", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -85,7 +100,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.6" } }, "nbformat": 4,