diff --git a/docs/hr/content/use_cases/productionization/sandbox-example.md b/docs/hr/content/use_cases/productionization/sandbox-example.md index 8c753eccb5..51116fb9cf 100644 --- a/docs/hr/content/use_cases/productionization/sandbox-example.md +++ b/docs/hr/content/use_cases/productionization/sandbox-example.md @@ -1,4 +1,4 @@ -# Cluster usage +# SuperDuperDB: cluster usage SuperDuperDB allows developers, on the one hand to experiment and setup models quickly in scripts and notebooks, and on the other hand deploy persistent services, which are intended to "always" be on. These persistent services are: @@ -7,7 +7,7 @@ SuperDuperDB allows developers, on the one hand to experiment and setup models q - Vector-searcher service - Change-data-capture (CDC) service -![](/img/light.png) +![](../docs/hr/static/img/light.png) To set up `superduperdb` to use this cluster mode, it's necessary to add explicit configurations for each of these components. The following configuration does that, as well as enabling a pre-configured @@ -34,21 +34,28 @@ Once this configuration has been added, you're ready to use the `superduperdb` s - Change-data-capture (CDC) service - Jupyter notebook service -To set up this environment, navigate to your local copy of the `superduperdb` repository, and build the image with: +To set up this environment, navigate to your local copy of the `superduperdb` repository, edit the `requirements.txt` to look like this: + +``` +.[demo,server,apis] +``` + +(you can add any requirements you need in your system) and build the image with: ```bash -make testenv_image SUPERDUPERDB_EXTRAS=sandbox +make testenv_image ``` Then start the environment with: ```bash -make testenv_init +make testenv_init SUPERDUPERDB_DATA=sandbox ``` This last command starts containers for each of the above services with `docker-compose`. You should see a bunch of logs for each service (mainly MongoDB). -Once you have carried out these steps, you are ready to complete the rest of this notebook. +Once you have carried out these steps, you are ready to complete the rest of this notebook, which focuses on a implementing +a production style implementation of vector-search. ```python @@ -63,6 +70,8 @@ from superduperdb import CFG assert CFG.data_backend == 'mongodb://superduper:superduper@mongodb:27017/test_db' ``` +We'll be using MongoDB to store the vectors and data: + ```python from superduperdb.backends.mongodb import Collection @@ -72,6 +81,9 @@ db = superduper() doc_collection = Collection('documents') ``` +We've already prepared some data which was scraped from the `pymongo` query API. You can download it +in the next cell: + ```python !curl -O https://superduperdb-public.s3.eu-west-1.amazonaws.com/pymongo.json @@ -84,6 +96,8 @@ with open('pymongo.json') as f: data[0] ``` +Let's insert this data: + ```python from superduperdb import Document @@ -93,10 +107,8 @@ out, G = db.execute( ) ``` - -```python -db.metadata.show_jobs() -``` +We'll use a `sentence-transformers` model to calculate the embeddings. Here's how to wrap the model +so that it works with `superduperdb`: ```python @@ -113,6 +125,8 @@ model = Model( ) ``` +Now let's create the vector-search component: + ```python from superduperdb import Listener, VectorIndex @@ -130,16 +144,25 @@ jobs, vi = db.add( ) ``` +This command creates a job on `dask` to calculate the vectors and save them in the database. You can +follow the `stdout` of this job with this command: + ```python jobs[0].watch() ``` +After a few moments, you'll be able to verify that the vectors have been saved in the documents: + ```python db.execute(doc_collection.find_one()) ``` +Let's test a similarity/ vector search using the hybrid query-API of `superduperdb`. This search +dispatches one part off to the vector-search server (running on port 8001) and the other (classical) part to MongoDB +the results are combined by `superduperdb`: + ```python from IPython.display import Markdown @@ -165,12 +188,7 @@ for r in result: display(Markdown('---')) ``` - -```python -db.drop(force=True) -``` - -The great thing about this production mode, is that now allows data to be inserted into the service via other +One of the great things about this distributed setup, is that now allows data to be inserted into the service via other MongoDB clients, even from other programming languages and applications. We show-case this here, by inserting the rest of the data using the official Python MongoDB driver `pymongo`. @@ -205,12 +223,8 @@ You can confirm that another job has been created and executed: db.metadata.show_jobs() ``` -You can view the `stdout` of the most recent job with this command: - - -```python -db.metadata.watch_job('a5077d81-0e00-4004-b501-23af356e0234') -``` +We can now check that all of the outputs (including those inserted via the `pymongo` client) have been populated +by the system. ```python diff --git a/examples/multimodal_image_search_clip.ipynb b/examples/multimodal_image_search_clip.ipynb index 4d32339870..0d82187739 100644 --- a/examples/multimodal_image_search_clip.ipynb +++ b/examples/multimodal_image_search_clip.ipynb @@ -120,7 +120,7 @@ "import random\n", "\n", "# Use glob to get a list of image file paths in the 'images_small' directory\n", - "images = glob.glob('images_small/*.jpg')\n", + "images = glob.glob('images_tiny/*.jpg')\n", "\n", "# Create a list of SuperDuperDB Document instances with image data\n", "# Note: The 'uri' parameter is set to the file URI using the 'file://' scheme\n", diff --git a/examples/question_the_docs.ipynb b/examples/question_the_docs.ipynb index 71741b0d76..ac08fb7336 100644 --- a/examples/question_the_docs.ipynb +++ b/examples/question_the_docs.ipynb @@ -78,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "f5bcdade-f988-4464-bfcf-806245031bb3", "metadata": {}, "outputs": [], @@ -119,16 +119,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "f42c42cc-af6a-4712-a993-d9c921693819", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:43:51.83\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m50 \u001b[0m | \u001b[34m\u001b[1mParsing data connection URI:mongomock://test\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:43:51.84\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m133 \u001b[0m | \u001b[1mData Client is ready. mongomock.MongoClient('localhost', 27017)\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:43:51.84\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m79 \u001b[0m | \u001b[1mBuilding Data Layer\u001b[0m\n" + ] + } + ], "source": [ "from superduperdb import superduper\n", "from superduperdb.backends.mongodb import Collection\n", "import os\n", "\n", - "mongodb_uri = os.getenv(\"MONGODB_URI\", \"mongodb://127.0.0.1:27017/test_db\")\n", + "mongodb_uri = os.getenv(\"MONGODB_URI\", \"mongomock://test\")\n", "\n", "# SuperDuperDB, now handles your MongoDB database\n", "# It just super dupers your database\n", @@ -137,16 +147,6 @@ "collection = Collection('questiondocs')" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "66dd992b-6d94-4f0e-93ef-b4cb13664c1e", - "metadata": {}, - "outputs": [], - "source": [ - "db.databackend.conn" - ] - }, { "cell_type": "markdown", "id": "737497f7d5032bf", @@ -166,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "d72a2a52-964f-456e-88b6-040965f5ed1e", "metadata": {}, "outputs": [], @@ -230,10 +230,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "4a88ea46-ff2d-4d7f-8cce-707d73a0b53f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Anthropic\n", + "\n", + "`superduperdb` allows users to work with `anthropic` API models.\n", + "\n", + "Read more about this [here](/docs/docs/walkthrough/ai_models#anthropic).\n", + "# Cohere\n", + "\n", + "`superduperdb` allows users to work with `cohere` API models.\n", + "\n", + "Read more about this [here](/docs/docs/walkthrough/ai_models#cohere).\n", + "---\n", + "sidebar_position: 2\n", + "---\n", + "\n", + "# Custom\n", + "\n", + "`superduperdb` provides fully flexible support for AI models from across the \n", + "open-source ecosystem.\n", + "\n", + "Custom AI integrations may be achieved using the base `superduperdb.Model` class.\n", + "\n", + "Read more [here](/docs/docs/walkthrough/ai_models#vanilla)\n", + "# OpenAI\n", + "\n", + "`superduperdb` allows users to work with `openai` API models." + ], + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from IPython.display import *\n", "\n", @@ -260,10 +298,1017 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a7208ef2-c035-43b9-a624-ade42a06ed09", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:44:03.19\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m716 \u001b[0m | \u001b[34m\u001b[1mBuilding task workflow graph. Query:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:03.19\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m32 \u001b[0m | \u001b[1mSubmitting job. function:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:03.20\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m337 \u001b[0m | \u001b[34m\u001b[1m{'cls': 'MongoCompoundSelect', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'questiondocs'}, 'module': 'superduperdb.backends.mongodb.query'}, 'pre_like': None, 'post_like': None, 'query_linker': {'cls': 'MongoQueryLinker', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'questiondocs'}, 'module': 'superduperdb.backends.mongodb.query'}, 'members': [{'cls': 'Find', 'dict': {'name': 'find', 'type': , 'args': [{}, {}], 'kwargs': {}, 'output_fields': None}, 'module': 'superduperdb.backends.mongodb.query'}]}, 'module': 'superduperdb.backends.mongodb.query'}}, 'module': 'superduperdb.backends.mongodb.query'}\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:03.20\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m338 \u001b[0m | \u001b[34m\u001b[1m[ObjectId('656b42b3f43aad980e83974c'), ObjectId('656b42b3f43aad980e83974d'), ObjectId('656b42b3f43aad980e83974e'), ObjectId('656b42b3f43aad980e83974f'), ObjectId('656b42b3f43aad980e839750'), ObjectId('656b42b3f43aad980e839751'), ObjectId('656b42b3f43aad980e839752'), ObjectId('656b42b3f43aad980e839753'), ObjectId('656b42b3f43aad980e839754'), ObjectId('656b42b3f43aad980e839755'), ObjectId('656b42b3f43aad980e839756'), ObjectId('656b42b3f43aad980e839757'), ObjectId('656b42b3f43aad980e839758'), ObjectId('656b42b3f43aad980e839759'), ObjectId('656b42b3f43aad980e83975a'), ObjectId('656b42b3f43aad980e83975b'), ObjectId('656b42b3f43aad980e83975c'), ObjectId('656b42b3f43aad980e83975d'), ObjectId('656b42b3f43aad980e83975e'), ObjectId('656b42b3f43aad980e83975f'), ObjectId('656b42b3f43aad980e839760'), ObjectId('656b42b3f43aad980e839761'), ObjectId('656b42b3f43aad980e839762'), ObjectId('656b42b3f43aad980e839763'), ObjectId('656b42b3f43aad980e839764'), ObjectId('656b42b3f43aad980e839765'), ObjectId('656b42b3f43aad980e839766'), ObjectId('656b42b3f43aad980e839767'), ObjectId('656b42b3f43aad980e839768'), ObjectId('656b42b3f43aad980e839769'), ObjectId('656b42b3f43aad980e83976a'), ObjectId('656b42b3f43aad980e83976b'), ObjectId('656b42b3f43aad980e83976c'), ObjectId('656b42b3f43aad980e83976d'), ObjectId('656b42b3f43aad980e83976e'), ObjectId('656b42b3f43aad980e83976f'), ObjectId('656b42b3f43aad980e839770'), ObjectId('656b42b3f43aad980e839771'), ObjectId('656b42b3f43aad980e839772'), ObjectId('656b42b3f43aad980e839773'), ObjectId('656b42b3f43aad980e839774'), ObjectId('656b42b3f43aad980e839775'), ObjectId('656b42b3f43aad980e839776'), ObjectId('656b42b3f43aad980e839777'), ObjectId('656b42b3f43aad980e839778'), ObjectId('656b42b3f43aad980e839779'), ObjectId('656b42b3f43aad980e83977a'), ObjectId('656b42b3f43aad980e83977b'), ObjectId('656b42b3f43aad980e83977c'), ObjectId('656b42b3f43aad980e83977d'), ObjectId('656b42b3f43aad980e83977e'), ObjectId('656b42b3f43aad980e83977f'), ObjectId('656b42b3f43aad980e839780'), ObjectId('656b42b3f43aad980e839781'), ObjectId('656b42b3f43aad980e839782'), ObjectId('656b42b3f43aad980e839783'), ObjectId('656b42b3f43aad980e839784'), ObjectId('656b42b3f43aad980e839785'), ObjectId('656b42b3f43aad980e839786'), ObjectId('656b42b3f43aad980e839787'), ObjectId('656b42b3f43aad980e839788'), ObjectId('656b42b3f43aad980e839789'), ObjectId('656b42b3f43aad980e83978a'), ObjectId('656b42b3f43aad980e83978b'), ObjectId('656b42b3f43aad980e83978c'), ObjectId('656b42b3f43aad980e83978d'), ObjectId('656b42b3f43aad980e83978e'), ObjectId('656b42b3f43aad980e83978f'), ObjectId('656b42b3f43aad980e839790'), ObjectId('656b42b3f43aad980e839791'), ObjectId('656b42b3f43aad980e839792'), ObjectId('656b42b3f43aad980e839793'), ObjectId('656b42b3f43aad980e839794'), ObjectId('656b42b3f43aad980e839795'), ObjectId('656b42b3f43aad980e839796'), ObjectId('656b42b3f43aad980e839797'), ObjectId('656b42b3f43aad980e839798'), ObjectId('656b42b3f43aad980e839799'), ObjectId('656b42b3f43aad980e83979a'), ObjectId('656b42b3f43aad980e83979b'), ObjectId('656b42b3f43aad980e83979c'), ObjectId('656b42b3f43aad980e83979d'), ObjectId('656b42b3f43aad980e83979e'), ObjectId('656b42b3f43aad980e83979f'), ObjectId('656b42b3f43aad980e8397a0'), ObjectId('656b42b3f43aad980e8397a1'), ObjectId('656b42b3f43aad980e8397a2'), ObjectId('656b42b3f43aad980e8397a3'), ObjectId('656b42b3f43aad980e8397a4'), ObjectId('656b42b3f43aad980e8397a5'), ObjectId('656b42b3f43aad980e8397a6'), ObjectId('656b42b3f43aad980e8397a7'), ObjectId('656b42b3f43aad980e8397a8'), ObjectId('656b42b3f43aad980e8397a9'), ObjectId('656b42b3f43aad980e8397aa'), ObjectId('656b42b3f43aad980e8397ab'), ObjectId('656b42b3f43aad980e8397ac'), ObjectId('656b42b3f43aad980e8397ad'), ObjectId('656b42b3f43aad980e8397ae'), ObjectId('656b42b3f43aad980e8397af'), ObjectId('656b42b3f43aad980e8397b0'), ObjectId('656b42b3f43aad980e8397b1'), ObjectId('656b42b3f43aad980e8397b2'), ObjectId('656b42b3f43aad980e8397b3'), ObjectId('656b42b3f43aad980e8397b4'), ObjectId('656b42b3f43aad980e8397b5'), ObjectId('656b42b3f43aad980e8397b6'), ObjectId('656b42b3f43aad980e8397b7'), ObjectId('656b42b3f43aad980e8397b8'), ObjectId('656b42b3f43aad980e8397b9'), ObjectId('656b42b3f43aad980e8397ba'), ObjectId('656b42b3f43aad980e8397bb'), ObjectId('656b42b3f43aad980e8397bc'), ObjectId('656b42b3f43aad980e8397bd'), ObjectId('656b42b3f43aad980e8397be'), ObjectId('656b42b3f43aad980e8397bf'), ObjectId('656b42b3f43aad980e8397c0'), ObjectId('656b42b3f43aad980e8397c1'), ObjectId('656b42b3f43aad980e8397c2'), ObjectId('656b42b3f43aad980e8397c3'), ObjectId('656b42b3f43aad980e8397c4'), ObjectId('656b42b3f43aad980e8397c5'), ObjectId('656b42b3f43aad980e8397c6'), ObjectId('656b42b3f43aad980e8397c7'), ObjectId('656b42b3f43aad980e8397c8'), ObjectId('656b42b3f43aad980e8397c9'), ObjectId('656b42b3f43aad980e8397ca'), ObjectId('656b42b3f43aad980e8397cb'), ObjectId('656b42b3f43aad980e8397cc'), ObjectId('656b42b3f43aad980e8397cd'), ObjectId('656b42b3f43aad980e8397ce'), ObjectId('656b42b3f43aad980e8397cf'), ObjectId('656b42b3f43aad980e8397d0'), ObjectId('656b42b3f43aad980e8397d1'), ObjectId('656b42b3f43aad980e8397d2'), ObjectId('656b42b3f43aad980e8397d3'), ObjectId('656b42b3f43aad980e8397d4'), ObjectId('656b42b3f43aad980e8397d5'), ObjectId('656b42b3f43aad980e8397d6'), ObjectId('656b42b3f43aad980e8397d7'), ObjectId('656b42b3f43aad980e8397d8'), ObjectId('656b42b3f43aad980e8397d9'), ObjectId('656b42b3f43aad980e8397da'), ObjectId('656b42b3f43aad980e8397db'), ObjectId('656b42b3f43aad980e8397dc'), ObjectId('656b42b3f43aad980e8397dd'), ObjectId('656b42b3f43aad980e8397de'), ObjectId('656b42b3f43aad980e8397df'), ObjectId('656b42b3f43aad980e8397e0'), ObjectId('656b42b3f43aad980e8397e1'), ObjectId('656b42b3f43aad980e8397e2'), ObjectId('656b42b3f43aad980e8397e3'), ObjectId('656b42b3f43aad980e8397e4'), ObjectId('656b42b3f43aad980e8397e5'), ObjectId('656b42b3f43aad980e8397e6'), ObjectId('656b42b3f43aad980e8397e7'), ObjectId('656b42b3f43aad980e8397e8'), ObjectId('656b42b3f43aad980e8397e9'), ObjectId('656b42b3f43aad980e8397ea'), ObjectId('656b42b3f43aad980e8397eb'), ObjectId('656b42b3f43aad980e8397ec'), ObjectId('656b42b3f43aad980e8397ed'), ObjectId('656b42b3f43aad980e8397ee'), ObjectId('656b42b3f43aad980e8397ef'), ObjectId('656b42b3f43aad980e8397f0'), ObjectId('656b42b3f43aad980e8397f1'), ObjectId('656b42b3f43aad980e8397f2'), ObjectId('656b42b3f43aad980e8397f3'), ObjectId('656b42b3f43aad980e8397f4'), ObjectId('656b42b3f43aad980e8397f5'), ObjectId('656b42b3f43aad980e8397f6'), ObjectId('656b42b3f43aad980e8397f7'), ObjectId('656b42b3f43aad980e8397f8'), ObjectId('656b42b3f43aad980e8397f9'), ObjectId('656b42b3f43aad980e8397fa'), ObjectId('656b42b3f43aad980e8397fb'), ObjectId('656b42b3f43aad980e8397fc'), ObjectId('656b42b3f43aad980e8397fd'), ObjectId('656b42b3f43aad980e8397fe'), ObjectId('656b42b3f43aad980e8397ff'), ObjectId('656b42b3f43aad980e839800'), ObjectId('656b42b3f43aad980e839801'), ObjectId('656b42b3f43aad980e839802'), ObjectId('656b42b3f43aad980e839803'), ObjectId('656b42b3f43aad980e839804'), ObjectId('656b42b3f43aad980e839805'), ObjectId('656b42b3f43aad980e839806'), ObjectId('656b42b3f43aad980e839807'), ObjectId('656b42b3f43aad980e839808'), ObjectId('656b42b3f43aad980e839809'), ObjectId('656b42b3f43aad980e83980a'), ObjectId('656b42b3f43aad980e83980b'), ObjectId('656b42b3f43aad980e83980c'), ObjectId('656b42b3f43aad980e83980d'), ObjectId('656b42b3f43aad980e83980e'), ObjectId('656b42b3f43aad980e83980f'), ObjectId('656b42b3f43aad980e839810'), ObjectId('656b42b3f43aad980e839811'), ObjectId('656b42b3f43aad980e839812'), ObjectId('656b42b3f43aad980e839813'), ObjectId('656b42b3f43aad980e839814'), ObjectId('656b42b3f43aad980e839815'), ObjectId('656b42b3f43aad980e839816'), ObjectId('656b42b3f43aad980e839817'), ObjectId('656b42b3f43aad980e839818'), ObjectId('656b42b3f43aad980e839819'), ObjectId('656b42b3f43aad980e83981a'), ObjectId('656b42b3f43aad980e83981b'), ObjectId('656b42b3f43aad980e83981c'), ObjectId('656b42b3f43aad980e83981d'), ObjectId('656b42b3f43aad980e83981e'), ObjectId('656b42b3f43aad980e83981f'), ObjectId('656b42b3f43aad980e839820'), ObjectId('656b42b3f43aad980e839821'), ObjectId('656b42b3f43aad980e839822'), ObjectId('656b42b3f43aad980e839823'), ObjectId('656b42b3f43aad980e839824'), ObjectId('656b42b3f43aad980e839825'), ObjectId('656b42b3f43aad980e839826'), ObjectId('656b42b3f43aad980e839827'), ObjectId('656b42b3f43aad980e839828'), ObjectId('656b42b3f43aad980e839829'), ObjectId('656b42b3f43aad980e83982a'), ObjectId('656b42b3f43aad980e83982b'), ObjectId('656b42b3f43aad980e83982c'), ObjectId('656b42b3f43aad980e83982d'), ObjectId('656b42b3f43aad980e83982e'), ObjectId('656b42b3f43aad980e83982f'), ObjectId('656b42b3f43aad980e839830'), ObjectId('656b42b3f43aad980e839831'), ObjectId('656b42b3f43aad980e839832'), ObjectId('656b42b3f43aad980e839833'), ObjectId('656b42b3f43aad980e839834'), ObjectId('656b42b3f43aad980e839835'), ObjectId('656b42b3f43aad980e839836'), ObjectId('656b42b3f43aad980e839837'), ObjectId('656b42b3f43aad980e839838'), ObjectId('656b42b3f43aad980e839839'), ObjectId('656b42b3f43aad980e83983a'), ObjectId('656b42b3f43aad980e83983b'), ObjectId('656b42b3f43aad980e83983c'), ObjectId('656b42b3f43aad980e83983d'), ObjectId('656b42b3f43aad980e83983e'), ObjectId('656b42b3f43aad980e83983f'), ObjectId('656b42b3f43aad980e839840'), ObjectId('656b42b3f43aad980e839841'), ObjectId('656b42b3f43aad980e839842'), ObjectId('656b42b3f43aad980e839843'), ObjectId('656b42b3f43aad980e839844'), ObjectId('656b42b3f43aad980e839845'), ObjectId('656b42b3f43aad980e839846'), ObjectId('656b42b3f43aad980e839847'), ObjectId('656b42b3f43aad980e839848'), ObjectId('656b42b3f43aad980e839849'), ObjectId('656b42b3f43aad980e83984a'), ObjectId('656b42b3f43aad980e83984b'), ObjectId('656b42b3f43aad980e83984c'), ObjectId('656b42b3f43aad980e83984d'), ObjectId('656b42b3f43aad980e83984e'), ObjectId('656b42b3f43aad980e83984f'), ObjectId('656b42b3f43aad980e839850'), ObjectId('656b42b3f43aad980e839851'), ObjectId('656b42b3f43aad980e839852'), ObjectId('656b42b3f43aad980e839853'), ObjectId('656b42b3f43aad980e839854'), ObjectId('656b42b3f43aad980e839855'), ObjectId('656b42b3f43aad980e839856'), ObjectId('656b42b3f43aad980e839857'), ObjectId('656b42b3f43aad980e839858'), ObjectId('656b42b3f43aad980e839859'), ObjectId('656b42b3f43aad980e83985a'), ObjectId('656b42b3f43aad980e83985b'), ObjectId('656b42b3f43aad980e83985c'), ObjectId('656b42b3f43aad980e83985d'), ObjectId('656b42b3f43aad980e83985e'), ObjectId('656b42b3f43aad980e83985f'), ObjectId('656b42b3f43aad980e839860'), ObjectId('656b42b3f43aad980e839861'), ObjectId('656b42b3f43aad980e839862'), ObjectId('656b42b3f43aad980e839863'), ObjectId('656b42b3f43aad980e839864'), ObjectId('656b42b3f43aad980e839865'), ObjectId('656b42b3f43aad980e839866'), ObjectId('656b42b3f43aad980e839867'), ObjectId('656b42b3f43aad980e839868'), ObjectId('656b42b3f43aad980e839869'), ObjectId('656b42b3f43aad980e83986a'), ObjectId('656b42b3f43aad980e83986b'), ObjectId('656b42b3f43aad980e83986c'), ObjectId('656b42b3f43aad980e83986d'), ObjectId('656b42b3f43aad980e83986e'), ObjectId('656b42b3f43aad980e83986f'), ObjectId('656b42b3f43aad980e839870'), ObjectId('656b42b3f43aad980e839871'), ObjectId('656b42b3f43aad980e839872'), ObjectId('656b42b3f43aad980e839873'), ObjectId('656b42b3f43aad980e839874'), ObjectId('656b42b3f43aad980e839875'), ObjectId('656b42b3f43aad980e839876'), ObjectId('656b42b3f43aad980e839877'), ObjectId('656b42b3f43aad980e839878'), ObjectId('656b42b3f43aad980e839879'), ObjectId('656b42b3f43aad980e83987a'), ObjectId('656b42b3f43aad980e83987b'), ObjectId('656b42b3f43aad980e83987c'), ObjectId('656b42b3f43aad980e83987d'), ObjectId('656b42b3f43aad980e83987e'), ObjectId('656b42b3f43aad980e83987f'), ObjectId('656b42b3f43aad980e839880'), ObjectId('656b42b3f43aad980e839881'), ObjectId('656b42b3f43aad980e839882'), ObjectId('656b42b3f43aad980e839883'), ObjectId('656b42b3f43aad980e839884'), ObjectId('656b42b3f43aad980e839885'), ObjectId('656b42b3f43aad980e839886'), ObjectId('656b42b3f43aad980e839887'), ObjectId('656b42b3f43aad980e839888'), ObjectId('656b42b3f43aad980e839889'), ObjectId('656b42b3f43aad980e83988a'), ObjectId('656b42b3f43aad980e83988b'), ObjectId('656b42b3f43aad980e83988c'), ObjectId('656b42b3f43aad980e83988d'), ObjectId('656b42b3f43aad980e83988e'), ObjectId('656b42b3f43aad980e83988f'), ObjectId('656b42b3f43aad980e839890'), ObjectId('656b42b3f43aad980e839891'), ObjectId('656b42b3f43aad980e839892'), ObjectId('656b42b3f43aad980e839893'), ObjectId('656b42b3f43aad980e839894'), ObjectId('656b42b3f43aad980e839895'), ObjectId('656b42b3f43aad980e839896'), ObjectId('656b42b3f43aad980e839897'), ObjectId('656b42b3f43aad980e839898'), ObjectId('656b42b3f43aad980e839899'), ObjectId('656b42b3f43aad980e83989a'), ObjectId('656b42b3f43aad980e83989b'), ObjectId('656b42b3f43aad980e83989c'), ObjectId('656b42b3f43aad980e83989d'), ObjectId('656b42b3f43aad980e83989e'), ObjectId('656b42b3f43aad980e83989f'), ObjectId('656b42b3f43aad980e8398a0'), ObjectId('656b42b3f43aad980e8398a1'), ObjectId('656b42b3f43aad980e8398a2'), ObjectId('656b42b3f43aad980e8398a3'), ObjectId('656b42b3f43aad980e8398a4'), ObjectId('656b42b3f43aad980e8398a5'), ObjectId('656b42b3f43aad980e8398a6'), ObjectId('656b42b3f43aad980e8398a7'), ObjectId('656b42b3f43aad980e8398a8'), ObjectId('656b42b3f43aad980e8398a9'), ObjectId('656b42b3f43aad980e8398aa'), ObjectId('656b42b3f43aad980e8398ab'), ObjectId('656b42b3f43aad980e8398ac'), ObjectId('656b42b3f43aad980e8398ad'), ObjectId('656b42b3f43aad980e8398ae'), ObjectId('656b42b3f43aad980e8398af'), ObjectId('656b42b3f43aad980e8398b0'), ObjectId('656b42b3f43aad980e8398b1'), ObjectId('656b42b3f43aad980e8398b2'), ObjectId('656b42b3f43aad980e8398b3'), ObjectId('656b42b3f43aad980e8398b4'), ObjectId('656b42b3f43aad980e8398b5'), ObjectId('656b42b3f43aad980e8398b6'), ObjectId('656b42b3f43aad980e8398b7'), ObjectId('656b42b3f43aad980e8398b8'), ObjectId('656b42b3f43aad980e8398b9'), ObjectId('656b42b3f43aad980e8398ba'), ObjectId('656b42b3f43aad980e8398bb'), ObjectId('656b42b3f43aad980e8398bc'), ObjectId('656b42b3f43aad980e8398bd'), ObjectId('656b42b3f43aad980e8398be'), ObjectId('656b42b3f43aad980e8398bf'), ObjectId('656b42b3f43aad980e8398c0'), ObjectId('656b42b3f43aad980e8398c1'), ObjectId('656b42b3f43aad980e8398c2'), ObjectId('656b42b3f43aad980e8398c3'), ObjectId('656b42b3f43aad980e8398c4'), ObjectId('656b42b3f43aad980e8398c5'), ObjectId('656b42b3f43aad980e8398c6'), ObjectId('656b42b3f43aad980e8398c7'), ObjectId('656b42b3f43aad980e8398c8'), ObjectId('656b42b3f43aad980e8398c9'), ObjectId('656b42b3f43aad980e8398ca'), ObjectId('656b42b3f43aad980e8398cb'), ObjectId('656b42b3f43aad980e8398cc'), ObjectId('656b42b3f43aad980e8398cd'), ObjectId('656b42b3f43aad980e8398ce'), ObjectId('656b42b3f43aad980e8398cf'), ObjectId('656b42b3f43aad980e8398d0'), ObjectId('656b42b3f43aad980e8398d1'), ObjectId('656b42b3f43aad980e8398d2'), ObjectId('656b42b3f43aad980e8398d3'), ObjectId('656b42b3f43aad980e8398d4'), ObjectId('656b42b3f43aad980e8398d5'), ObjectId('656b42b3f43aad980e8398d6'), ObjectId('656b42b3f43aad980e8398d7'), ObjectId('656b42b3f43aad980e8398d8'), ObjectId('656b42b3f43aad980e8398d9'), ObjectId('656b42b3f43aad980e8398da'), ObjectId('656b42b3f43aad980e8398db'), ObjectId('656b42b3f43aad980e8398dc'), ObjectId('656b42b3f43aad980e8398dd'), ObjectId('656b42b3f43aad980e8398de'), ObjectId('656b42b3f43aad980e8398df'), ObjectId('656b42b3f43aad980e8398e0'), ObjectId('656b42b3f43aad980e8398e1'), ObjectId('656b42b3f43aad980e8398e2'), ObjectId('656b42b3f43aad980e8398e3'), ObjectId('656b42b3f43aad980e8398e4'), ObjectId('656b42b3f43aad980e8398e5'), ObjectId('656b42b3f43aad980e8398e6'), ObjectId('656b42b3f43aad980e8398e7'), ObjectId('656b42b3f43aad980e8398e8'), ObjectId('656b42b3f43aad980e8398e9'), ObjectId('656b42b3f43aad980e8398ea'), ObjectId('656b42b3f43aad980e8398eb'), ObjectId('656b42b3f43aad980e8398ec'), ObjectId('656b42b3f43aad980e8398ed'), ObjectId('656b42b3f43aad980e8398ee'), ObjectId('656b42b3f43aad980e8398ef'), ObjectId('656b42b3f43aad980e8398f0'), ObjectId('656b42b3f43aad980e8398f1'), ObjectId('656b42b3f43aad980e8398f2'), ObjectId('656b42b3f43aad980e8398f3'), ObjectId('656b42b3f43aad980e8398f4'), ObjectId('656b42b3f43aad980e8398f5'), ObjectId('656b42b3f43aad980e8398f6'), ObjectId('656b42b3f43aad980e8398f7'), ObjectId('656b42b3f43aad980e8398f8'), ObjectId('656b42b3f43aad980e8398f9'), ObjectId('656b42b3f43aad980e8398fa'), ObjectId('656b42b3f43aad980e8398fb'), ObjectId('656b42b3f43aad980e8398fc'), ObjectId('656b42b3f43aad980e8398fd'), ObjectId('656b42b3f43aad980e8398fe'), ObjectId('656b42b3f43aad980e8398ff'), ObjectId('656b42b3f43aad980e839900'), ObjectId('656b42b3f43aad980e839901'), ObjectId('656b42b3f43aad980e839902'), ObjectId('656b42b3f43aad980e839903'), ObjectId('656b42b3f43aad980e839904'), ObjectId('656b42b3f43aad980e839905'), ObjectId('656b42b3f43aad980e839906'), ObjectId('656b42b3f43aad980e839907'), ObjectId('656b42b3f43aad980e839908'), ObjectId('656b42b3f43aad980e839909'), ObjectId('656b42b3f43aad980e83990a'), ObjectId('656b42b3f43aad980e83990b'), ObjectId('656b42b3f43aad980e83990c'), ObjectId('656b42b3f43aad980e83990d'), ObjectId('656b42b3f43aad980e83990e'), ObjectId('656b42b3f43aad980e83990f'), ObjectId('656b42b3f43aad980e839910'), ObjectId('656b42b3f43aad980e839911'), ObjectId('656b42b3f43aad980e839912'), ObjectId('656b42b3f43aad980e839913'), ObjectId('656b42b3f43aad980e839914'), ObjectId('656b42b3f43aad980e839915'), ObjectId('656b42b3f43aad980e839916'), ObjectId('656b42b3f43aad980e839917'), ObjectId('656b42b3f43aad980e839918'), ObjectId('656b42b3f43aad980e839919'), ObjectId('656b42b3f43aad980e83991a'), ObjectId('656b42b3f43aad980e83991b'), ObjectId('656b42b3f43aad980e83991c'), ObjectId('656b42b3f43aad980e83991d'), ObjectId('656b42b3f43aad980e83991e'), ObjectId('656b42b3f43aad980e83991f'), ObjectId('656b42b3f43aad980e839920'), ObjectId('656b42b3f43aad980e839921'), ObjectId('656b42b3f43aad980e839922'), ObjectId('656b42b3f43aad980e839923'), ObjectId('656b42b3f43aad980e839924'), ObjectId('656b42b3f43aad980e839925'), ObjectId('656b42b3f43aad980e839926'), ObjectId('656b42b3f43aad980e839927'), ObjectId('656b42b3f43aad980e839928'), ObjectId('656b42b3f43aad980e839929'), ObjectId('656b42b3f43aad980e83992a'), ObjectId('656b42b3f43aad980e83992b'), ObjectId('656b42b3f43aad980e83992c'), ObjectId('656b42b3f43aad980e83992d'), ObjectId('656b42b3f43aad980e83992e'), ObjectId('656b42b3f43aad980e83992f'), ObjectId('656b42b3f43aad980e839930'), ObjectId('656b42b3f43aad980e839931'), ObjectId('656b42b3f43aad980e839932'), ObjectId('656b42b3f43aad980e839933'), ObjectId('656b42b3f43aad980e839934'), ObjectId('656b42b3f43aad980e839935'), ObjectId('656b42b3f43aad980e839936'), ObjectId('656b42b3f43aad980e839937'), ObjectId('656b42b3f43aad980e839938'), ObjectId('656b42b3f43aad980e839939'), ObjectId('656b42b3f43aad980e83993a'), ObjectId('656b42b3f43aad980e83993b'), ObjectId('656b42b3f43aad980e83993c'), ObjectId('656b42b3f43aad980e83993d'), ObjectId('656b42b3f43aad980e83993e'), ObjectId('656b42b3f43aad980e83993f'), ObjectId('656b42b3f43aad980e839940'), ObjectId('656b42b3f43aad980e839941'), ObjectId('656b42b3f43aad980e839942'), ObjectId('656b42b3f43aad980e839943'), ObjectId('656b42b3f43aad980e839944'), ObjectId('656b42b3f43aad980e839945'), ObjectId('656b42b3f43aad980e839946'), ObjectId('656b42b3f43aad980e839947'), ObjectId('656b42b3f43aad980e839948'), ObjectId('656b42b3f43aad980e839949'), ObjectId('656b42b3f43aad980e83994a'), ObjectId('656b42b3f43aad980e83994b'), ObjectId('656b42b3f43aad980e83994c'), ObjectId('656b42b3f43aad980e83994d'), ObjectId('656b42b3f43aad980e83994e'), ObjectId('656b42b3f43aad980e83994f'), ObjectId('656b42b3f43aad980e839950'), ObjectId('656b42b3f43aad980e839951'), ObjectId('656b42b3f43aad980e839952'), ObjectId('656b42b3f43aad980e839953'), ObjectId('656b42b3f43aad980e839954'), ObjectId('656b42b3f43aad980e839955'), ObjectId('656b42b3f43aad980e839956'), ObjectId('656b42b3f43aad980e839957'), ObjectId('656b42b3f43aad980e839958'), ObjectId('656b42b3f43aad980e839959'), ObjectId('656b42b3f43aad980e83995a'), ObjectId('656b42b3f43aad980e83995b'), ObjectId('656b42b3f43aad980e83995c'), ObjectId('656b42b3f43aad980e83995d'), ObjectId('656b42b3f43aad980e83995e'), ObjectId('656b42b3f43aad980e83995f'), ObjectId('656b42b3f43aad980e839960'), ObjectId('656b42b3f43aad980e839961'), ObjectId('656b42b3f43aad980e839962'), ObjectId('656b42b3f43aad980e839963'), ObjectId('656b42b3f43aad980e839964'), ObjectId('656b42b3f43aad980e839965'), ObjectId('656b42b3f43aad980e839966'), ObjectId('656b42b3f43aad980e839967'), ObjectId('656b42b3f43aad980e839968'), ObjectId('656b42b3f43aad980e839969'), ObjectId('656b42b3f43aad980e83996a'), ObjectId('656b42b3f43aad980e83996b'), ObjectId('656b42b3f43aad980e83996c'), ObjectId('656b42b3f43aad980e83996d'), ObjectId('656b42b3f43aad980e83996e'), ObjectId('656b42b3f43aad980e83996f'), ObjectId('656b42b3f43aad980e839970'), ObjectId('656b42b3f43aad980e839971'), ObjectId('656b42b3f43aad980e839972'), ObjectId('656b42b3f43aad980e839973'), ObjectId('656b42b3f43aad980e839974'), ObjectId('656b42b3f43aad980e839975'), ObjectId('656b42b3f43aad980e839976'), ObjectId('656b42b3f43aad980e839977'), ObjectId('656b42b3f43aad980e839978'), ObjectId('656b42b3f43aad980e839979'), ObjectId('656b42b3f43aad980e83997a'), ObjectId('656b42b3f43aad980e83997b'), ObjectId('656b42b3f43aad980e83997c'), ObjectId('656b42b3f43aad980e83997d'), ObjectId('656b42b3f43aad980e83997e'), ObjectId('656b42b3f43aad980e83997f'), ObjectId('656b42b3f43aad980e839980'), ObjectId('656b42b3f43aad980e839981'), ObjectId('656b42b3f43aad980e839982'), ObjectId('656b42b3f43aad980e839983'), ObjectId('656b42b3f43aad980e839984'), ObjectId('656b42b3f43aad980e839985'), ObjectId('656b42b3f43aad980e839986'), ObjectId('656b42b3f43aad980e839987'), ObjectId('656b42b3f43aad980e839988'), ObjectId('656b42b3f43aad980e839989'), ObjectId('656b42b3f43aad980e83998a'), ObjectId('656b42b3f43aad980e83998b'), ObjectId('656b42b3f43aad980e83998c'), ObjectId('656b42b3f43aad980e83998d'), ObjectId('656b42b3f43aad980e83998e'), ObjectId('656b42b3f43aad980e83998f'), ObjectId('656b42b3f43aad980e839990'), ObjectId('656b42b3f43aad980e839991'), ObjectId('656b42b3f43aad980e839992'), ObjectId('656b42b3f43aad980e839993'), ObjectId('656b42b3f43aad980e839994'), ObjectId('656b42b3f43aad980e839995'), ObjectId('656b42b3f43aad980e839996'), ObjectId('656b42b3f43aad980e839997'), ObjectId('656b42b3f43aad980e839998'), ObjectId('656b42b3f43aad980e839999'), ObjectId('656b42b3f43aad980e83999a'), ObjectId('656b42b3f43aad980e83999b'), ObjectId('656b42b3f43aad980e83999c'), ObjectId('656b42b3f43aad980e83999d'), ObjectId('656b42b3f43aad980e83999e'), ObjectId('656b42b3f43aad980e83999f'), ObjectId('656b42b3f43aad980e8399a0'), ObjectId('656b42b3f43aad980e8399a1'), ObjectId('656b42b3f43aad980e8399a2'), ObjectId('656b42b3f43aad980e8399a3'), ObjectId('656b42b3f43aad980e8399a4'), ObjectId('656b42b3f43aad980e8399a5'), ObjectId('656b42b3f43aad980e8399a6'), ObjectId('656b42b3f43aad980e8399a7'), ObjectId('656b42b3f43aad980e8399a8'), ObjectId('656b42b3f43aad980e8399a9'), ObjectId('656b42b3f43aad980e8399aa'), ObjectId('656b42b3f43aad980e8399ab'), ObjectId('656b42b3f43aad980e8399ac'), ObjectId('656b42b3f43aad980e8399ad'), ObjectId('656b42b3f43aad980e8399ae'), ObjectId('656b42b3f43aad980e8399af'), ObjectId('656b42b3f43aad980e8399b0'), ObjectId('656b42b3f43aad980e8399b1'), ObjectId('656b42b3f43aad980e8399b2'), ObjectId('656b42b3f43aad980e8399b3'), ObjectId('656b42b3f43aad980e8399b4'), ObjectId('656b42b3f43aad980e8399b5'), ObjectId('656b42b3f43aad980e8399b6'), ObjectId('656b42b3f43aad980e8399b7'), ObjectId('656b42b3f43aad980e8399b8'), ObjectId('656b42b3f43aad980e8399b9'), ObjectId('656b42b3f43aad980e8399ba'), ObjectId('656b42b3f43aad980e8399bb'), ObjectId('656b42b3f43aad980e8399bc'), ObjectId('656b42b3f43aad980e8399bd'), ObjectId('656b42b3f43aad980e8399be'), ObjectId('656b42b3f43aad980e8399bf'), ObjectId('656b42b3f43aad980e8399c0'), ObjectId('656b42b3f43aad980e8399c1'), ObjectId('656b42b3f43aad980e8399c2'), ObjectId('656b42b3f43aad980e8399c3'), ObjectId('656b42b3f43aad980e8399c4'), ObjectId('656b42b3f43aad980e8399c5'), ObjectId('656b42b3f43aad980e8399c6'), ObjectId('656b42b3f43aad980e8399c7'), ObjectId('656b42b3f43aad980e8399c8'), ObjectId('656b42b3f43aad980e8399c9'), ObjectId('656b42b3f43aad980e8399ca'), ObjectId('656b42b3f43aad980e8399cb'), ObjectId('656b42b3f43aad980e8399cc'), ObjectId('656b42b3f43aad980e8399cd'), ObjectId('656b42b3f43aad980e8399ce'), ObjectId('656b42b3f43aad980e8399cf'), ObjectId('656b42b3f43aad980e8399d0'), ObjectId('656b42b3f43aad980e8399d1'), ObjectId('656b42b3f43aad980e8399d2'), ObjectId('656b42b3f43aad980e8399d3'), ObjectId('656b42b3f43aad980e8399d4'), ObjectId('656b42b3f43aad980e8399d5'), ObjectId('656b42b3f43aad980e8399d6'), ObjectId('656b42b3f43aad980e8399d7'), ObjectId('656b42b3f43aad980e8399d8'), ObjectId('656b42b3f43aad980e8399d9'), ObjectId('656b42b3f43aad980e8399da'), ObjectId('656b42b3f43aad980e8399db'), ObjectId('656b42b3f43aad980e8399dc'), ObjectId('656b42b3f43aad980e8399dd'), ObjectId('656b42b3f43aad980e8399de'), ObjectId('656b42b3f43aad980e8399df'), ObjectId('656b42b3f43aad980e8399e0'), ObjectId('656b42b3f43aad980e8399e1'), ObjectId('656b42b3f43aad980e8399e2'), ObjectId('656b42b3f43aad980e8399e3'), ObjectId('656b42b3f43aad980e8399e4'), ObjectId('656b42b3f43aad980e8399e5'), ObjectId('656b42b3f43aad980e8399e6'), ObjectId('656b42b3f43aad980e8399e7'), ObjectId('656b42b3f43aad980e8399e8'), ObjectId('656b42b3f43aad980e8399e9'), ObjectId('656b42b3f43aad980e8399ea'), ObjectId('656b42b3f43aad980e8399eb'), ObjectId('656b42b3f43aad980e8399ec'), ObjectId('656b42b3f43aad980e8399ed'), ObjectId('656b42b3f43aad980e8399ee'), ObjectId('656b42b3f43aad980e8399ef'), ObjectId('656b42b3f43aad980e8399f0'), ObjectId('656b42b3f43aad980e8399f1'), ObjectId('656b42b3f43aad980e8399f2'), ObjectId('656b42b3f43aad980e8399f3'), ObjectId('656b42b3f43aad980e8399f4'), ObjectId('656b42b3f43aad980e8399f5'), ObjectId('656b42b3f43aad980e8399f6'), ObjectId('656b42b3f43aad980e8399f7'), ObjectId('656b42b3f43aad980e8399f8'), ObjectId('656b42b3f43aad980e8399f9'), ObjectId('656b42b3f43aad980e8399fa'), ObjectId('656b42b3f43aad980e8399fb'), ObjectId('656b42b3f43aad980e8399fc'), ObjectId('656b42b3f43aad980e8399fd'), ObjectId('656b42b3f43aad980e8399fe'), ObjectId('656b42b3f43aad980e8399ff'), ObjectId('656b42b3f43aad980e839a00'), ObjectId('656b42b3f43aad980e839a01'), ObjectId('656b42b3f43aad980e839a02'), ObjectId('656b42b3f43aad980e839a03'), ObjectId('656b42b3f43aad980e839a04'), ObjectId('656b42b3f43aad980e839a05'), ObjectId('656b42b3f43aad980e839a06'), ObjectId('656b42b3f43aad980e839a07'), ObjectId('656b42b3f43aad980e839a08'), ObjectId('656b42b3f43aad980e839a09'), ObjectId('656b42b3f43aad980e839a0a'), ObjectId('656b42b3f43aad980e839a0b'), ObjectId('656b42b3f43aad980e839a0c'), ObjectId('656b42b3f43aad980e839a0d'), ObjectId('656b42b3f43aad980e839a0e'), ObjectId('656b42b3f43aad980e839a0f'), ObjectId('656b42b3f43aad980e839a10'), ObjectId('656b42b3f43aad980e839a11'), ObjectId('656b42b3f43aad980e839a12'), ObjectId('656b42b3f43aad980e839a13'), ObjectId('656b42b3f43aad980e839a14'), ObjectId('656b42b3f43aad980e839a15'), ObjectId('656b42b3f43aad980e839a16'), ObjectId('656b42b3f43aad980e839a17'), ObjectId('656b42b3f43aad980e839a18'), ObjectId('656b42b3f43aad980e839a19'), ObjectId('656b42b3f43aad980e839a1a'), ObjectId('656b42b3f43aad980e839a1b'), ObjectId('656b42b3f43aad980e839a1c'), ObjectId('656b42b3f43aad980e839a1d'), ObjectId('656b42b3f43aad980e839a1e'), ObjectId('656b42b3f43aad980e839a1f'), ObjectId('656b42b3f43aad980e839a20'), ObjectId('656b42b3f43aad980e839a21'), ObjectId('656b42b3f43aad980e839a22'), ObjectId('656b42b3f43aad980e839a23'), ObjectId('656b42b3f43aad980e839a24'), ObjectId('656b42b3f43aad980e839a25'), ObjectId('656b42b3f43aad980e839a26'), ObjectId('656b42b3f43aad980e839a27'), ObjectId('656b42b3f43aad980e839a28'), ObjectId('656b42b3f43aad980e839a29'), ObjectId('656b42b3f43aad980e839a2a'), ObjectId('656b42b3f43aad980e839a2b'), ObjectId('656b42b3f43aad980e839a2c'), ObjectId('656b42b3f43aad980e839a2d'), ObjectId('656b42b3f43aad980e839a2e'), ObjectId('656b42b3f43aad980e839a2f'), ObjectId('656b42b3f43aad980e839a30'), ObjectId('656b42b3f43aad980e839a31'), ObjectId('656b42b3f43aad980e839a32'), ObjectId('656b42b3f43aad980e839a33'), ObjectId('656b42b3f43aad980e839a34'), ObjectId('656b42b3f43aad980e839a35'), ObjectId('656b42b3f43aad980e839a36'), ObjectId('656b42b3f43aad980e839a37'), ObjectId('656b42b3f43aad980e839a38'), ObjectId('656b42b3f43aad980e839a39'), ObjectId('656b42b3f43aad980e839a3a'), ObjectId('656b42b3f43aad980e839a3b'), ObjectId('656b42b3f43aad980e839a3c'), ObjectId('656b42b3f43aad980e839a3d'), ObjectId('656b42b3f43aad980e839a3e'), ObjectId('656b42b3f43aad980e839a3f'), ObjectId('656b42b3f43aad980e839a40'), ObjectId('656b42b3f43aad980e839a41'), ObjectId('656b42b3f43aad980e839a42'), ObjectId('656b42b3f43aad980e839a43'), ObjectId('656b42b3f43aad980e839a44'), ObjectId('656b42b3f43aad980e839a45'), ObjectId('656b42b3f43aad980e839a46'), ObjectId('656b42b3f43aad980e839a47'), ObjectId('656b42b3f43aad980e839a48'), ObjectId('656b42b3f43aad980e839a49'), ObjectId('656b42b3f43aad980e839a4a'), ObjectId('656b42b3f43aad980e839a4b'), ObjectId('656b42b3f43aad980e839a4c'), ObjectId('656b42b3f43aad980e839a4d'), ObjectId('656b42b3f43aad980e839a4e'), ObjectId('656b42b3f43aad980e839a4f'), ObjectId('656b42b3f43aad980e839a50'), ObjectId('656b42b3f43aad980e839a51'), ObjectId('656b42b3f43aad980e839a52'), ObjectId('656b42b3f43aad980e839a53'), ObjectId('656b42b3f43aad980e839a54'), ObjectId('656b42b3f43aad980e839a55'), ObjectId('656b42b3f43aad980e839a56'), ObjectId('656b42b3f43aad980e839a57'), ObjectId('656b42b3f43aad980e839a58'), ObjectId('656b42b3f43aad980e839a59'), ObjectId('656b42b3f43aad980e839a5a'), ObjectId('656b42b3f43aad980e839a5b'), ObjectId('656b42b3f43aad980e839a5c'), ObjectId('656b42b3f43aad980e839a5d'), ObjectId('656b42b3f43aad980e839a5e'), ObjectId('656b42b3f43aad980e839a5f'), ObjectId('656b42b3f43aad980e839a60'), ObjectId('656b42b3f43aad980e839a61'), ObjectId('656b42b3f43aad980e839a62'), ObjectId('656b42b3f43aad980e839a63'), ObjectId('656b42b3f43aad980e839a64'), ObjectId('656b42b3f43aad980e839a65'), ObjectId('656b42b3f43aad980e839a66'), ObjectId('656b42b3f43aad980e839a67'), ObjectId('656b42b3f43aad980e839a68'), ObjectId('656b42b3f43aad980e839a69'), ObjectId('656b42b3f43aad980e839a6a'), ObjectId('656b42b3f43aad980e839a6b'), ObjectId('656b42b3f43aad980e839a6c'), ObjectId('656b42b3f43aad980e839a6d'), ObjectId('656b42b3f43aad980e839a6e'), ObjectId('656b42b3f43aad980e839a6f'), ObjectId('656b42b3f43aad980e839a70'), ObjectId('656b42b3f43aad980e839a71'), ObjectId('656b42b3f43aad980e839a72'), ObjectId('656b42b3f43aad980e839a73'), ObjectId('656b42b3f43aad980e839a74'), ObjectId('656b42b3f43aad980e839a75'), ObjectId('656b42b3f43aad980e839a76'), ObjectId('656b42b3f43aad980e839a77'), ObjectId('656b42b3f43aad980e839a78'), ObjectId('656b42b3f43aad980e839a79'), ObjectId('656b42b3f43aad980e839a7a'), ObjectId('656b42b3f43aad980e839a7b'), ObjectId('656b42b3f43aad980e839a7c'), ObjectId('656b42b3f43aad980e839a7d'), ObjectId('656b42b3f43aad980e839a7e'), ObjectId('656b42b3f43aad980e839a7f'), ObjectId('656b42b3f43aad980e839a80'), ObjectId('656b42b3f43aad980e839a81'), ObjectId('656b42b3f43aad980e839a82'), ObjectId('656b42b3f43aad980e839a83'), ObjectId('656b42b3f43aad980e839a84'), ObjectId('656b42b3f43aad980e839a85'), ObjectId('656b42b3f43aad980e839a86'), ObjectId('656b42b3f43aad980e839a87'), ObjectId('656b42b3f43aad980e839a88'), ObjectId('656b42b3f43aad980e839a89'), ObjectId('656b42b3f43aad980e839a8a'), ObjectId('656b42b3f43aad980e839a8b'), ObjectId('656b42b3f43aad980e839a8c'), ObjectId('656b42b3f43aad980e839a8d'), ObjectId('656b42b3f43aad980e839a8e'), ObjectId('656b42b3f43aad980e839a8f'), ObjectId('656b42b3f43aad980e839a90'), ObjectId('656b42b3f43aad980e839a91'), ObjectId('656b42b3f43aad980e839a92'), ObjectId('656b42b3f43aad980e839a93'), ObjectId('656b42b3f43aad980e839a94'), ObjectId('656b42b3f43aad980e839a95'), ObjectId('656b42b3f43aad980e839a96'), ObjectId('656b42b3f43aad980e839a97'), ObjectId('656b42b3f43aad980e839a98'), ObjectId('656b42b3f43aad980e839a99'), ObjectId('656b42b3f43aad980e839a9a'), ObjectId('656b42b3f43aad980e839a9b'), ObjectId('656b42b3f43aad980e839a9c'), ObjectId('656b42b3f43aad980e839a9d'), ObjectId('656b42b3f43aad980e839a9e'), ObjectId('656b42b3f43aad980e839a9f'), ObjectId('656b42b3f43aad980e839aa0'), ObjectId('656b42b3f43aad980e839aa1'), ObjectId('656b42b3f43aad980e839aa2'), ObjectId('656b42b3f43aad980e839aa3'), ObjectId('656b42b3f43aad980e839aa4'), ObjectId('656b42b3f43aad980e839aa5'), ObjectId('656b42b3f43aad980e839aa6'), ObjectId('656b42b3f43aad980e839aa7'), ObjectId('656b42b3f43aad980e839aa8'), ObjectId('656b42b3f43aad980e839aa9'), ObjectId('656b42b3f43aad980e839aaa'), ObjectId('656b42b3f43aad980e839aab'), ObjectId('656b42b3f43aad980e839aac'), ObjectId('656b42b3f43aad980e839aad'), ObjectId('656b42b3f43aad980e839aae'), ObjectId('656b42b3f43aad980e839aaf'), ObjectId('656b42b3f43aad980e839ab0'), ObjectId('656b42b3f43aad980e839ab1'), ObjectId('656b42b3f43aad980e839ab2'), ObjectId('656b42b3f43aad980e839ab3'), ObjectId('656b42b3f43aad980e839ab4'), ObjectId('656b42b3f43aad980e839ab5'), ObjectId('656b42b3f43aad980e839ab6'), ObjectId('656b42b3f43aad980e839ab7'), ObjectId('656b42b3f43aad980e839ab8'), ObjectId('656b42b3f43aad980e839ab9'), ObjectId('656b42b3f43aad980e839aba'), ObjectId('656b42b3f43aad980e839abb'), ObjectId('656b42b3f43aad980e839abc'), ObjectId('656b42b3f43aad980e839abd'), ObjectId('656b42b3f43aad980e839abe'), ObjectId('656b42b3f43aad980e839abf'), ObjectId('656b42b3f43aad980e839ac0'), ObjectId('656b42b3f43aad980e839ac1'), ObjectId('656b42b3f43aad980e839ac2'), ObjectId('656b42b3f43aad980e839ac3'), ObjectId('656b42b3f43aad980e839ac4'), ObjectId('656b42b3f43aad980e839ac5'), ObjectId('656b42b3f43aad980e839ac6'), ObjectId('656b42b3f43aad980e839ac7'), ObjectId('656b42b3f43aad980e839ac8'), ObjectId('656b42b3f43aad980e839ac9'), ObjectId('656b42b3f43aad980e839aca'), ObjectId('656b42b3f43aad980e839acb'), ObjectId('656b42b3f43aad980e839acc'), ObjectId('656b42b3f43aad980e839acd'), ObjectId('656b42b3f43aad980e839ace'), ObjectId('656b42b3f43aad980e839acf'), ObjectId('656b42b3f43aad980e839ad0'), ObjectId('656b42b3f43aad980e839ad1'), ObjectId('656b42b3f43aad980e839ad2'), ObjectId('656b42b3f43aad980e839ad3'), ObjectId('656b42b3f43aad980e839ad4'), ObjectId('656b42b3f43aad980e839ad5'), ObjectId('656b42b3f43aad980e839ad6'), ObjectId('656b42b3f43aad980e839ad7'), ObjectId('656b42b3f43aad980e839ad8'), ObjectId('656b42b3f43aad980e839ad9'), ObjectId('656b42b3f43aad980e839ada'), ObjectId('656b42b3f43aad980e839adb'), ObjectId('656b42b3f43aad980e839adc'), ObjectId('656b42b3f43aad980e839add'), ObjectId('656b42b3f43aad980e839ade'), ObjectId('656b42b3f43aad980e839adf'), ObjectId('656b42b3f43aad980e839ae0'), ObjectId('656b42b3f43aad980e839ae1'), ObjectId('656b42b3f43aad980e839ae2'), ObjectId('656b42b3f43aad980e839ae3'), ObjectId('656b42b3f43aad980e839ae4'), ObjectId('656b42b3f43aad980e839ae5'), ObjectId('656b42b3f43aad980e839ae6'), ObjectId('656b42b3f43aad980e839ae7'), ObjectId('656b42b3f43aad980e839ae8'), ObjectId('656b42b3f43aad980e839ae9'), ObjectId('656b42b3f43aad980e839aea'), ObjectId('656b42b3f43aad980e839aeb'), ObjectId('656b42b3f43aad980e839aec'), ObjectId('656b42b3f43aad980e839aed'), ObjectId('656b42b3f43aad980e839aee'), ObjectId('656b42b3f43aad980e839aef'), ObjectId('656b42b3f43aad980e839af0'), ObjectId('656b42b3f43aad980e839af1'), ObjectId('656b42b3f43aad980e839af2'), ObjectId('656b42b3f43aad980e839af3'), ObjectId('656b42b3f43aad980e839af4'), ObjectId('656b42b3f43aad980e839af5'), ObjectId('656b42b3f43aad980e839af6'), ObjectId('656b42b3f43aad980e839af7'), ObjectId('656b42b3f43aad980e839af8'), ObjectId('656b42b3f43aad980e839af9'), ObjectId('656b42b3f43aad980e839afa'), ObjectId('656b42b3f43aad980e839afb'), ObjectId('656b42b3f43aad980e839afc'), ObjectId('656b42b3f43aad980e839afd'), ObjectId('656b42b3f43aad980e839afe'), ObjectId('656b42b3f43aad980e839aff'), ObjectId('656b42b3f43aad980e839b00'), ObjectId('656b42b3f43aad980e839b01'), ObjectId('656b42b3f43aad980e839b02'), ObjectId('656b42b3f43aad980e839b03'), ObjectId('656b42b3f43aad980e839b04'), ObjectId('656b42b3f43aad980e839b05'), ObjectId('656b42b3f43aad980e839b06'), ObjectId('656b42b3f43aad980e839b07'), ObjectId('656b42b3f43aad980e839b08'), ObjectId('656b42b3f43aad980e839b09'), ObjectId('656b42b3f43aad980e839b0a'), ObjectId('656b42b3f43aad980e839b0b'), ObjectId('656b42b3f43aad980e839b0c'), ObjectId('656b42b3f43aad980e839b0d'), ObjectId('656b42b3f43aad980e839b0e'), ObjectId('656b42b3f43aad980e839b0f'), ObjectId('656b42b3f43aad980e839b10'), ObjectId('656b42b3f43aad980e839b11'), ObjectId('656b42b3f43aad980e839b12'), ObjectId('656b42b3f43aad980e839b13'), ObjectId('656b42b3f43aad980e839b14'), ObjectId('656b42b3f43aad980e839b15'), ObjectId('656b42b3f43aad980e839b16'), ObjectId('656b42b3f43aad980e839b17'), ObjectId('656b42b3f43aad980e839b18'), ObjectId('656b42b3f43aad980e839b19'), ObjectId('656b42b3f43aad980e839b1a'), ObjectId('656b42b3f43aad980e839b1b'), ObjectId('656b42b3f43aad980e839b1c'), ObjectId('656b42b3f43aad980e839b1d'), ObjectId('656b42b3f43aad980e839b1e'), ObjectId('656b42b3f43aad980e839b1f'), ObjectId('656b42b3f43aad980e839b20'), ObjectId('656b42b3f43aad980e839b21'), ObjectId('656b42b3f43aad980e839b22')]\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:03.37\u001b[0m| \u001b[32m\u001b[1mSUCCESS \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m38 \u001b[0m | \u001b[32m\u001b[1mJob submitted. function: future:f0c30b72-3f4f-401e-88c2-2369121c54aa\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "([ObjectId('656b42b3f43aad980e83974c'),\n", + " ObjectId('656b42b3f43aad980e83974d'),\n", + " ObjectId('656b42b3f43aad980e83974e'),\n", + " ObjectId('656b42b3f43aad980e83974f'),\n", + " ObjectId('656b42b3f43aad980e839750'),\n", + " ObjectId('656b42b3f43aad980e839751'),\n", + " ObjectId('656b42b3f43aad980e839752'),\n", + " ObjectId('656b42b3f43aad980e839753'),\n", + " ObjectId('656b42b3f43aad980e839754'),\n", + " ObjectId('656b42b3f43aad980e839755'),\n", + " ObjectId('656b42b3f43aad980e839756'),\n", + " ObjectId('656b42b3f43aad980e839757'),\n", + " ObjectId('656b42b3f43aad980e839758'),\n", + " ObjectId('656b42b3f43aad980e839759'),\n", + " ObjectId('656b42b3f43aad980e83975a'),\n", + " ObjectId('656b42b3f43aad980e83975b'),\n", + " ObjectId('656b42b3f43aad980e83975c'),\n", + " ObjectId('656b42b3f43aad980e83975d'),\n", + " ObjectId('656b42b3f43aad980e83975e'),\n", + " ObjectId('656b42b3f43aad980e83975f'),\n", + " ObjectId('656b42b3f43aad980e839760'),\n", + " ObjectId('656b42b3f43aad980e839761'),\n", + " ObjectId('656b42b3f43aad980e839762'),\n", + " ObjectId('656b42b3f43aad980e839763'),\n", + " ObjectId('656b42b3f43aad980e839764'),\n", + " ObjectId('656b42b3f43aad980e839765'),\n", + " ObjectId('656b42b3f43aad980e839766'),\n", + " ObjectId('656b42b3f43aad980e839767'),\n", + " ObjectId('656b42b3f43aad980e839768'),\n", + " ObjectId('656b42b3f43aad980e839769'),\n", + " ObjectId('656b42b3f43aad980e83976a'),\n", + " ObjectId('656b42b3f43aad980e83976b'),\n", + " ObjectId('656b42b3f43aad980e83976c'),\n", + " ObjectId('656b42b3f43aad980e83976d'),\n", + " ObjectId('656b42b3f43aad980e83976e'),\n", + " ObjectId('656b42b3f43aad980e83976f'),\n", + " ObjectId('656b42b3f43aad980e839770'),\n", + " ObjectId('656b42b3f43aad980e839771'),\n", + " ObjectId('656b42b3f43aad980e839772'),\n", + " ObjectId('656b42b3f43aad980e839773'),\n", + " ObjectId('656b42b3f43aad980e839774'),\n", + " ObjectId('656b42b3f43aad980e839775'),\n", + " ObjectId('656b42b3f43aad980e839776'),\n", + " ObjectId('656b42b3f43aad980e839777'),\n", + " ObjectId('656b42b3f43aad980e839778'),\n", + " ObjectId('656b42b3f43aad980e839779'),\n", + " ObjectId('656b42b3f43aad980e83977a'),\n", + " ObjectId('656b42b3f43aad980e83977b'),\n", + " ObjectId('656b42b3f43aad980e83977c'),\n", + " ObjectId('656b42b3f43aad980e83977d'),\n", + " ObjectId('656b42b3f43aad980e83977e'),\n", + " ObjectId('656b42b3f43aad980e83977f'),\n", + " ObjectId('656b42b3f43aad980e839780'),\n", + " ObjectId('656b42b3f43aad980e839781'),\n", + " ObjectId('656b42b3f43aad980e839782'),\n", + " ObjectId('656b42b3f43aad980e839783'),\n", + " ObjectId('656b42b3f43aad980e839784'),\n", + " ObjectId('656b42b3f43aad980e839785'),\n", + " ObjectId('656b42b3f43aad980e839786'),\n", + " ObjectId('656b42b3f43aad980e839787'),\n", + " ObjectId('656b42b3f43aad980e839788'),\n", + " ObjectId('656b42b3f43aad980e839789'),\n", + " ObjectId('656b42b3f43aad980e83978a'),\n", + " ObjectId('656b42b3f43aad980e83978b'),\n", + " ObjectId('656b42b3f43aad980e83978c'),\n", + " ObjectId('656b42b3f43aad980e83978d'),\n", + " ObjectId('656b42b3f43aad980e83978e'),\n", + " ObjectId('656b42b3f43aad980e83978f'),\n", + " ObjectId('656b42b3f43aad980e839790'),\n", + " ObjectId('656b42b3f43aad980e839791'),\n", + " ObjectId('656b42b3f43aad980e839792'),\n", + " ObjectId('656b42b3f43aad980e839793'),\n", + " ObjectId('656b42b3f43aad980e839794'),\n", + " ObjectId('656b42b3f43aad980e839795'),\n", + " ObjectId('656b42b3f43aad980e839796'),\n", + " ObjectId('656b42b3f43aad980e839797'),\n", + " ObjectId('656b42b3f43aad980e839798'),\n", + " ObjectId('656b42b3f43aad980e839799'),\n", + " ObjectId('656b42b3f43aad980e83979a'),\n", + " ObjectId('656b42b3f43aad980e83979b'),\n", + " ObjectId('656b42b3f43aad980e83979c'),\n", + " ObjectId('656b42b3f43aad980e83979d'),\n", + " ObjectId('656b42b3f43aad980e83979e'),\n", + " ObjectId('656b42b3f43aad980e83979f'),\n", + " ObjectId('656b42b3f43aad980e8397a0'),\n", + " ObjectId('656b42b3f43aad980e8397a1'),\n", + " ObjectId('656b42b3f43aad980e8397a2'),\n", + " ObjectId('656b42b3f43aad980e8397a3'),\n", + " ObjectId('656b42b3f43aad980e8397a4'),\n", + " ObjectId('656b42b3f43aad980e8397a5'),\n", + " ObjectId('656b42b3f43aad980e8397a6'),\n", + " ObjectId('656b42b3f43aad980e8397a7'),\n", + " ObjectId('656b42b3f43aad980e8397a8'),\n", + " ObjectId('656b42b3f43aad980e8397a9'),\n", + " ObjectId('656b42b3f43aad980e8397aa'),\n", + " ObjectId('656b42b3f43aad980e8397ab'),\n", + " ObjectId('656b42b3f43aad980e8397ac'),\n", + " ObjectId('656b42b3f43aad980e8397ad'),\n", + " ObjectId('656b42b3f43aad980e8397ae'),\n", + " ObjectId('656b42b3f43aad980e8397af'),\n", + " ObjectId('656b42b3f43aad980e8397b0'),\n", + " ObjectId('656b42b3f43aad980e8397b1'),\n", + " ObjectId('656b42b3f43aad980e8397b2'),\n", + " ObjectId('656b42b3f43aad980e8397b3'),\n", + " ObjectId('656b42b3f43aad980e8397b4'),\n", + " ObjectId('656b42b3f43aad980e8397b5'),\n", + " ObjectId('656b42b3f43aad980e8397b6'),\n", + " ObjectId('656b42b3f43aad980e8397b7'),\n", + " ObjectId('656b42b3f43aad980e8397b8'),\n", + " ObjectId('656b42b3f43aad980e8397b9'),\n", + " ObjectId('656b42b3f43aad980e8397ba'),\n", + " ObjectId('656b42b3f43aad980e8397bb'),\n", + " ObjectId('656b42b3f43aad980e8397bc'),\n", + " ObjectId('656b42b3f43aad980e8397bd'),\n", + " ObjectId('656b42b3f43aad980e8397be'),\n", + " ObjectId('656b42b3f43aad980e8397bf'),\n", + " ObjectId('656b42b3f43aad980e8397c0'),\n", + " ObjectId('656b42b3f43aad980e8397c1'),\n", + " ObjectId('656b42b3f43aad980e8397c2'),\n", + " ObjectId('656b42b3f43aad980e8397c3'),\n", + " ObjectId('656b42b3f43aad980e8397c4'),\n", + " ObjectId('656b42b3f43aad980e8397c5'),\n", + " ObjectId('656b42b3f43aad980e8397c6'),\n", + " ObjectId('656b42b3f43aad980e8397c7'),\n", + " ObjectId('656b42b3f43aad980e8397c8'),\n", + " ObjectId('656b42b3f43aad980e8397c9'),\n", + " ObjectId('656b42b3f43aad980e8397ca'),\n", + " ObjectId('656b42b3f43aad980e8397cb'),\n", + " ObjectId('656b42b3f43aad980e8397cc'),\n", + " ObjectId('656b42b3f43aad980e8397cd'),\n", + " ObjectId('656b42b3f43aad980e8397ce'),\n", + " ObjectId('656b42b3f43aad980e8397cf'),\n", + " ObjectId('656b42b3f43aad980e8397d0'),\n", + " ObjectId('656b42b3f43aad980e8397d1'),\n", + " ObjectId('656b42b3f43aad980e8397d2'),\n", + " ObjectId('656b42b3f43aad980e8397d3'),\n", + " ObjectId('656b42b3f43aad980e8397d4'),\n", + " ObjectId('656b42b3f43aad980e8397d5'),\n", + " ObjectId('656b42b3f43aad980e8397d6'),\n", + " ObjectId('656b42b3f43aad980e8397d7'),\n", + " ObjectId('656b42b3f43aad980e8397d8'),\n", + " ObjectId('656b42b3f43aad980e8397d9'),\n", + " ObjectId('656b42b3f43aad980e8397da'),\n", + " ObjectId('656b42b3f43aad980e8397db'),\n", + " ObjectId('656b42b3f43aad980e8397dc'),\n", + " ObjectId('656b42b3f43aad980e8397dd'),\n", + " ObjectId('656b42b3f43aad980e8397de'),\n", + " ObjectId('656b42b3f43aad980e8397df'),\n", + " ObjectId('656b42b3f43aad980e8397e0'),\n", + " ObjectId('656b42b3f43aad980e8397e1'),\n", + " ObjectId('656b42b3f43aad980e8397e2'),\n", + " ObjectId('656b42b3f43aad980e8397e3'),\n", + " ObjectId('656b42b3f43aad980e8397e4'),\n", + " ObjectId('656b42b3f43aad980e8397e5'),\n", + " ObjectId('656b42b3f43aad980e8397e6'),\n", + " ObjectId('656b42b3f43aad980e8397e7'),\n", + " ObjectId('656b42b3f43aad980e8397e8'),\n", + " ObjectId('656b42b3f43aad980e8397e9'),\n", + " ObjectId('656b42b3f43aad980e8397ea'),\n", + " ObjectId('656b42b3f43aad980e8397eb'),\n", + " ObjectId('656b42b3f43aad980e8397ec'),\n", + " ObjectId('656b42b3f43aad980e8397ed'),\n", + " ObjectId('656b42b3f43aad980e8397ee'),\n", + " ObjectId('656b42b3f43aad980e8397ef'),\n", + " ObjectId('656b42b3f43aad980e8397f0'),\n", + " ObjectId('656b42b3f43aad980e8397f1'),\n", + " ObjectId('656b42b3f43aad980e8397f2'),\n", + " ObjectId('656b42b3f43aad980e8397f3'),\n", + " ObjectId('656b42b3f43aad980e8397f4'),\n", + " ObjectId('656b42b3f43aad980e8397f5'),\n", + " ObjectId('656b42b3f43aad980e8397f6'),\n", + " ObjectId('656b42b3f43aad980e8397f7'),\n", + " ObjectId('656b42b3f43aad980e8397f8'),\n", + " ObjectId('656b42b3f43aad980e8397f9'),\n", + " ObjectId('656b42b3f43aad980e8397fa'),\n", + " ObjectId('656b42b3f43aad980e8397fb'),\n", + " ObjectId('656b42b3f43aad980e8397fc'),\n", + " ObjectId('656b42b3f43aad980e8397fd'),\n", + " ObjectId('656b42b3f43aad980e8397fe'),\n", + " ObjectId('656b42b3f43aad980e8397ff'),\n", + " ObjectId('656b42b3f43aad980e839800'),\n", + " ObjectId('656b42b3f43aad980e839801'),\n", + " ObjectId('656b42b3f43aad980e839802'),\n", + " ObjectId('656b42b3f43aad980e839803'),\n", + " ObjectId('656b42b3f43aad980e839804'),\n", + " ObjectId('656b42b3f43aad980e839805'),\n", + " ObjectId('656b42b3f43aad980e839806'),\n", + " ObjectId('656b42b3f43aad980e839807'),\n", + " ObjectId('656b42b3f43aad980e839808'),\n", + " ObjectId('656b42b3f43aad980e839809'),\n", + " ObjectId('656b42b3f43aad980e83980a'),\n", + " ObjectId('656b42b3f43aad980e83980b'),\n", + " ObjectId('656b42b3f43aad980e83980c'),\n", + " ObjectId('656b42b3f43aad980e83980d'),\n", + " ObjectId('656b42b3f43aad980e83980e'),\n", + " ObjectId('656b42b3f43aad980e83980f'),\n", + " ObjectId('656b42b3f43aad980e839810'),\n", + " ObjectId('656b42b3f43aad980e839811'),\n", + " ObjectId('656b42b3f43aad980e839812'),\n", + " ObjectId('656b42b3f43aad980e839813'),\n", + " ObjectId('656b42b3f43aad980e839814'),\n", + " ObjectId('656b42b3f43aad980e839815'),\n", + " ObjectId('656b42b3f43aad980e839816'),\n", + " ObjectId('656b42b3f43aad980e839817'),\n", + " ObjectId('656b42b3f43aad980e839818'),\n", + " ObjectId('656b42b3f43aad980e839819'),\n", + " ObjectId('656b42b3f43aad980e83981a'),\n", + " ObjectId('656b42b3f43aad980e83981b'),\n", + " ObjectId('656b42b3f43aad980e83981c'),\n", + " ObjectId('656b42b3f43aad980e83981d'),\n", + " ObjectId('656b42b3f43aad980e83981e'),\n", + " ObjectId('656b42b3f43aad980e83981f'),\n", + " ObjectId('656b42b3f43aad980e839820'),\n", + " ObjectId('656b42b3f43aad980e839821'),\n", + " ObjectId('656b42b3f43aad980e839822'),\n", + " ObjectId('656b42b3f43aad980e839823'),\n", + " ObjectId('656b42b3f43aad980e839824'),\n", + " ObjectId('656b42b3f43aad980e839825'),\n", + " ObjectId('656b42b3f43aad980e839826'),\n", + " ObjectId('656b42b3f43aad980e839827'),\n", + " ObjectId('656b42b3f43aad980e839828'),\n", + " ObjectId('656b42b3f43aad980e839829'),\n", + " ObjectId('656b42b3f43aad980e83982a'),\n", + " ObjectId('656b42b3f43aad980e83982b'),\n", + " ObjectId('656b42b3f43aad980e83982c'),\n", + " ObjectId('656b42b3f43aad980e83982d'),\n", + " ObjectId('656b42b3f43aad980e83982e'),\n", + " ObjectId('656b42b3f43aad980e83982f'),\n", + " ObjectId('656b42b3f43aad980e839830'),\n", + " ObjectId('656b42b3f43aad980e839831'),\n", + " ObjectId('656b42b3f43aad980e839832'),\n", + " ObjectId('656b42b3f43aad980e839833'),\n", + " ObjectId('656b42b3f43aad980e839834'),\n", + " ObjectId('656b42b3f43aad980e839835'),\n", + " ObjectId('656b42b3f43aad980e839836'),\n", + " ObjectId('656b42b3f43aad980e839837'),\n", + " ObjectId('656b42b3f43aad980e839838'),\n", + " ObjectId('656b42b3f43aad980e839839'),\n", + " ObjectId('656b42b3f43aad980e83983a'),\n", + " ObjectId('656b42b3f43aad980e83983b'),\n", + " ObjectId('656b42b3f43aad980e83983c'),\n", + " ObjectId('656b42b3f43aad980e83983d'),\n", + " ObjectId('656b42b3f43aad980e83983e'),\n", + " ObjectId('656b42b3f43aad980e83983f'),\n", + " ObjectId('656b42b3f43aad980e839840'),\n", + " ObjectId('656b42b3f43aad980e839841'),\n", + " ObjectId('656b42b3f43aad980e839842'),\n", + " ObjectId('656b42b3f43aad980e839843'),\n", + " ObjectId('656b42b3f43aad980e839844'),\n", + " ObjectId('656b42b3f43aad980e839845'),\n", + " ObjectId('656b42b3f43aad980e839846'),\n", + " ObjectId('656b42b3f43aad980e839847'),\n", + " ObjectId('656b42b3f43aad980e839848'),\n", + " ObjectId('656b42b3f43aad980e839849'),\n", + " ObjectId('656b42b3f43aad980e83984a'),\n", + " ObjectId('656b42b3f43aad980e83984b'),\n", + " ObjectId('656b42b3f43aad980e83984c'),\n", + " ObjectId('656b42b3f43aad980e83984d'),\n", + " ObjectId('656b42b3f43aad980e83984e'),\n", + " ObjectId('656b42b3f43aad980e83984f'),\n", + " ObjectId('656b42b3f43aad980e839850'),\n", + " ObjectId('656b42b3f43aad980e839851'),\n", + " ObjectId('656b42b3f43aad980e839852'),\n", + " ObjectId('656b42b3f43aad980e839853'),\n", + " ObjectId('656b42b3f43aad980e839854'),\n", + " ObjectId('656b42b3f43aad980e839855'),\n", + " ObjectId('656b42b3f43aad980e839856'),\n", + " ObjectId('656b42b3f43aad980e839857'),\n", + " ObjectId('656b42b3f43aad980e839858'),\n", + " ObjectId('656b42b3f43aad980e839859'),\n", + " ObjectId('656b42b3f43aad980e83985a'),\n", + " ObjectId('656b42b3f43aad980e83985b'),\n", + " ObjectId('656b42b3f43aad980e83985c'),\n", + " ObjectId('656b42b3f43aad980e83985d'),\n", + " ObjectId('656b42b3f43aad980e83985e'),\n", + " ObjectId('656b42b3f43aad980e83985f'),\n", + " ObjectId('656b42b3f43aad980e839860'),\n", + " ObjectId('656b42b3f43aad980e839861'),\n", + " ObjectId('656b42b3f43aad980e839862'),\n", + " ObjectId('656b42b3f43aad980e839863'),\n", + " ObjectId('656b42b3f43aad980e839864'),\n", + " ObjectId('656b42b3f43aad980e839865'),\n", + " ObjectId('656b42b3f43aad980e839866'),\n", + " ObjectId('656b42b3f43aad980e839867'),\n", + " ObjectId('656b42b3f43aad980e839868'),\n", + " ObjectId('656b42b3f43aad980e839869'),\n", + " ObjectId('656b42b3f43aad980e83986a'),\n", + " ObjectId('656b42b3f43aad980e83986b'),\n", + " ObjectId('656b42b3f43aad980e83986c'),\n", + " ObjectId('656b42b3f43aad980e83986d'),\n", + " ObjectId('656b42b3f43aad980e83986e'),\n", + " ObjectId('656b42b3f43aad980e83986f'),\n", + " ObjectId('656b42b3f43aad980e839870'),\n", + " ObjectId('656b42b3f43aad980e839871'),\n", + " ObjectId('656b42b3f43aad980e839872'),\n", + " ObjectId('656b42b3f43aad980e839873'),\n", + " ObjectId('656b42b3f43aad980e839874'),\n", + " ObjectId('656b42b3f43aad980e839875'),\n", + " ObjectId('656b42b3f43aad980e839876'),\n", + " ObjectId('656b42b3f43aad980e839877'),\n", + " ObjectId('656b42b3f43aad980e839878'),\n", + " ObjectId('656b42b3f43aad980e839879'),\n", + " ObjectId('656b42b3f43aad980e83987a'),\n", + " ObjectId('656b42b3f43aad980e83987b'),\n", + " ObjectId('656b42b3f43aad980e83987c'),\n", + " ObjectId('656b42b3f43aad980e83987d'),\n", + " ObjectId('656b42b3f43aad980e83987e'),\n", + " ObjectId('656b42b3f43aad980e83987f'),\n", + " ObjectId('656b42b3f43aad980e839880'),\n", + " ObjectId('656b42b3f43aad980e839881'),\n", + " ObjectId('656b42b3f43aad980e839882'),\n", + " ObjectId('656b42b3f43aad980e839883'),\n", + " ObjectId('656b42b3f43aad980e839884'),\n", + " ObjectId('656b42b3f43aad980e839885'),\n", + " ObjectId('656b42b3f43aad980e839886'),\n", + " ObjectId('656b42b3f43aad980e839887'),\n", + " ObjectId('656b42b3f43aad980e839888'),\n", + " ObjectId('656b42b3f43aad980e839889'),\n", + " ObjectId('656b42b3f43aad980e83988a'),\n", + " ObjectId('656b42b3f43aad980e83988b'),\n", + " ObjectId('656b42b3f43aad980e83988c'),\n", + " ObjectId('656b42b3f43aad980e83988d'),\n", + " ObjectId('656b42b3f43aad980e83988e'),\n", + " ObjectId('656b42b3f43aad980e83988f'),\n", + " ObjectId('656b42b3f43aad980e839890'),\n", + " ObjectId('656b42b3f43aad980e839891'),\n", + " ObjectId('656b42b3f43aad980e839892'),\n", + " ObjectId('656b42b3f43aad980e839893'),\n", + " ObjectId('656b42b3f43aad980e839894'),\n", + " ObjectId('656b42b3f43aad980e839895'),\n", + " ObjectId('656b42b3f43aad980e839896'),\n", + " ObjectId('656b42b3f43aad980e839897'),\n", + " ObjectId('656b42b3f43aad980e839898'),\n", + " ObjectId('656b42b3f43aad980e839899'),\n", + " ObjectId('656b42b3f43aad980e83989a'),\n", + " ObjectId('656b42b3f43aad980e83989b'),\n", + " ObjectId('656b42b3f43aad980e83989c'),\n", + " ObjectId('656b42b3f43aad980e83989d'),\n", + " ObjectId('656b42b3f43aad980e83989e'),\n", + " ObjectId('656b42b3f43aad980e83989f'),\n", + " ObjectId('656b42b3f43aad980e8398a0'),\n", + " ObjectId('656b42b3f43aad980e8398a1'),\n", + " ObjectId('656b42b3f43aad980e8398a2'),\n", + " ObjectId('656b42b3f43aad980e8398a3'),\n", + " ObjectId('656b42b3f43aad980e8398a4'),\n", + " ObjectId('656b42b3f43aad980e8398a5'),\n", + " ObjectId('656b42b3f43aad980e8398a6'),\n", + " ObjectId('656b42b3f43aad980e8398a7'),\n", + " ObjectId('656b42b3f43aad980e8398a8'),\n", + " ObjectId('656b42b3f43aad980e8398a9'),\n", + " ObjectId('656b42b3f43aad980e8398aa'),\n", + " ObjectId('656b42b3f43aad980e8398ab'),\n", + " ObjectId('656b42b3f43aad980e8398ac'),\n", + " ObjectId('656b42b3f43aad980e8398ad'),\n", + " ObjectId('656b42b3f43aad980e8398ae'),\n", + " ObjectId('656b42b3f43aad980e8398af'),\n", + " ObjectId('656b42b3f43aad980e8398b0'),\n", + " ObjectId('656b42b3f43aad980e8398b1'),\n", + " ObjectId('656b42b3f43aad980e8398b2'),\n", + " ObjectId('656b42b3f43aad980e8398b3'),\n", + " ObjectId('656b42b3f43aad980e8398b4'),\n", + " ObjectId('656b42b3f43aad980e8398b5'),\n", + " ObjectId('656b42b3f43aad980e8398b6'),\n", + " ObjectId('656b42b3f43aad980e8398b7'),\n", + " ObjectId('656b42b3f43aad980e8398b8'),\n", + " ObjectId('656b42b3f43aad980e8398b9'),\n", + " ObjectId('656b42b3f43aad980e8398ba'),\n", + " ObjectId('656b42b3f43aad980e8398bb'),\n", + " ObjectId('656b42b3f43aad980e8398bc'),\n", + " ObjectId('656b42b3f43aad980e8398bd'),\n", + " ObjectId('656b42b3f43aad980e8398be'),\n", + " ObjectId('656b42b3f43aad980e8398bf'),\n", + " ObjectId('656b42b3f43aad980e8398c0'),\n", + " ObjectId('656b42b3f43aad980e8398c1'),\n", + " ObjectId('656b42b3f43aad980e8398c2'),\n", + " ObjectId('656b42b3f43aad980e8398c3'),\n", + " ObjectId('656b42b3f43aad980e8398c4'),\n", + " ObjectId('656b42b3f43aad980e8398c5'),\n", + " ObjectId('656b42b3f43aad980e8398c6'),\n", + " ObjectId('656b42b3f43aad980e8398c7'),\n", + " ObjectId('656b42b3f43aad980e8398c8'),\n", + " ObjectId('656b42b3f43aad980e8398c9'),\n", + " ObjectId('656b42b3f43aad980e8398ca'),\n", + " ObjectId('656b42b3f43aad980e8398cb'),\n", + " ObjectId('656b42b3f43aad980e8398cc'),\n", + " ObjectId('656b42b3f43aad980e8398cd'),\n", + " ObjectId('656b42b3f43aad980e8398ce'),\n", + " ObjectId('656b42b3f43aad980e8398cf'),\n", + " ObjectId('656b42b3f43aad980e8398d0'),\n", + " ObjectId('656b42b3f43aad980e8398d1'),\n", + " ObjectId('656b42b3f43aad980e8398d2'),\n", + " ObjectId('656b42b3f43aad980e8398d3'),\n", + " ObjectId('656b42b3f43aad980e8398d4'),\n", + " ObjectId('656b42b3f43aad980e8398d5'),\n", + " ObjectId('656b42b3f43aad980e8398d6'),\n", + " ObjectId('656b42b3f43aad980e8398d7'),\n", + " ObjectId('656b42b3f43aad980e8398d8'),\n", + " ObjectId('656b42b3f43aad980e8398d9'),\n", + " ObjectId('656b42b3f43aad980e8398da'),\n", + " ObjectId('656b42b3f43aad980e8398db'),\n", + " ObjectId('656b42b3f43aad980e8398dc'),\n", + " ObjectId('656b42b3f43aad980e8398dd'),\n", + " ObjectId('656b42b3f43aad980e8398de'),\n", + " ObjectId('656b42b3f43aad980e8398df'),\n", + " ObjectId('656b42b3f43aad980e8398e0'),\n", + " ObjectId('656b42b3f43aad980e8398e1'),\n", + " ObjectId('656b42b3f43aad980e8398e2'),\n", + " ObjectId('656b42b3f43aad980e8398e3'),\n", + " ObjectId('656b42b3f43aad980e8398e4'),\n", + " ObjectId('656b42b3f43aad980e8398e5'),\n", + " ObjectId('656b42b3f43aad980e8398e6'),\n", + " ObjectId('656b42b3f43aad980e8398e7'),\n", + " ObjectId('656b42b3f43aad980e8398e8'),\n", + " ObjectId('656b42b3f43aad980e8398e9'),\n", + " ObjectId('656b42b3f43aad980e8398ea'),\n", + " ObjectId('656b42b3f43aad980e8398eb'),\n", + " ObjectId('656b42b3f43aad980e8398ec'),\n", + " ObjectId('656b42b3f43aad980e8398ed'),\n", + " ObjectId('656b42b3f43aad980e8398ee'),\n", + " ObjectId('656b42b3f43aad980e8398ef'),\n", + " ObjectId('656b42b3f43aad980e8398f0'),\n", + " ObjectId('656b42b3f43aad980e8398f1'),\n", + " ObjectId('656b42b3f43aad980e8398f2'),\n", + " ObjectId('656b42b3f43aad980e8398f3'),\n", + " ObjectId('656b42b3f43aad980e8398f4'),\n", + " ObjectId('656b42b3f43aad980e8398f5'),\n", + " ObjectId('656b42b3f43aad980e8398f6'),\n", + " ObjectId('656b42b3f43aad980e8398f7'),\n", + " ObjectId('656b42b3f43aad980e8398f8'),\n", + " ObjectId('656b42b3f43aad980e8398f9'),\n", + " ObjectId('656b42b3f43aad980e8398fa'),\n", + " ObjectId('656b42b3f43aad980e8398fb'),\n", + " ObjectId('656b42b3f43aad980e8398fc'),\n", + " ObjectId('656b42b3f43aad980e8398fd'),\n", + " ObjectId('656b42b3f43aad980e8398fe'),\n", + " ObjectId('656b42b3f43aad980e8398ff'),\n", + " ObjectId('656b42b3f43aad980e839900'),\n", + " ObjectId('656b42b3f43aad980e839901'),\n", + " ObjectId('656b42b3f43aad980e839902'),\n", + " ObjectId('656b42b3f43aad980e839903'),\n", + " ObjectId('656b42b3f43aad980e839904'),\n", + " ObjectId('656b42b3f43aad980e839905'),\n", + " ObjectId('656b42b3f43aad980e839906'),\n", + " ObjectId('656b42b3f43aad980e839907'),\n", + " ObjectId('656b42b3f43aad980e839908'),\n", + " ObjectId('656b42b3f43aad980e839909'),\n", + " ObjectId('656b42b3f43aad980e83990a'),\n", + " ObjectId('656b42b3f43aad980e83990b'),\n", + " ObjectId('656b42b3f43aad980e83990c'),\n", + " ObjectId('656b42b3f43aad980e83990d'),\n", + " ObjectId('656b42b3f43aad980e83990e'),\n", + " ObjectId('656b42b3f43aad980e83990f'),\n", + " ObjectId('656b42b3f43aad980e839910'),\n", + " ObjectId('656b42b3f43aad980e839911'),\n", + " ObjectId('656b42b3f43aad980e839912'),\n", + " ObjectId('656b42b3f43aad980e839913'),\n", + " ObjectId('656b42b3f43aad980e839914'),\n", + " ObjectId('656b42b3f43aad980e839915'),\n", + " ObjectId('656b42b3f43aad980e839916'),\n", + " ObjectId('656b42b3f43aad980e839917'),\n", + " ObjectId('656b42b3f43aad980e839918'),\n", + " ObjectId('656b42b3f43aad980e839919'),\n", + " ObjectId('656b42b3f43aad980e83991a'),\n", + " ObjectId('656b42b3f43aad980e83991b'),\n", + " ObjectId('656b42b3f43aad980e83991c'),\n", + " ObjectId('656b42b3f43aad980e83991d'),\n", + " ObjectId('656b42b3f43aad980e83991e'),\n", + " ObjectId('656b42b3f43aad980e83991f'),\n", + " ObjectId('656b42b3f43aad980e839920'),\n", + " ObjectId('656b42b3f43aad980e839921'),\n", + " ObjectId('656b42b3f43aad980e839922'),\n", + " ObjectId('656b42b3f43aad980e839923'),\n", + " ObjectId('656b42b3f43aad980e839924'),\n", + " ObjectId('656b42b3f43aad980e839925'),\n", + " ObjectId('656b42b3f43aad980e839926'),\n", + " ObjectId('656b42b3f43aad980e839927'),\n", + " ObjectId('656b42b3f43aad980e839928'),\n", + " ObjectId('656b42b3f43aad980e839929'),\n", + " ObjectId('656b42b3f43aad980e83992a'),\n", + " ObjectId('656b42b3f43aad980e83992b'),\n", + " ObjectId('656b42b3f43aad980e83992c'),\n", + " ObjectId('656b42b3f43aad980e83992d'),\n", + " ObjectId('656b42b3f43aad980e83992e'),\n", + " ObjectId('656b42b3f43aad980e83992f'),\n", + " ObjectId('656b42b3f43aad980e839930'),\n", + " ObjectId('656b42b3f43aad980e839931'),\n", + " ObjectId('656b42b3f43aad980e839932'),\n", + " ObjectId('656b42b3f43aad980e839933'),\n", + " ObjectId('656b42b3f43aad980e839934'),\n", + " ObjectId('656b42b3f43aad980e839935'),\n", + " ObjectId('656b42b3f43aad980e839936'),\n", + " ObjectId('656b42b3f43aad980e839937'),\n", + " ObjectId('656b42b3f43aad980e839938'),\n", + " ObjectId('656b42b3f43aad980e839939'),\n", + " ObjectId('656b42b3f43aad980e83993a'),\n", + " ObjectId('656b42b3f43aad980e83993b'),\n", + " ObjectId('656b42b3f43aad980e83993c'),\n", + " ObjectId('656b42b3f43aad980e83993d'),\n", + " ObjectId('656b42b3f43aad980e83993e'),\n", + " ObjectId('656b42b3f43aad980e83993f'),\n", + " ObjectId('656b42b3f43aad980e839940'),\n", + " ObjectId('656b42b3f43aad980e839941'),\n", + " ObjectId('656b42b3f43aad980e839942'),\n", + " ObjectId('656b42b3f43aad980e839943'),\n", + " ObjectId('656b42b3f43aad980e839944'),\n", + " ObjectId('656b42b3f43aad980e839945'),\n", + " ObjectId('656b42b3f43aad980e839946'),\n", + " ObjectId('656b42b3f43aad980e839947'),\n", + " ObjectId('656b42b3f43aad980e839948'),\n", + " ObjectId('656b42b3f43aad980e839949'),\n", + " ObjectId('656b42b3f43aad980e83994a'),\n", + " ObjectId('656b42b3f43aad980e83994b'),\n", + " ObjectId('656b42b3f43aad980e83994c'),\n", + " ObjectId('656b42b3f43aad980e83994d'),\n", + " ObjectId('656b42b3f43aad980e83994e'),\n", + " ObjectId('656b42b3f43aad980e83994f'),\n", + " ObjectId('656b42b3f43aad980e839950'),\n", + " ObjectId('656b42b3f43aad980e839951'),\n", + " ObjectId('656b42b3f43aad980e839952'),\n", + " ObjectId('656b42b3f43aad980e839953'),\n", + " ObjectId('656b42b3f43aad980e839954'),\n", + " ObjectId('656b42b3f43aad980e839955'),\n", + " ObjectId('656b42b3f43aad980e839956'),\n", + " ObjectId('656b42b3f43aad980e839957'),\n", + " ObjectId('656b42b3f43aad980e839958'),\n", + " ObjectId('656b42b3f43aad980e839959'),\n", + " ObjectId('656b42b3f43aad980e83995a'),\n", + " ObjectId('656b42b3f43aad980e83995b'),\n", + " ObjectId('656b42b3f43aad980e83995c'),\n", + " ObjectId('656b42b3f43aad980e83995d'),\n", + " ObjectId('656b42b3f43aad980e83995e'),\n", + " ObjectId('656b42b3f43aad980e83995f'),\n", + " ObjectId('656b42b3f43aad980e839960'),\n", + " ObjectId('656b42b3f43aad980e839961'),\n", + " ObjectId('656b42b3f43aad980e839962'),\n", + " ObjectId('656b42b3f43aad980e839963'),\n", + " ObjectId('656b42b3f43aad980e839964'),\n", + " ObjectId('656b42b3f43aad980e839965'),\n", + " ObjectId('656b42b3f43aad980e839966'),\n", + " ObjectId('656b42b3f43aad980e839967'),\n", + " ObjectId('656b42b3f43aad980e839968'),\n", + " ObjectId('656b42b3f43aad980e839969'),\n", + " ObjectId('656b42b3f43aad980e83996a'),\n", + " ObjectId('656b42b3f43aad980e83996b'),\n", + " ObjectId('656b42b3f43aad980e83996c'),\n", + " ObjectId('656b42b3f43aad980e83996d'),\n", + " ObjectId('656b42b3f43aad980e83996e'),\n", + " ObjectId('656b42b3f43aad980e83996f'),\n", + " ObjectId('656b42b3f43aad980e839970'),\n", + " ObjectId('656b42b3f43aad980e839971'),\n", + " ObjectId('656b42b3f43aad980e839972'),\n", + " ObjectId('656b42b3f43aad980e839973'),\n", + " ObjectId('656b42b3f43aad980e839974'),\n", + " ObjectId('656b42b3f43aad980e839975'),\n", + " ObjectId('656b42b3f43aad980e839976'),\n", + " ObjectId('656b42b3f43aad980e839977'),\n", + " ObjectId('656b42b3f43aad980e839978'),\n", + " ObjectId('656b42b3f43aad980e839979'),\n", + " ObjectId('656b42b3f43aad980e83997a'),\n", + " ObjectId('656b42b3f43aad980e83997b'),\n", + " ObjectId('656b42b3f43aad980e83997c'),\n", + " ObjectId('656b42b3f43aad980e83997d'),\n", + " ObjectId('656b42b3f43aad980e83997e'),\n", + " ObjectId('656b42b3f43aad980e83997f'),\n", + " ObjectId('656b42b3f43aad980e839980'),\n", + " ObjectId('656b42b3f43aad980e839981'),\n", + " ObjectId('656b42b3f43aad980e839982'),\n", + " ObjectId('656b42b3f43aad980e839983'),\n", + " ObjectId('656b42b3f43aad980e839984'),\n", + " ObjectId('656b42b3f43aad980e839985'),\n", + " ObjectId('656b42b3f43aad980e839986'),\n", + " ObjectId('656b42b3f43aad980e839987'),\n", + " ObjectId('656b42b3f43aad980e839988'),\n", + " ObjectId('656b42b3f43aad980e839989'),\n", + " ObjectId('656b42b3f43aad980e83998a'),\n", + " ObjectId('656b42b3f43aad980e83998b'),\n", + " ObjectId('656b42b3f43aad980e83998c'),\n", + " ObjectId('656b42b3f43aad980e83998d'),\n", + " ObjectId('656b42b3f43aad980e83998e'),\n", + " ObjectId('656b42b3f43aad980e83998f'),\n", + " ObjectId('656b42b3f43aad980e839990'),\n", + " ObjectId('656b42b3f43aad980e839991'),\n", + " ObjectId('656b42b3f43aad980e839992'),\n", + " ObjectId('656b42b3f43aad980e839993'),\n", + " ObjectId('656b42b3f43aad980e839994'),\n", + " ObjectId('656b42b3f43aad980e839995'),\n", + " ObjectId('656b42b3f43aad980e839996'),\n", + " ObjectId('656b42b3f43aad980e839997'),\n", + " ObjectId('656b42b3f43aad980e839998'),\n", + " ObjectId('656b42b3f43aad980e839999'),\n", + " ObjectId('656b42b3f43aad980e83999a'),\n", + " ObjectId('656b42b3f43aad980e83999b'),\n", + " ObjectId('656b42b3f43aad980e83999c'),\n", + " ObjectId('656b42b3f43aad980e83999d'),\n", + " ObjectId('656b42b3f43aad980e83999e'),\n", + " ObjectId('656b42b3f43aad980e83999f'),\n", + " ObjectId('656b42b3f43aad980e8399a0'),\n", + " ObjectId('656b42b3f43aad980e8399a1'),\n", + " ObjectId('656b42b3f43aad980e8399a2'),\n", + " ObjectId('656b42b3f43aad980e8399a3'),\n", + " ObjectId('656b42b3f43aad980e8399a4'),\n", + " ObjectId('656b42b3f43aad980e8399a5'),\n", + " ObjectId('656b42b3f43aad980e8399a6'),\n", + " ObjectId('656b42b3f43aad980e8399a7'),\n", + " ObjectId('656b42b3f43aad980e8399a8'),\n", + " ObjectId('656b42b3f43aad980e8399a9'),\n", + " ObjectId('656b42b3f43aad980e8399aa'),\n", + " ObjectId('656b42b3f43aad980e8399ab'),\n", + " ObjectId('656b42b3f43aad980e8399ac'),\n", + " ObjectId('656b42b3f43aad980e8399ad'),\n", + " ObjectId('656b42b3f43aad980e8399ae'),\n", + " ObjectId('656b42b3f43aad980e8399af'),\n", + " ObjectId('656b42b3f43aad980e8399b0'),\n", + " ObjectId('656b42b3f43aad980e8399b1'),\n", + " ObjectId('656b42b3f43aad980e8399b2'),\n", + " ObjectId('656b42b3f43aad980e8399b3'),\n", + " ObjectId('656b42b3f43aad980e8399b4'),\n", + " ObjectId('656b42b3f43aad980e8399b5'),\n", + " ObjectId('656b42b3f43aad980e8399b6'),\n", + " ObjectId('656b42b3f43aad980e8399b7'),\n", + " ObjectId('656b42b3f43aad980e8399b8'),\n", + " ObjectId('656b42b3f43aad980e8399b9'),\n", + " ObjectId('656b42b3f43aad980e8399ba'),\n", + " ObjectId('656b42b3f43aad980e8399bb'),\n", + " ObjectId('656b42b3f43aad980e8399bc'),\n", + " ObjectId('656b42b3f43aad980e8399bd'),\n", + " ObjectId('656b42b3f43aad980e8399be'),\n", + " ObjectId('656b42b3f43aad980e8399bf'),\n", + " ObjectId('656b42b3f43aad980e8399c0'),\n", + " ObjectId('656b42b3f43aad980e8399c1'),\n", + " ObjectId('656b42b3f43aad980e8399c2'),\n", + " ObjectId('656b42b3f43aad980e8399c3'),\n", + " ObjectId('656b42b3f43aad980e8399c4'),\n", + " ObjectId('656b42b3f43aad980e8399c5'),\n", + " ObjectId('656b42b3f43aad980e8399c6'),\n", + " ObjectId('656b42b3f43aad980e8399c7'),\n", + " ObjectId('656b42b3f43aad980e8399c8'),\n", + " ObjectId('656b42b3f43aad980e8399c9'),\n", + " ObjectId('656b42b3f43aad980e8399ca'),\n", + " ObjectId('656b42b3f43aad980e8399cb'),\n", + " ObjectId('656b42b3f43aad980e8399cc'),\n", + " ObjectId('656b42b3f43aad980e8399cd'),\n", + " ObjectId('656b42b3f43aad980e8399ce'),\n", + " ObjectId('656b42b3f43aad980e8399cf'),\n", + " ObjectId('656b42b3f43aad980e8399d0'),\n", + " ObjectId('656b42b3f43aad980e8399d1'),\n", + " ObjectId('656b42b3f43aad980e8399d2'),\n", + " ObjectId('656b42b3f43aad980e8399d3'),\n", + " ObjectId('656b42b3f43aad980e8399d4'),\n", + " ObjectId('656b42b3f43aad980e8399d5'),\n", + " ObjectId('656b42b3f43aad980e8399d6'),\n", + " ObjectId('656b42b3f43aad980e8399d7'),\n", + " ObjectId('656b42b3f43aad980e8399d8'),\n", + " ObjectId('656b42b3f43aad980e8399d9'),\n", + " ObjectId('656b42b3f43aad980e8399da'),\n", + " ObjectId('656b42b3f43aad980e8399db'),\n", + " ObjectId('656b42b3f43aad980e8399dc'),\n", + " ObjectId('656b42b3f43aad980e8399dd'),\n", + " ObjectId('656b42b3f43aad980e8399de'),\n", + " ObjectId('656b42b3f43aad980e8399df'),\n", + " ObjectId('656b42b3f43aad980e8399e0'),\n", + " ObjectId('656b42b3f43aad980e8399e1'),\n", + " ObjectId('656b42b3f43aad980e8399e2'),\n", + " ObjectId('656b42b3f43aad980e8399e3'),\n", + " ObjectId('656b42b3f43aad980e8399e4'),\n", + " ObjectId('656b42b3f43aad980e8399e5'),\n", + " ObjectId('656b42b3f43aad980e8399e6'),\n", + " ObjectId('656b42b3f43aad980e8399e7'),\n", + " ObjectId('656b42b3f43aad980e8399e8'),\n", + " ObjectId('656b42b3f43aad980e8399e9'),\n", + " ObjectId('656b42b3f43aad980e8399ea'),\n", + " ObjectId('656b42b3f43aad980e8399eb'),\n", + " ObjectId('656b42b3f43aad980e8399ec'),\n", + " ObjectId('656b42b3f43aad980e8399ed'),\n", + " ObjectId('656b42b3f43aad980e8399ee'),\n", + " ObjectId('656b42b3f43aad980e8399ef'),\n", + " ObjectId('656b42b3f43aad980e8399f0'),\n", + " ObjectId('656b42b3f43aad980e8399f1'),\n", + " ObjectId('656b42b3f43aad980e8399f2'),\n", + " ObjectId('656b42b3f43aad980e8399f3'),\n", + " ObjectId('656b42b3f43aad980e8399f4'),\n", + " ObjectId('656b42b3f43aad980e8399f5'),\n", + " ObjectId('656b42b3f43aad980e8399f6'),\n", + " ObjectId('656b42b3f43aad980e8399f7'),\n", + " ObjectId('656b42b3f43aad980e8399f8'),\n", + " ObjectId('656b42b3f43aad980e8399f9'),\n", + " ObjectId('656b42b3f43aad980e8399fa'),\n", + " ObjectId('656b42b3f43aad980e8399fb'),\n", + " ObjectId('656b42b3f43aad980e8399fc'),\n", + " ObjectId('656b42b3f43aad980e8399fd'),\n", + " ObjectId('656b42b3f43aad980e8399fe'),\n", + " ObjectId('656b42b3f43aad980e8399ff'),\n", + " ObjectId('656b42b3f43aad980e839a00'),\n", + " ObjectId('656b42b3f43aad980e839a01'),\n", + " ObjectId('656b42b3f43aad980e839a02'),\n", + " ObjectId('656b42b3f43aad980e839a03'),\n", + " ObjectId('656b42b3f43aad980e839a04'),\n", + " ObjectId('656b42b3f43aad980e839a05'),\n", + " ObjectId('656b42b3f43aad980e839a06'),\n", + " ObjectId('656b42b3f43aad980e839a07'),\n", + " ObjectId('656b42b3f43aad980e839a08'),\n", + " ObjectId('656b42b3f43aad980e839a09'),\n", + " ObjectId('656b42b3f43aad980e839a0a'),\n", + " ObjectId('656b42b3f43aad980e839a0b'),\n", + " ObjectId('656b42b3f43aad980e839a0c'),\n", + " ObjectId('656b42b3f43aad980e839a0d'),\n", + " ObjectId('656b42b3f43aad980e839a0e'),\n", + " ObjectId('656b42b3f43aad980e839a0f'),\n", + " ObjectId('656b42b3f43aad980e839a10'),\n", + " ObjectId('656b42b3f43aad980e839a11'),\n", + " ObjectId('656b42b3f43aad980e839a12'),\n", + " ObjectId('656b42b3f43aad980e839a13'),\n", + " ObjectId('656b42b3f43aad980e839a14'),\n", + " ObjectId('656b42b3f43aad980e839a15'),\n", + " ObjectId('656b42b3f43aad980e839a16'),\n", + " ObjectId('656b42b3f43aad980e839a17'),\n", + " ObjectId('656b42b3f43aad980e839a18'),\n", + " ObjectId('656b42b3f43aad980e839a19'),\n", + " ObjectId('656b42b3f43aad980e839a1a'),\n", + " ObjectId('656b42b3f43aad980e839a1b'),\n", + " ObjectId('656b42b3f43aad980e839a1c'),\n", + " ObjectId('656b42b3f43aad980e839a1d'),\n", + " ObjectId('656b42b3f43aad980e839a1e'),\n", + " ObjectId('656b42b3f43aad980e839a1f'),\n", + " ObjectId('656b42b3f43aad980e839a20'),\n", + " ObjectId('656b42b3f43aad980e839a21'),\n", + " ObjectId('656b42b3f43aad980e839a22'),\n", + " ObjectId('656b42b3f43aad980e839a23'),\n", + " ObjectId('656b42b3f43aad980e839a24'),\n", + " ObjectId('656b42b3f43aad980e839a25'),\n", + " ObjectId('656b42b3f43aad980e839a26'),\n", + " ObjectId('656b42b3f43aad980e839a27'),\n", + " ObjectId('656b42b3f43aad980e839a28'),\n", + " ObjectId('656b42b3f43aad980e839a29'),\n", + " ObjectId('656b42b3f43aad980e839a2a'),\n", + " ObjectId('656b42b3f43aad980e839a2b'),\n", + " ObjectId('656b42b3f43aad980e839a2c'),\n", + " ObjectId('656b42b3f43aad980e839a2d'),\n", + " ObjectId('656b42b3f43aad980e839a2e'),\n", + " ObjectId('656b42b3f43aad980e839a2f'),\n", + " ObjectId('656b42b3f43aad980e839a30'),\n", + " ObjectId('656b42b3f43aad980e839a31'),\n", + " ObjectId('656b42b3f43aad980e839a32'),\n", + " ObjectId('656b42b3f43aad980e839a33'),\n", + " ObjectId('656b42b3f43aad980e839a34'),\n", + " ObjectId('656b42b3f43aad980e839a35'),\n", + " ObjectId('656b42b3f43aad980e839a36'),\n", + " ObjectId('656b42b3f43aad980e839a37'),\n", + " ObjectId('656b42b3f43aad980e839a38'),\n", + " ObjectId('656b42b3f43aad980e839a39'),\n", + " ObjectId('656b42b3f43aad980e839a3a'),\n", + " ObjectId('656b42b3f43aad980e839a3b'),\n", + " ObjectId('656b42b3f43aad980e839a3c'),\n", + " ObjectId('656b42b3f43aad980e839a3d'),\n", + " ObjectId('656b42b3f43aad980e839a3e'),\n", + " ObjectId('656b42b3f43aad980e839a3f'),\n", + " ObjectId('656b42b3f43aad980e839a40'),\n", + " ObjectId('656b42b3f43aad980e839a41'),\n", + " ObjectId('656b42b3f43aad980e839a42'),\n", + " ObjectId('656b42b3f43aad980e839a43'),\n", + " ObjectId('656b42b3f43aad980e839a44'),\n", + " ObjectId('656b42b3f43aad980e839a45'),\n", + " ObjectId('656b42b3f43aad980e839a46'),\n", + " ObjectId('656b42b3f43aad980e839a47'),\n", + " ObjectId('656b42b3f43aad980e839a48'),\n", + " ObjectId('656b42b3f43aad980e839a49'),\n", + " ObjectId('656b42b3f43aad980e839a4a'),\n", + " ObjectId('656b42b3f43aad980e839a4b'),\n", + " ObjectId('656b42b3f43aad980e839a4c'),\n", + " ObjectId('656b42b3f43aad980e839a4d'),\n", + " ObjectId('656b42b3f43aad980e839a4e'),\n", + " ObjectId('656b42b3f43aad980e839a4f'),\n", + " ObjectId('656b42b3f43aad980e839a50'),\n", + " ObjectId('656b42b3f43aad980e839a51'),\n", + " ObjectId('656b42b3f43aad980e839a52'),\n", + " ObjectId('656b42b3f43aad980e839a53'),\n", + " ObjectId('656b42b3f43aad980e839a54'),\n", + " ObjectId('656b42b3f43aad980e839a55'),\n", + " ObjectId('656b42b3f43aad980e839a56'),\n", + " ObjectId('656b42b3f43aad980e839a57'),\n", + " ObjectId('656b42b3f43aad980e839a58'),\n", + " ObjectId('656b42b3f43aad980e839a59'),\n", + " ObjectId('656b42b3f43aad980e839a5a'),\n", + " ObjectId('656b42b3f43aad980e839a5b'),\n", + " ObjectId('656b42b3f43aad980e839a5c'),\n", + " ObjectId('656b42b3f43aad980e839a5d'),\n", + " ObjectId('656b42b3f43aad980e839a5e'),\n", + " ObjectId('656b42b3f43aad980e839a5f'),\n", + " ObjectId('656b42b3f43aad980e839a60'),\n", + " ObjectId('656b42b3f43aad980e839a61'),\n", + " ObjectId('656b42b3f43aad980e839a62'),\n", + " ObjectId('656b42b3f43aad980e839a63'),\n", + " ObjectId('656b42b3f43aad980e839a64'),\n", + " ObjectId('656b42b3f43aad980e839a65'),\n", + " ObjectId('656b42b3f43aad980e839a66'),\n", + " ObjectId('656b42b3f43aad980e839a67'),\n", + " ObjectId('656b42b3f43aad980e839a68'),\n", + " ObjectId('656b42b3f43aad980e839a69'),\n", + " ObjectId('656b42b3f43aad980e839a6a'),\n", + " ObjectId('656b42b3f43aad980e839a6b'),\n", + " ObjectId('656b42b3f43aad980e839a6c'),\n", + " ObjectId('656b42b3f43aad980e839a6d'),\n", + " ObjectId('656b42b3f43aad980e839a6e'),\n", + " ObjectId('656b42b3f43aad980e839a6f'),\n", + " ObjectId('656b42b3f43aad980e839a70'),\n", + " ObjectId('656b42b3f43aad980e839a71'),\n", + " ObjectId('656b42b3f43aad980e839a72'),\n", + " ObjectId('656b42b3f43aad980e839a73'),\n", + " ObjectId('656b42b3f43aad980e839a74'),\n", + " ObjectId('656b42b3f43aad980e839a75'),\n", + " ObjectId('656b42b3f43aad980e839a76'),\n", + " ObjectId('656b42b3f43aad980e839a77'),\n", + " ObjectId('656b42b3f43aad980e839a78'),\n", + " ObjectId('656b42b3f43aad980e839a79'),\n", + " ObjectId('656b42b3f43aad980e839a7a'),\n", + " ObjectId('656b42b3f43aad980e839a7b'),\n", + " ObjectId('656b42b3f43aad980e839a7c'),\n", + " ObjectId('656b42b3f43aad980e839a7d'),\n", + " ObjectId('656b42b3f43aad980e839a7e'),\n", + " ObjectId('656b42b3f43aad980e839a7f'),\n", + " ObjectId('656b42b3f43aad980e839a80'),\n", + " ObjectId('656b42b3f43aad980e839a81'),\n", + " ObjectId('656b42b3f43aad980e839a82'),\n", + " ObjectId('656b42b3f43aad980e839a83'),\n", + " ObjectId('656b42b3f43aad980e839a84'),\n", + " ObjectId('656b42b3f43aad980e839a85'),\n", + " ObjectId('656b42b3f43aad980e839a86'),\n", + " ObjectId('656b42b3f43aad980e839a87'),\n", + " ObjectId('656b42b3f43aad980e839a88'),\n", + " ObjectId('656b42b3f43aad980e839a89'),\n", + " ObjectId('656b42b3f43aad980e839a8a'),\n", + " ObjectId('656b42b3f43aad980e839a8b'),\n", + " ObjectId('656b42b3f43aad980e839a8c'),\n", + " ObjectId('656b42b3f43aad980e839a8d'),\n", + " ObjectId('656b42b3f43aad980e839a8e'),\n", + " ObjectId('656b42b3f43aad980e839a8f'),\n", + " ObjectId('656b42b3f43aad980e839a90'),\n", + " ObjectId('656b42b3f43aad980e839a91'),\n", + " ObjectId('656b42b3f43aad980e839a92'),\n", + " ObjectId('656b42b3f43aad980e839a93'),\n", + " ObjectId('656b42b3f43aad980e839a94'),\n", + " ObjectId('656b42b3f43aad980e839a95'),\n", + " ObjectId('656b42b3f43aad980e839a96'),\n", + " ObjectId('656b42b3f43aad980e839a97'),\n", + " ObjectId('656b42b3f43aad980e839a98'),\n", + " ObjectId('656b42b3f43aad980e839a99'),\n", + " ObjectId('656b42b3f43aad980e839a9a'),\n", + " ObjectId('656b42b3f43aad980e839a9b'),\n", + " ObjectId('656b42b3f43aad980e839a9c'),\n", + " ObjectId('656b42b3f43aad980e839a9d'),\n", + " ObjectId('656b42b3f43aad980e839a9e'),\n", + " ObjectId('656b42b3f43aad980e839a9f'),\n", + " ObjectId('656b42b3f43aad980e839aa0'),\n", + " ObjectId('656b42b3f43aad980e839aa1'),\n", + " ObjectId('656b42b3f43aad980e839aa2'),\n", + " ObjectId('656b42b3f43aad980e839aa3'),\n", + " ObjectId('656b42b3f43aad980e839aa4'),\n", + " ObjectId('656b42b3f43aad980e839aa5'),\n", + " ObjectId('656b42b3f43aad980e839aa6'),\n", + " ObjectId('656b42b3f43aad980e839aa7'),\n", + " ObjectId('656b42b3f43aad980e839aa8'),\n", + " ObjectId('656b42b3f43aad980e839aa9'),\n", + " ObjectId('656b42b3f43aad980e839aaa'),\n", + " ObjectId('656b42b3f43aad980e839aab'),\n", + " ObjectId('656b42b3f43aad980e839aac'),\n", + " ObjectId('656b42b3f43aad980e839aad'),\n", + " ObjectId('656b42b3f43aad980e839aae'),\n", + " ObjectId('656b42b3f43aad980e839aaf'),\n", + " ObjectId('656b42b3f43aad980e839ab0'),\n", + " ObjectId('656b42b3f43aad980e839ab1'),\n", + " ObjectId('656b42b3f43aad980e839ab2'),\n", + " ObjectId('656b42b3f43aad980e839ab3'),\n", + " ObjectId('656b42b3f43aad980e839ab4'),\n", + " ObjectId('656b42b3f43aad980e839ab5'),\n", + " ObjectId('656b42b3f43aad980e839ab6'),\n", + " ObjectId('656b42b3f43aad980e839ab7'),\n", + " ObjectId('656b42b3f43aad980e839ab8'),\n", + " ObjectId('656b42b3f43aad980e839ab9'),\n", + " ObjectId('656b42b3f43aad980e839aba'),\n", + " ObjectId('656b42b3f43aad980e839abb'),\n", + " ObjectId('656b42b3f43aad980e839abc'),\n", + " ObjectId('656b42b3f43aad980e839abd'),\n", + " ObjectId('656b42b3f43aad980e839abe'),\n", + " ObjectId('656b42b3f43aad980e839abf'),\n", + " ObjectId('656b42b3f43aad980e839ac0'),\n", + " ObjectId('656b42b3f43aad980e839ac1'),\n", + " ObjectId('656b42b3f43aad980e839ac2'),\n", + " ObjectId('656b42b3f43aad980e839ac3'),\n", + " ObjectId('656b42b3f43aad980e839ac4'),\n", + " ObjectId('656b42b3f43aad980e839ac5'),\n", + " ObjectId('656b42b3f43aad980e839ac6'),\n", + " ObjectId('656b42b3f43aad980e839ac7'),\n", + " ObjectId('656b42b3f43aad980e839ac8'),\n", + " ObjectId('656b42b3f43aad980e839ac9'),\n", + " ObjectId('656b42b3f43aad980e839aca'),\n", + " ObjectId('656b42b3f43aad980e839acb'),\n", + " ObjectId('656b42b3f43aad980e839acc'),\n", + " ObjectId('656b42b3f43aad980e839acd'),\n", + " ObjectId('656b42b3f43aad980e839ace'),\n", + " ObjectId('656b42b3f43aad980e839acf'),\n", + " ObjectId('656b42b3f43aad980e839ad0'),\n", + " ObjectId('656b42b3f43aad980e839ad1'),\n", + " ObjectId('656b42b3f43aad980e839ad2'),\n", + " ObjectId('656b42b3f43aad980e839ad3'),\n", + " ObjectId('656b42b3f43aad980e839ad4'),\n", + " ObjectId('656b42b3f43aad980e839ad5'),\n", + " ObjectId('656b42b3f43aad980e839ad6'),\n", + " ObjectId('656b42b3f43aad980e839ad7'),\n", + " ObjectId('656b42b3f43aad980e839ad8'),\n", + " ObjectId('656b42b3f43aad980e839ad9'),\n", + " ObjectId('656b42b3f43aad980e839ada'),\n", + " ObjectId('656b42b3f43aad980e839adb'),\n", + " ObjectId('656b42b3f43aad980e839adc'),\n", + " ObjectId('656b42b3f43aad980e839add'),\n", + " ObjectId('656b42b3f43aad980e839ade'),\n", + " ObjectId('656b42b3f43aad980e839adf'),\n", + " ObjectId('656b42b3f43aad980e839ae0'),\n", + " ObjectId('656b42b3f43aad980e839ae1'),\n", + " ObjectId('656b42b3f43aad980e839ae2'),\n", + " ObjectId('656b42b3f43aad980e839ae3'),\n", + " ObjectId('656b42b3f43aad980e839ae4'),\n", + " ObjectId('656b42b3f43aad980e839ae5'),\n", + " ObjectId('656b42b3f43aad980e839ae6'),\n", + " ObjectId('656b42b3f43aad980e839ae7'),\n", + " ObjectId('656b42b3f43aad980e839ae8'),\n", + " ObjectId('656b42b3f43aad980e839ae9'),\n", + " ObjectId('656b42b3f43aad980e839aea'),\n", + " ObjectId('656b42b3f43aad980e839aeb'),\n", + " ObjectId('656b42b3f43aad980e839aec'),\n", + " ObjectId('656b42b3f43aad980e839aed'),\n", + " ObjectId('656b42b3f43aad980e839aee'),\n", + " ObjectId('656b42b3f43aad980e839aef'),\n", + " ObjectId('656b42b3f43aad980e839af0'),\n", + " ObjectId('656b42b3f43aad980e839af1'),\n", + " ObjectId('656b42b3f43aad980e839af2'),\n", + " ObjectId('656b42b3f43aad980e839af3'),\n", + " ObjectId('656b42b3f43aad980e839af4'),\n", + " ObjectId('656b42b3f43aad980e839af5'),\n", + " ObjectId('656b42b3f43aad980e839af6'),\n", + " ObjectId('656b42b3f43aad980e839af7'),\n", + " ObjectId('656b42b3f43aad980e839af8'),\n", + " ObjectId('656b42b3f43aad980e839af9'),\n", + " ObjectId('656b42b3f43aad980e839afa'),\n", + " ObjectId('656b42b3f43aad980e839afb'),\n", + " ObjectId('656b42b3f43aad980e839afc'),\n", + " ObjectId('656b42b3f43aad980e839afd'),\n", + " ObjectId('656b42b3f43aad980e839afe'),\n", + " ObjectId('656b42b3f43aad980e839aff'),\n", + " ObjectId('656b42b3f43aad980e839b00'),\n", + " ObjectId('656b42b3f43aad980e839b01'),\n", + " ObjectId('656b42b3f43aad980e839b02'),\n", + " ObjectId('656b42b3f43aad980e839b03'),\n", + " ObjectId('656b42b3f43aad980e839b04'),\n", + " ObjectId('656b42b3f43aad980e839b05'),\n", + " ObjectId('656b42b3f43aad980e839b06'),\n", + " ObjectId('656b42b3f43aad980e839b07'),\n", + " ObjectId('656b42b3f43aad980e839b08'),\n", + " ObjectId('656b42b3f43aad980e839b09'),\n", + " ObjectId('656b42b3f43aad980e839b0a'),\n", + " ObjectId('656b42b3f43aad980e839b0b'),\n", + " ObjectId('656b42b3f43aad980e839b0c'),\n", + " ObjectId('656b42b3f43aad980e839b0d'),\n", + " ObjectId('656b42b3f43aad980e839b0e'),\n", + " ObjectId('656b42b3f43aad980e839b0f'),\n", + " ObjectId('656b42b3f43aad980e839b10'),\n", + " ObjectId('656b42b3f43aad980e839b11'),\n", + " ObjectId('656b42b3f43aad980e839b12'),\n", + " ObjectId('656b42b3f43aad980e839b13'),\n", + " ObjectId('656b42b3f43aad980e839b14'),\n", + " ObjectId('656b42b3f43aad980e839b15'),\n", + " ObjectId('656b42b3f43aad980e839b16'),\n", + " ObjectId('656b42b3f43aad980e839b17'),\n", + " ObjectId('656b42b3f43aad980e839b18'),\n", + " ObjectId('656b42b3f43aad980e839b19'),\n", + " ObjectId('656b42b3f43aad980e839b1a'),\n", + " ObjectId('656b42b3f43aad980e839b1b'),\n", + " ObjectId('656b42b3f43aad980e839b1c'),\n", + " ObjectId('656b42b3f43aad980e839b1d'),\n", + " ObjectId('656b42b3f43aad980e839b1e'),\n", + " ObjectId('656b42b3f43aad980e839b1f'),\n", + " ObjectId('656b42b3f43aad980e839b20'),\n", + " ObjectId('656b42b3f43aad980e839b21'),\n", + " ObjectId('656b42b3f43aad980e839b22')],\n", + " TaskWorkflow(database=, G=))" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from superduperdb import Document\n", "\n", @@ -291,7 +1336,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "56905f2e-485e-4179-8585-34eac26c0751", "metadata": {}, "outputs": [], @@ -304,10 +1349,1021 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "6bb05a78-263e-4e6f-b429-8e51dbb932b8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[-0.008059182204306126,\n", + " -0.003603511257097125,\n", + " -0.000528058095369488,\n", + " -0.005753727629780769,\n", + " -0.024468205869197845,\n", + " 0.016131576150655746,\n", + " -0.014929304830729961,\n", + " -0.004634029697626829,\n", + " -0.0009636337636038661,\n", + " -0.03445630520582199,\n", + " 0.015920188277959824,\n", + " 0.01726778782904148,\n", + " -0.008997217752039433,\n", + " 0.0022311382927000523,\n", + " 0.008713165298104286,\n", + " 1.3005340406380128e-05,\n", + " 0.02448141761124134,\n", + " 0.0005771893775090575,\n", + " 0.008336629718542099,\n", + " -0.007444834802299738,\n", + " 0.005446553695946932,\n", + " 0.0075637404806911945,\n", + " -0.011547090485692024,\n", + " 0.02483813464641571,\n", + " -0.028352467343211174,\n", + " -0.02319987490773201,\n", + " 0.0035044229589402676,\n", + " -0.03522258996963501,\n", + " 0.019421307370066643,\n", + " -0.009941860102117062,\n", + " 0.021878696978092194,\n", + " -0.0173470601439476,\n", + " 0.001747257076203823,\n", + " -0.0363323800265789,\n", + " 0.0007807332440279424,\n", + " -0.012676697224378586,\n", + " -0.010609054937958717,\n", + " -0.01729421131312847,\n", + " 0.00801954697817564,\n", + " -0.010886501520872116,\n", + " 0.009162365458905697,\n", + " 0.016686471179127693,\n", + " 0.007147569674998522,\n", + " -0.02133701555430889,\n", + " -0.004822297487407923,\n", + " -0.00045456760562956333,\n", + " 0.00429052347317338,\n", + " -0.018205825239419937,\n", + " -0.00986258964985609,\n", + " 0.022182568907737732,\n", + " 0.02054430916905403,\n", + " -0.010899713262915611,\n", + " -0.032315999269485474,\n", + " -0.0008860146044753492,\n", + " -0.006856910884380341,\n", + " 0.004941203631460667,\n", + " 0.005961813032627106,\n", + " 0.02874881960451603,\n", + " 0.009988101199269295,\n", + " -0.003999864682555199,\n", + " -0.032527387142181396,\n", + " 0.008217723108828068,\n", + " -0.012683303095400333,\n", + " 0.006823881063610315,\n", + " 0.021442709490656853,\n", + " 0.002125444123521447,\n", + " 0.020676426589488983,\n", + " 0.00702205765992403,\n", + " 0.006837093271315098,\n", + " 0.007431623060256243,\n", + " 0.018985319882631302,\n", + " 0.009380359202623367,\n", + " -8.536044333595783e-05,\n", + " -0.0028190622106194496,\n", + " 0.01158672571182251,\n", + " -0.006480375304818153,\n", + " -0.021773003041744232,\n", + " 0.004323552828282118,\n", + " 0.008891523815691471,\n", + " -0.005165803711861372,\n", + " 0.013462797738611698,\n", + " -0.025089159607887268,\n", + " -0.020187590271234512,\n", + " 0.02079533226788044,\n", + " 0.00010037851461675018,\n", + " -0.007074905093759298,\n", + " 0.0014012737665325403,\n", + " 0.0289602093398571,\n", + " -0.013489221222698689,\n", + " -0.014136598445475101,\n", + " -0.007339140400290489,\n", + " 0.01915707252919674,\n", + " 0.011989684775471687,\n", + " 0.01527281105518341,\n", + " -0.015695586800575256,\n", + " 0.017915165051817894,\n", + " 0.00185295136179775,\n", + " 0.03292373940348625,\n", + " -0.008713165298104286,\n", + " -0.026357488706707954,\n", + " -0.005796665791422129,\n", + " -0.0034416671842336655,\n", + " 0.006394498515874147,\n", + " -0.003388819983229041,\n", + " -0.012921115383505821,\n", + " -0.011930231936275959,\n", + " -0.002234441228210926,\n", + " 0.004330158699303865,\n", + " 0.027401220053434372,\n", + " 0.00284218299202621,\n", + " -0.009842772036790848,\n", + " 0.013845939189195633,\n", + " -0.005912268999963999,\n", + " -0.03588317707180977,\n", + " 0.01005415990948677,\n", + " -9.305011190008372e-05,\n", + " -0.001806710148230195,\n", + " -0.021218109875917435,\n", + " -0.022526074200868607,\n", + " -0.016052305698394775,\n", + " 0.010694931261241436,\n", + " 0.015391716733574867,\n", + " 0.01614478789269924,\n", + " -0.01362133864313364,\n", + " 0.02729552425444126,\n", + " 0.005241771228611469,\n", + " -0.02109920233488083,\n", + " -0.03273877501487732,\n", + " -0.009076489135622978,\n", + " -0.0036200261674821377,\n", + " 0.029964303597807884,\n", + " 0.003646449651569128,\n", + " 0.014585798606276512,\n", + " 0.022962063550949097,\n", + " -0.024970252066850662,\n", + " 0.024296453222632408,\n", + " -0.00883867684751749,\n", + " 0.031523291021585464,\n", + " -0.03450915217399597,\n", + " -0.015854129567742348,\n", + " -0.004640635568648577,\n", + " 0.026661360636353493,\n", + " -0.009624777361750603,\n", + " -0.015259599313139915,\n", + " -0.009895619004964828,\n", + " 0.021085990592837334,\n", + " 0.020597156137228012,\n", + " -0.022935640066862106,\n", + " 0.01163957267999649,\n", + " -0.024230392649769783,\n", + " 0.0036827819421887398,\n", + " 0.000374264782294631,\n", + " 0.020346131175756454,\n", + " -0.0005598489078693092,\n", + " 0.020214013755321503,\n", + " 0.03445630520582199,\n", + " 0.0015672467416152358,\n", + " -7.395497232209891e-05,\n", + " -0.010853472165763378,\n", + " -0.019381672143936157,\n", + " 0.00389417028054595,\n", + " 0.0045481533743441105,\n", + " -0.0033805626444518566,\n", + " -0.01895889639854431,\n", + " 0.024203969165682793,\n", + " 0.03263308107852936,\n", + " 0.020557520911097527,\n", + " 0.01142157893627882,\n", + " -0.0006548085366375744,\n", + " -0.006364772096276283,\n", + " -0.022578921169042587,\n", + " 0.027533337473869324,\n", + " -0.038842614740133286,\n", + " 0.02478528767824173,\n", + " -0.017584871500730515,\n", + " 0.0029247563797980547,\n", + " -0.007570346351712942,\n", + " -0.002918150508776307,\n", + " -0.014400833286345005,\n", + " -0.0055852774530649185,\n", + " -0.03353148326277733,\n", + " 0.01677895337343216,\n", + " 0.01593340002000332,\n", + " 0.017016764730215073,\n", + " 0.001558163552545011,\n", + " -0.0033359730150550604,\n", + " 0.02866954915225506,\n", + " -0.010760989971458912,\n", + " 0.0013129200087860227,\n", + " -0.005264891777187586,\n", + " 0.021773003041744232,\n", + " 0.02240716852247715,\n", + " 0.001459900988265872,\n", + " 0.0023764679208397865,\n", + " -0.6920855641365051,\n", + " 0.00015833484940230846,\n", + " 0.029277291148900986,\n", + " 0.006612492725253105,\n", + " 0.024217180907726288,\n", + " 0.04259476065635681,\n", + " 0.030202114954590797,\n", + " 0.006909757852554321,\n", + " 0.004931294824928045,\n", + " 0.012861661612987518,\n", + " -0.010318395681679249,\n", + " 0.008376264944672585,\n", + " -0.00807239394634962,\n", + " -0.012782391160726547,\n", + " -0.007524105254560709,\n", + " -0.01795480027794838,\n", + " -0.008078999817371368,\n", + " -0.01997620239853859,\n", + " 0.004558062180876732,\n", + " 0.018245460465550423,\n", + " 0.005245074164122343,\n", + " 0.021033143624663353,\n", + " 0.005390403792262077,\n", + " -0.005615003872662783,\n", + " -0.011481031775474548,\n", + " 0.0012584214564412832,\n", + " 0.021878696978092194,\n", + " 0.0065266164019703865,\n", + " 0.011084678582847118,\n", + " 0.0029247563797980547,\n", + " -0.014836822636425495,\n", + " 0.017003552988171577,\n", + " -0.0003740583488252014,\n", + " 0.01163957267999649,\n", + " 0.028220349922776222,\n", + " -0.011005408130586147,\n", + " -0.007107934448868036,\n", + " -0.007735493592917919,\n", + " 0.013165532611310482,\n", + " 0.016105152666568756,\n", + " -0.013522250577807426,\n", + " 0.007094722706824541,\n", + " 0.027031289413571358,\n", + " 0.012683303095400333,\n", + " -0.014255504123866558,\n", + " 0.0014912789920344949,\n", + " 0.008330023847520351,\n", + " -0.00886510033160448,\n", + " 0.005945298355072737,\n", + " 0.003084949217736721,\n", + " -0.006407710257917643,\n", + " -0.0030750404112040997,\n", + " -0.0048421151004731655,\n", + " 0.0006519184680655599,\n", + " -0.00410555861890316,\n", + " -0.008475353009998798,\n", + " 0.014955728314816952,\n", + " 0.027586184442043304,\n", + " 0.0047628446482121944,\n", + " 0.012729544192552567,\n", + " -0.013832727447152138,\n", + " 0.015193539671599865,\n", + " -0.00641431612893939,\n", + " -0.007709070108830929,\n", + " -0.021548403427004814,\n", + " 0.008462141267955303,\n", + " -0.025406241416931152,\n", + " 0.03583033010363579,\n", + " 0.003025496145710349,\n", + " -0.005294618662446737,\n", + " 0.006397801451385021,\n", + " 0.005654639098793268,\n", + " -0.007894035428762436,\n", + " -0.009340723976492882,\n", + " 0.028616702184081078,\n", + " 0.0236358642578125,\n", + " 0.007583558093756437,\n", + " -0.004181526601314545,\n", + " -0.00538379792124033,\n", + " 0.019606271758675575,\n", + " -0.00021943930187262595,\n", + " 0.00015988311497494578,\n", + " -0.012531368061900139,\n", + " -0.01342976838350296,\n", + " 0.011263037100434303,\n", + " -0.02191833220422268,\n", + " -0.0269123837351799,\n", + " 0.0031526596285402775,\n", + " 0.0020742486231029034,\n", + " 0.01806049421429634,\n", + " 0.02598755992949009,\n", + " 0.010040948167443275,\n", + " -0.019368460401892662,\n", + " -0.00762319378554821,\n", + " 0.012815420515835285,\n", + " -0.006536525208503008,\n", + " -0.0070881168358027935,\n", + " 0.016514716669917107,\n", + " 0.02808823063969612,\n", + " 0.013238197192549706,\n", + " -0.005000656470656395,\n", + " -0.0031510081607848406,\n", + " 0.001975160324946046,\n", + " 0.020451826974749565,\n", + " 0.004670361988246441,\n", + " 0.014110174961388111,\n", + " 0.0070881168358027935,\n", + " 0.02647639438509941,\n", + " 0.016950706019997597,\n", + " -0.024573899805545807,\n", + " 0.003207158064469695,\n", + " -0.014096963219344616,\n", + " -0.027559760957956314,\n", + " 0.00027889228658750653,\n", + " 0.013317468576133251,\n", + " -0.03926539048552513,\n", + " -0.00568436598405242,\n", + " 0.01136873196810484,\n", + " 0.008501776494085789,\n", + " -0.018628600984811783,\n", + " 0.024851346388459206,\n", + " 0.0027876843232661486,\n", + " 0.029224444180727005,\n", + " 0.020042261108756065,\n", + " 0.002569690113887191,\n", + " 0.0007274732924997807,\n", + " -0.0007035269518382847,\n", + " -0.019381672143936157,\n", + " -0.01163957267999649,\n", + " 0.005165803711861372,\n", + " -0.0023599532432854176,\n", + " -0.003907382022589445,\n", + " 0.019024955108761787,\n", + " -0.006837093271315098,\n", + " 0.011606543324887753,\n", + " 0.0039701382629573345,\n", + " 0.015193539671599865,\n", + " 0.006222745403647423,\n", + " 0.014506528154015541,\n", + " -0.010120218619704247,\n", + " -0.017584871500730515,\n", + " 0.024111486971378326,\n", + " -0.014612222090363503,\n", + " 0.013205167837440968,\n", + " 0.004574576858431101,\n", + " -0.01565595157444477,\n", + " -0.0219976045191288,\n", + " -0.01800764724612236,\n", + " -0.00026650624931789935,\n", + " -0.00102638965472579,\n", + " -0.02317345142364502,\n", + " 0.00045332900481298566,\n", + " -0.008990611881017685,\n", + " 0.008112029172480106,\n", + " -0.016765741631388664,\n", + " -0.004706694278866053,\n", + " -0.006949393078684807,\n", + " -0.02530054748058319,\n", + " -0.019143860787153244,\n", + " -0.014295139349997044,\n", + " -0.0014863245887681842,\n", + " 0.006457254756242037,\n", + " -0.008666924200952053,\n", + " 0.0009355587535537779,\n", + " -0.017835894599556923,\n", + " -0.007114540319889784,\n", + " -0.019910143688321114,\n", + " 0.012993779964745045,\n", + " -0.018404001370072365,\n", + " -0.03028138540685177,\n", + " -0.021376650780439377,\n", + " 0.002975952113047242,\n", + " -0.021627673879265785,\n", + " 0.013409950770437717,\n", + " 0.010278760455548763,\n", + " -0.002553175436332822,\n", + " -0.01305983867496252,\n", + " -0.003195597790181637,\n", + " -0.008204511366784573,\n", + " -0.012399249710142612,\n", + " 0.007292899303138256,\n", + " 0.0013657670933753252,\n", + " 0.006381286773830652,\n", + " 0.017796259373426437,\n", + " 0.0023467412684112787,\n", + " 0.01882677711546421,\n", + " 0.020478250458836555,\n", + " 0.019381672143936157,\n", + " -0.00739198736846447,\n", + " 0.006718187127262354,\n", + " -0.007662829011678696,\n", + " 0.0019355248659849167,\n", + " -0.015087845735251904,\n", + " 0.010985590517520905,\n", + " -0.01034481916576624,\n", + " -0.0022245324216783047,\n", + " -0.011084678582847118,\n", + " 0.003973441198468208,\n", + " 0.0005986585165373981,\n", + " 0.02046503871679306,\n", + " 0.03268592804670334,\n", + " 0.012940932996571064,\n", + " 0.02284315787255764,\n", + " -0.016382599249482155,\n", + " 0.009492659941315651,\n", + " -0.033267248421907425,\n", + " -0.004792571067810059,\n", + " -0.007358958013355732,\n", + " 0.01478397473692894,\n", + " 0.011923626065254211,\n", + " 0.01245870254933834,\n", + " -0.02598755992949009,\n", + " -0.03617383539676666,\n", + " 0.018100131303071976,\n", + " 0.024217180907726288,\n", + " 0.018456848338246346,\n", + " -0.013634550385177135,\n", + " 0.010926136747002602,\n", + " -0.011679207906126976,\n", + " 0.007405199110507965,\n", + " -0.009175577200949192,\n", + " 0.011018619872629642,\n", + " 0.009684230200946331,\n", + " -0.017624506726861,\n", + " -0.02345089800655842,\n", + " 0.012068955227732658,\n", + " 0.029462255537509918,\n", + " 0.033980682492256165,\n", + " 0.018192613497376442,\n", + " -0.02967364527285099,\n", + " -0.014519739896059036,\n", + " 0.013476009480655193,\n", + " 0.00019827982760034502,\n", + " -0.0022129721473902464,\n", + " 0.0004479617055039853,\n", + " 0.007973305881023407,\n", + " 0.010595843195915222,\n", + " 0.0021667310502380133,\n", + " 0.0346941202878952,\n", + " 0.008224328979849815,\n", + " 0.008997217752039433,\n", + " 0.012703120708465576,\n", + " 0.0390804260969162,\n", + " -0.0061302632093429565,\n", + " 0.02360944077372551,\n", + " 0.01716209389269352,\n", + " 0.025749746710062027,\n", + " -0.007940276525914669,\n", + " -0.006427527870982885,\n", + " 0.033082280308008194,\n", + " -0.0036695702001452446,\n", + " 0.005119562614709139,\n", + " -0.005390403792262077,\n", + " 0.0030899036210030317,\n", + " 0.019778026267886162,\n", + " -0.018351154401898384,\n", + " -0.025802595540881157,\n", + " -0.0013418208109214902,\n", + " 0.01317213848233223,\n", + " 0.03051919862627983,\n", + " 0.011137525551021099,\n", + " 0.01187077909708023,\n", + " 0.005654639098793268,\n", + " -0.021019931882619858,\n", + " 0.011091284453868866,\n", + " -0.0037455379497259855,\n", + " -0.00028467245283536613,\n", + " 0.00866031739860773,\n", + " -0.010827048681676388,\n", + " -0.01614478789269924,\n", + " -0.01792837679386139,\n", + " -0.00940017681568861,\n", + " 0.022644979879260063,\n", + " -0.0018413909710943699,\n", + " 0.03123263455927372,\n", + " 0.012253920547664165,\n", + " 0.029092326760292053,\n", + " 0.010325001552700996,\n", + " 0.02194475568830967,\n", + " 0.015404928475618362,\n", + " 0.0033095492981374264,\n", + " -0.02880166657269001,\n", + " 0.0089509766548872,\n", + " 0.0056017921306192875,\n", + " 0.0016184423584491014,\n", + " -0.024547476321458817,\n", + " -0.021403074264526367,\n", + " 0.015087845735251904,\n", + " -0.003603511257097125,\n", + " 0.0031559625640511513,\n", + " -0.004307038150727749,\n", + " -0.003317806636914611,\n", + " 0.006047689355909824,\n", + " -0.029937880113720894,\n", + " 0.006206230726093054,\n", + " 0.024745652452111244,\n", + " 0.007425017189234495,\n", + " 0.006113748531788588,\n", + " -0.008310206234455109,\n", + " -0.016303328797221184,\n", + " 0.014321562834084034,\n", + " 0.004521729424595833,\n", + " 0.017056399956345558,\n", + " -0.013026809319853783,\n", + " 0.002840531524270773,\n", + " -0.010311789810657501,\n", + " -0.005902360193431377,\n", + " -0.02194475568830967,\n", + " -0.001824876293540001,\n", + " 0.0028058504685759544,\n", + " 0.016514716669917107,\n", + " 0.02251286245882511,\n", + " -0.0020461734384298325,\n", + " -0.0073655638843774796,\n", + " 0.02054430916905403,\n", + " 0.0018050586804747581,\n", + " -0.008508382365107536,\n", + " 0.00977010652422905,\n", + " 0.026740631088614464,\n", + " 0.018205825239419937,\n", + " -0.015101057477295399,\n", + " -0.009419994428753853,\n", + " -0.018575754016637802,\n", + " 0.005641427356749773,\n", + " 0.04616193845868111,\n", + " 0.02737479656934738,\n", + " 0.01200950238853693,\n", + " -0.006077416241168976,\n", + " -0.008805647492408752,\n", + " -0.01729421131312847,\n", + " -0.04301753640174866,\n", + " -0.00900382362306118,\n", + " 0.008336629718542099,\n", + " 0.0048256004229187965,\n", + " 0.002262516412883997,\n", + " 0.0065431310795247555,\n", + " 0.015814494341611862,\n", + " -0.0012386038433760405,\n", + " 0.013211773708462715,\n", + " 0.009664412587881088,\n", + " -0.003976744133979082,\n", + " -0.010939348489046097,\n", + " 0.005017171148210764,\n", + " -0.003192294854670763,\n", + " 0.0016374342376366258,\n", + " 0.004458973649889231,\n", + " 0.0016679865075275302,\n", + " 0.007742099463939667,\n", + " 0.017056399956345558,\n", + " -0.005397009663283825,\n", + " 0.0006378809921443462,\n", + " -0.0036695702001452446,\n", + " -0.0011073118075728416,\n", + " -0.018258672207593918,\n", + " -0.00977010652422905,\n", + " 0.016739318147301674,\n", + " 0.0026225370820611715,\n", + " 0.007048481609672308,\n", + " -0.003814899828284979,\n", + " 0.020729273557662964,\n", + " -0.01732063479721546,\n", + " 0.006764428224414587,\n", + " 0.011335701681673527,\n", + " -0.0025003282353281975,\n", + " 0.011976473033428192,\n", + " -0.005496098194271326,\n", + " -0.01195665542036295,\n", + " -0.01708282344043255,\n", + " 0.009083095006644726,\n", + " -0.003874352667480707,\n", + " -0.00903024710714817,\n", + " 0.009419994428753853,\n", + " -0.0021518676076084375,\n", + " -0.00855462346225977,\n", + " 0.021165261045098305,\n", + " -0.005727304145693779,\n", + " -0.0086735300719738,\n", + " -0.016514716669917107,\n", + " 0.017756624147295952,\n", + " 0.01570879854261875,\n", + " -0.016435446217656136,\n", + " -0.009618171490728855,\n", + " -0.010952560231089592,\n", + " -0.043651700019836426,\n", + " -0.04420659691095352,\n", + " -0.015880553051829338,\n", + " -0.006843699142336845,\n", + " -0.01084686629474163,\n", + " -0.017069611698389053,\n", + " -0.030704163014888763,\n", + " -0.020121531561017036,\n", + " -0.018655024468898773,\n", + " -0.023847252130508423,\n", + " -0.013925209641456604,\n", + " -0.0012575957225635648,\n", + " -0.017915165051817894,\n", + " -0.022882793098688126,\n", + " -0.016712894663214684,\n", + " 0.016673259437084198,\n", + " -0.00010378468141425401,\n", + " -0.014889669604599476,\n", + " 0.0007097199559211731,\n", + " -0.010457118973135948,\n", + " 0.008732982911169529,\n", + " 0.0037752643693238497,\n", + " -0.026568878442049026,\n", + " -0.0007060041534714401,\n", + " -0.014691492542624474,\n", + " -0.004429247230291367,\n", + " 0.02790326625108719,\n", + " 0.018324730917811394,\n", + " 0.016897859051823616,\n", + " 0.008964188396930695,\n", + " 0.009195394814014435,\n", + " 0.00986258964985609,\n", + " -0.012921115383505821,\n", + " 0.006539828144013882,\n", + " -0.028590278699994087,\n", + " 0.014717916026711464,\n", + " -0.01866823621094227,\n", + " 0.01295414473861456,\n", + " -0.009122730232775211,\n", + " -0.010800625197589397,\n", + " 0.0014144855085760355,\n", + " -0.005241771228611469,\n", + " -0.020293284207582474,\n", + " -0.009869195520877838,\n", + " 0.008164876140654087,\n", + " 0.012511549517512321,\n", + " -0.00526819471269846,\n", + " -0.004422641359269619,\n", + " 0.012795602902770042,\n", + " -0.019117437303066254,\n", + " -0.006004751194268465,\n", + " -0.0023616047110408545,\n", + " -0.029409408569335938,\n", + " 0.01082044281065464,\n", + " -0.01787552982568741,\n", + " 0.004739724099636078,\n", + " 0.011751873418688774,\n", + " 0.007114540319889784,\n", + " 0.03136475011706352,\n", + " -0.013581703417003155,\n", + " -0.015325658023357391,\n", + " -0.00012024778698105365,\n", + " -0.023952946066856384,\n", + " 0.004389612004160881,\n", + " 0.011692419648170471,\n", + " 0.01240585558116436,\n", + " 0.013423162512481213,\n", + " -0.002184897195547819,\n", + " -0.023411262780427933,\n", + " -0.021376650780439377,\n", + " 0.0020643395837396383,\n", + " -0.018615389242768288,\n", + " 0.013442980125546455,\n", + " -0.012531368061900139,\n", + " -0.01515390444546938,\n", + " -0.031470444053411484,\n", + " -0.01808691769838333,\n", + " -0.0027117165736854076,\n", + " 0.03136475011706352,\n", + " 0.004607606213539839,\n", + " -0.014995363540947437,\n", + " -0.023926522582769394,\n", + " 0.012861661612987518,\n", + " -0.005443250760436058,\n", + " -0.014281927607953548,\n", + " -0.012769179418683052,\n", + " -0.03773282840847969,\n", + " -0.008429111912846565,\n", + " 0.013753456994891167,\n", + " -0.022750675678253174,\n", + " 0.010708143003284931,\n", + " 0.011963261291384697,\n", + " -0.005017171148210764,\n", + " -0.024494629353284836,\n", + " -0.010919530875980854,\n", + " -0.004994050599634647,\n", + " -0.02811465598642826,\n", + " -0.012504943646490574,\n", + " -0.003250096458941698,\n", + " 0.03472054377198219,\n", + " 0.04217198118567467,\n", + " 0.033187977969646454,\n", + " -0.0012831935891881585,\n", + " 0.006850305013358593,\n", + " 0.009109518490731716,\n", + " -0.010331607423722744,\n", + " -0.009902224875986576,\n", + " -0.02279031090438366,\n", + " -0.010490148328244686,\n", + " -0.010708143003284931,\n", + " 0.001511922338977456,\n", + " 0.002430966356769204,\n", + " 0.015774857252836227,\n", + " -0.004990747664123774,\n", + " 0.010021130554378033,\n", + " 0.002738140057772398,\n", + " 0.011097890324890614,\n", + " -0.015470987185835838,\n", + " 0.004620817955583334,\n", + " -0.013978056609630585,\n", + " -0.01601267047226429,\n", + " -0.009241635911166668,\n", + " 0.002644006162881851,\n", + " -0.013066444545984268,\n", + " 0.012392643839120865,\n", + " -0.012782391160726547,\n", + " -0.013152320869266987,\n", + " 0.025762958452105522,\n", + " 0.011877384968101978,\n", + " 0.005529127549380064,\n", + " 0.009195394814014435,\n", + " 0.016871435567736626,\n", + " -0.015748433768749237,\n", + " -0.009651200845837593,\n", + " 0.01282863225787878,\n", + " 0.002736488590016961,\n", + " -0.010840260423719883,\n", + " 0.006143474951386452,\n", + " -0.014281927607953548,\n", + " -0.017584871500730515,\n", + " 0.022671403363347054,\n", + " -0.010417483747005463,\n", + " 0.026331065222620964,\n", + " -0.005796665791422129,\n", + " 0.010093795135617256,\n", + " 0.012544579803943634,\n", + " 0.009968283586204052,\n", + " -0.007127752061933279,\n", + " 0.007590163964778185,\n", + " 0.014902881346642971,\n", + " 0.002977603580802679,\n", + " -0.00221627508290112,\n", + " -0.033954259008169174,\n", + " -0.007880822755396366,\n", + " -0.020253648981451988,\n", + " 0.013158926740288734,\n", + " 0.033082280308008194,\n", + " -0.015008575282990932,\n", + " 0.020372554659843445,\n", + " -0.012822026386857033,\n", + " -0.025472300127148628,\n", + " -0.0038215056993067265,\n", + " 0.0024260119535028934,\n", + " 0.049227070063352585,\n", + " 0.014400833286345005,\n", + " 0.013231591321527958,\n", + " 0.017056399956345558,\n", + " -0.002006538212299347,\n", + " -0.024085063487291336,\n", + " 0.023107392713427544,\n", + " -0.024058640003204346,\n", + " -0.0031344934832304716,\n", + " 0.03049277514219284,\n", + " 0.035513248294591904,\n", + " -0.017069611698389053,\n", + " -0.006955998949706554,\n", + " 0.0012790649197995663,\n", + " 0.02962079644203186,\n", + " 0.0016845011850818992,\n", + " -0.024877769872546196,\n", + " -0.0005635647103190422,\n", + " 0.011672602035105228,\n", + " 0.000843076326418668,\n", + " -0.01359491515904665,\n", + " -0.00047273378004319966,\n", + " -0.0461883619427681,\n", + " 0.0019057984463870525,\n", + " -0.005476280115544796,\n", + " -0.017716988921165466,\n", + " -0.020068684592843056,\n", + " -0.002660521073266864,\n", + " -0.02000262588262558,\n", + " 0.013423162512481213,\n", + " -0.03503762558102608,\n", + " 0.016250481829047203,\n", + " 0.01688464730978012,\n", + " -0.016620412468910217,\n", + " -0.012769179418683052,\n", + " -0.0007460523629561067,\n", + " -0.026000771671533585,\n", + " -0.002645657630637288,\n", + " 0.010840260423719883,\n", + " 0.0415378175675869,\n", + " -0.004822297487407923,\n", + " 0.004171617794781923,\n", + " 0.015087845735251904,\n", + " 0.0006932052783668041,\n", + " -0.022565709426999092,\n", + " 0.010714748874306679,\n", + " -0.01132909581065178,\n", + " 0.029145173728466034,\n", + " -0.017360271885991096,\n", + " -0.008171482011675835,\n", + " -0.006777639966458082,\n", + " 0.006863516755402088,\n", + " 0.005482885986566544,\n", + " -0.0054366448894143105,\n", + " -0.011038437485694885,\n", + " -0.00823754072189331,\n", + " -0.01601267047226429,\n", + " 0.010120218619704247,\n", + " 0.018100131303071976,\n", + " 0.010410877875983715,\n", + " -0.008541411720216274,\n", + " -0.004908173810690641,\n", + " -0.014110174961388111,\n", + " -0.0014334775041788816,\n", + " -0.0144140450283885,\n", + " -0.007636405527591705,\n", + " -0.010093795135617256,\n", + " -0.02279031090438366,\n", + " -0.019500577822327614,\n", + " -0.0013476009480655193,\n", + " -0.006586069241166115,\n", + " 0.01808691769838333,\n", + " 0.00599153945222497,\n", + " -0.018549330532550812,\n", + " 0.01880035363137722,\n", + " 0.012498337775468826,\n", + " -0.03384856507182121,\n", + " 0.008970794267952442,\n", + " -0.0007320148288272321,\n", + " 0.002690247492864728,\n", + " -0.002746397629380226,\n", + " 0.008382870815694332,\n", + " 0.00559518625959754,\n", + " -0.024151122197508812,\n", + " 0.03503762558102608,\n", + " -0.013700610026717186,\n", + " -0.029937880113720894,\n", + " -0.021403074264526367,\n", + " 0.0014475149801000953,\n", + " 0.018324730917811394,\n", + " -0.0025548269040882587,\n", + " -0.005661244969815016,\n", + " 0.0012427325127646327,\n", + " 0.017756624147295952,\n", + " 0.007728887721896172,\n", + " 0.013509038835763931,\n", + " -0.013337286189198494,\n", + " 0.012372826226055622,\n", + " 0.0011510758195072412,\n", + " 0.0013211773475632071,\n", + " -0.0005920526455156505,\n", + " -0.020940661430358887,\n", + " -0.0023962855339050293,\n", + " 0.005017171148210764,\n", + " -0.0012873222585767508,\n", + " 0.011751873418688774,\n", + " -0.023543382063508034,\n", + " -0.014347986318171024,\n", + " 0.008396082557737827,\n", + " 0.020372554659843445,\n", + " -0.004095649812370539,\n", + " -0.012835238128900528,\n", + " -0.02475886419415474,\n", + " -0.0014260458992794156,\n", + " -0.014295139349997044,\n", + " -0.00013779467553831637,\n", + " -0.00650349585339427,\n", + " -0.009776712395250797,\n", + " -0.02189190872013569,\n", + " -0.007147569674998522,\n", + " -0.014308351092040539,\n", + " 0.012101984582841396,\n", + " -0.019817661494016647,\n", + " -1.1566753528313711e-05,\n", + " -0.02866954915225506,\n", + " -0.00589575432240963,\n", + " -0.03992598131299019,\n", + " -0.024587111547589302,\n", + " -0.006757822353392839,\n", + " 0.005984933581203222,\n", + " 0.020623579621315002,\n", + " -0.012861661612987518,\n", + " -0.019962990656495094,\n", + " 0.002384725259616971,\n", + " -0.03691369667649269,\n", + " -0.02631785348057747,\n", + " -0.024203969165682793,\n", + " -0.0127757852897048,\n", + " -0.005786756984889507,\n", + " 0.006074113305658102,\n", + " -0.01920991949737072,\n", + " 0.025868654251098633,\n", + " 0.004260797053575516,\n", + " 0.025789381936192513,\n", + " -0.00704187573865056,\n", + " -0.018430424854159355,\n", + " 0.01062887255102396,\n", + " -0.013073050417006016,\n", + " 0.012333190999925137,\n", + " 0.001604404766112566,\n", + " -0.02644997090101242,\n", + " -0.023767981678247452,\n", + " 0.023781193420290947,\n", + " 0.005882542580366135,\n", + " 0.013859150931239128,\n", + " 0.013165532611310482,\n", + " -0.004409429617226124,\n", + " -0.019249554723501205,\n", + " -0.005581974517554045,\n", + " 0.0027331856545060873,\n", + " 0.0016737666446715593,\n", + " 0.0050568063743412495,\n", + " -0.002402891404926777,\n", + " -0.016924282535910606,\n", + " -0.01335049793124199,\n", + " 0.005258285906165838,\n", + " -0.003464787732809782,\n", + " 0.008059182204306126,\n", + " -0.012934327125549316,\n", + " 0.005264891777187586,\n", + " -0.009928648360073566,\n", + " 0.005572065711021423,\n", + " -0.03659661486744881,\n", + " -0.003907382022589445,\n", + " -0.01770377717912197,\n", + " -0.00844232365489006,\n", + " 0.012412461452186108,\n", + " -0.011454608291387558,\n", + " -0.008422506041824818,\n", + " 0.01675252988934517,\n", + " 0.004330158699303865,\n", + " -0.02035934291779995,\n", + " -0.007074905093759298,\n", + " 0.022909216582775116,\n", + " 0.0005371411680243909,\n", + " 0.0035275437403470278,\n", + " -0.0025944621302187443,\n", + " -0.0052384682931005955,\n", + " 0.006285501644015312,\n", + " -0.01675252988934517,\n", + " -0.018179401755332947,\n", + " -0.029065903276205063,\n", + " -0.0008236715220846236,\n", + " -0.012260526418685913,\n", + " -0.017280999571084976,\n", + " -0.00739198736846447,\n", + " 0.012504943646490574,\n", + " 0.0033508362248539925,\n", + " -0.01880035363137722,\n", + " -0.0046274238266050816,\n", + " -0.0188532005995512,\n", + " 0.007927064783871174,\n", + " 0.01176508516073227,\n", + " -0.004042802844196558,\n", + " 0.0008001380483619869,\n", + " -0.007927064783871174,\n", + " 0.02057073265314102,\n", + " 0.029118750244379044,\n", + " -0.02437572367489338,\n", + " -0.004594394471496344,\n", + " 0.011936837807297707,\n", + " 0.021218109875917435,\n", + " 0.001289799460209906,\n", + " 0.013178744353353977,\n", + " 0.23654359579086304,\n", + " -0.0018166189547628164,\n", + " -0.00647707236930728,\n", + " 0.018100131303071976,\n", + " 0.01816619001328945,\n", + " 0.03680800274014473,\n", + " 0.00216838251799345,\n", + " -0.006120354402810335,\n", + " 0.0022608647122979164,\n", + " 0.01816619001328945,\n", + " 0.03923896700143814,\n", + " 0.005935389548540115,\n", + " 0.001139515545219183,\n", + " 0.0017687262734398246,\n", + " -0.008369659073650837,\n", + " -0.010496754199266434,\n", + " -0.005350768566131592,\n", + " -0.023952946066856384,\n", + " -0.02811465598642826,\n", + " -0.03263308107852936,\n", + " 0.002236092695966363,\n", + " -0.023847252130508423,\n", + " 0.01751881279051304,\n", + " -0.008263964205980301,\n", + " 0.01433477457612753,\n", + " -0.011831143870949745,\n", + " -0.018787141889333725,\n", + " 0.006556342821568251,\n", + " 0.01677895337343216,\n", + " 0.014136598445475101,\n", + " -0.02604040689766407,\n", + " -0.008719771169126034,\n", + " 0.017743412405252457,\n", + " 0.006077416241168976,\n", + " -0.022314686328172684,\n", + " -0.014585798606276512,\n", + " 0.011758479289710522,\n", + " -0.016567565500736237,\n", + " 0.020214013755321503,\n", + " -0.006602583918720484,\n", + " 0.01340334489941597,\n", + " -0.0005726478411816061,\n", + " 0.006506798788905144,\n", + " -0.008422506041824818,\n", + " 0.00531443627551198,\n", + " 0.00838947668671608,\n", + " ...]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model.predict('This is a test', one=True)" ] @@ -322,7 +2378,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "c1625dab-6438-494b-b74d-efb58bfc8610", "metadata": {}, "outputs": [], @@ -348,10 +2404,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "1aa132d0-e6a2-46f6-9eb8-13fbce90ff11", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:44:16.73\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m220 \u001b[0m | \u001b[1mAdding model text-embedding-ada-002 to db\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:16.73\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m873 \u001b[0m | \u001b[34m\u001b[1mmodel/text-embedding-ada-002/0 already exists - doing nothing\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "983it [00:00, 21795.56it/s]\n", + "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:14<00:00, 1.47s/it]\n" + ] + }, + { + "data": { + "text/plain": [ + "([None],\n", + " VectorIndex(identifier='my-index', indexing_listener=Listener(key='txt', model=OpenAIEmbedding(model='text-embedding-ada-002', identifier='text-embedding-ada-002', version=0, takes_context=False, encoder=Encoder(identifier='vector[1536]', decoder=None, encoder=None, shape=(1536,), load_hybrid=True, version=0), model_update_kwargs={}, shape=(1536,)), select=, active=True, identifier='text-embedding-ada-002/txt', predict_kwargs={}, version=0), compatible_listener=None, measure=, version=0, metric_values={}))" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Import the VectorIndex class from the superduperdb module\n", "from superduperdb import VectorIndex\n", @@ -367,10 +2453,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "7fde5b17-9d71-4535-aaf6-85f4fa9910e4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Document({'txt': '# Anthropic\\n\\n`superduperdb` allows users to work with `anthropic` API models.\\n\\nRead more about this [here](/docs/docs/walkthrough/ai_models#anthropic).\\n# Cohere\\n\\n`superduperdb` allows users to work with `cohere` API models.\\n\\nRead more about this [here](/docs/docs/walkthrough/ai_models#cohere).\\n---\\nsidebar_position: 2\\n---\\n\\n# Custom\\n\\n`superduperdb` provides fully flexible support for AI models from across the \\nopen-source ecosystem.\\n\\nCustom AI integrations may be achieved using the base `superduperdb.Model` class.\\n\\nRead more [here](/docs/docs/walkthrough/ai_models#vanilla)\\n# OpenAI\\n\\n`superduperdb` allows users to work with `openai` API models.', '_fold': 'train', '_id': ObjectId('656b42b3f43aad980e83974c'), '_outputs': {'txt': {'text-embedding-ada-002': {'0': [-0.006495419889688492, 0.010753287002444267, 0.012360848486423492, -0.005898014642298222, -0.0567425973713398, 0.03339673951268196, 0.013997375965118408, -0.011361553333699703, -0.0069045512937009335, -0.03840769827365875, 0.011716376058757305, 0.009819163009524345, -0.022187253460288048, 0.01055777259171009, 0.009840887039899826, -0.017321119084954262, 0.01730663701891899, -0.01522115059196949, 0.014468058943748474, 0.009862610138952732, 0.00939192809164524, 0.039942849427461624, -0.007987121120095253, -0.014605642296373844, 0.01199154369533062, 0.02543134242296219, 0.016582509502768517, -0.031137462705373764, 0.005854567047208548, 0.010789493098855019, 0.038233909755945206, -0.011187762953341007, -0.016017690300941467, -0.01758180558681488, 0.00281142327003181, 0.006053701974451542, 0.008986416272819042, 0.02667684108018875, 0.032672613859176636, 0.021723812445998192, -0.003385293995961547, 0.006756105460226536, -0.013975651934742928, -0.002261086832731962, -0.008066775277256966, 0.012360848486423492, -0.006187665741890669, -0.039653196930885315, 0.014728744514286518, -0.03533739969134331, -0.01026087999343872, 0.04002974182367325, -0.027067869901657104, 0.010767769068479538, -0.0008268625824712217, -0.00219772569835186, 0.0032133138738572598, 0.02224518358707428, 0.004543897230178118, -0.005014579743146896, 0.0266044270247221, -0.005474400706589222, -0.009978470392525196, 0.03136918321251869, -0.039653196930885315, -0.0064374892972409725, -0.00432303873822093, -0.012961874715983868, 0.007856778800487518, 0.01868247799575329, 0.02751682884991169, 0.02488100528717041, 0.005843705497682095, -0.03548222407698631, 0.015177703462541103, -0.02512720786035061, -0.0043447623029351234, 0.022737588733434677, -0.014243579469621181, -0.013244283385574818, -0.0036695138551294804, -0.029718173667788506, -0.00754540367051959, 0.015670109540224075, 0.018001798540353775, 0.00964537262916565, -0.01992797665297985, 0.009898817166686058, 0.008718489669263363, -0.011962578631937504, -0.011911890469491482, -0.009384687058627605, 0.017118362709879875, 0.00023737789888400584, -0.017451461404561996, 0.042897287756204605, 0.020666586235165596, 0.013121182098984718, 0.008530216291546822, -0.004956649616360664, -0.023592058569192886, 0.004254246596246958, -0.04718411713838577, -0.024808593094348907, -0.013222560286521912, 0.019479017704725266, 0.013345661573112011, 0.01642320118844509, 0.01462012529373169, -0.002507289871573448, -0.011318106204271317, 0.03976905718445778, 0.0014066167641431093, -0.042607635259628296, -0.0016546302940696478, -0.025025831535458565, 0.010289845056831837, 0.006734381429851055, -0.02165139839053154, 0.007444025948643684, 0.014591160230338573, 0.03223813697695732, 0.009992953389883041, -0.019261779263615608, 0.009797438979148865, -0.006064563989639282, -0.011223969049751759, -0.01536597590893507, 0.013881515711545944, -0.027690619230270386, 0.021231405436992645, -0.01347600482404232, 0.03220917284488678, 0.005086992401629686, -0.018088694661855698, 0.022752072662115097, -0.024475494399666786, 0.02052175998687744, -0.004645274952054024, -0.026691323146224022, 0.013483245857059956, -0.0020347971003502607, -0.0040840767323970795, 0.006328870542347431, -0.017683181911706924, 0.023244477808475494, 0.012896702624857426, -0.011325347237288952, 0.004884236957877874, 0.010463636368513107, -0.001221964368596673, 0.0015659247292205691, -0.04370830953121185, 0.0029580590780824423, 0.01842179149389267, 0.011013972572982311, -0.005412849597632885, 0.007625057827681303, -0.004428036976605654, 0.00965985469520092, 0.00994950532913208, 0.03258571773767471, -0.021535538136959076, -0.016625957563519478, 0.026792701333761215, 0.016292858868837357, 0.02140519581735134, -0.015612179413437843, -0.02483755722641945, 0.00395373348146677, 0.015699073672294617, 0.025069277733564377, -0.007107307203114033, 0.011564308777451515, -0.017741112038493156, -0.0023027239367365837, 0.02695200964808464, 0.0005553149385377765, -0.03125332295894623, -0.04712618887424469, 0.033802252262830734, -0.002424015197902918, 0.024649284780025482, 0.05190542712807655, -0.01026812195777893, -0.027357520535588264, -0.015003912150859833, 0.009862610138952732, -0.0003998539177700877, 0.00018714158795773983, 0.0013079545460641384, 0.020014870911836624, 0.015858381986618042, 0.010565013624727726, -0.5691059231758118, -0.003332794876769185, -0.030384371057152748, -0.07003756612539291, 0.0037908051162958145, -0.010651908814907074, -0.001691741868853569, 0.022042427211999893, -0.012281195260584354, 0.01417840737849474, -0.02895059995353222, -0.0007449457189068198, -0.015467354096472263, -0.023229995742440224, -0.007451267447322607, -0.010181226767599583, 0.03386018052697182, -0.033831216394901276, -0.009884334169328213, -0.009196413680911064, -0.025663062930107117, 0.02140519581735134, -0.03539533168077469, 0.004196316469460726, 0.0009241671650670469, 0.013946686871349812, 0.014960465021431446, -0.005412849597632885, 0.020275557413697243, -0.009855369105935097, -0.04205729812383652, 0.03218020498752594, 0.02782096154987812, -0.020376935601234436, 0.05329575017094612, 0.029225768521428108, -0.011694652028381824, 0.024794111028313637, 0.015641143545508385, 0.041449032723903656, -0.011919131502509117, -0.013968410901725292, 0.0011006731074303389, 0.004047870170325041, 0.000300060142762959, 0.010673632845282555, 0.03157193958759308, -0.030210580676794052, -0.0013052390422672033, -0.005496124271303415, 0.008682283572852612, 0.007791607175022364, 0.007147133816033602, -0.006690933834761381, 0.0042868321761488914, -0.019551429897546768, 0.03255675360560417, -0.007972639054059982, -0.006169562693685293, -0.011158797889947891, 0.02925473265349865, 0.015641143545508385, -0.023201031610369682, -0.03139814734458923, -0.01875489018857479, 0.02104313299059868, 0.006709037348628044, 0.003787184599786997, -0.008356425911188126, -0.02221621759235859, 0.031166428700089455, 0.005050786305218935, -0.0067886910401284695, -0.005843705497682095, 0.01036949921399355, 0.024461012333631516, 0.039942849427461624, 0.0030594367999583483, 0.004659757483750582, 0.03719116374850273, 0.03591670095920563, 0.004134765360504389, -0.007856778800487518, -0.02168036438524723, 0.023548612371087074, -0.011462931521236897, -0.05239783227443695, -0.008255048654973507, 0.020854858681559563, -0.026807183399796486, 0.008131946437060833, 0.02840026281774044, -0.009051588363945484, -0.020101767033338547, 0.023809297010302544, 0.011028454639017582, -0.018523169681429863, 0.004489587619900703, -0.033831216394901276, -0.02608305588364601, -0.003975457511842251, 0.0016347168711945415, -0.0007214116048999131, 0.04333176463842392, 0.01671285182237625, 0.007081962656229734, -0.002623150357976556, 0.018074210733175278, 0.035887736827135086, -0.00791470892727375, 0.012317401356995106, -0.024823075160384178, -0.033251915127038956, 0.027111316099762917, 0.010492601431906223, -0.03371535614132881, 0.02344723418354988, 0.003957354463636875, 0.013852550648152828, -0.013874274678528309, -0.0041854544542729855, 0.0024909970816224813, -0.005438194144517183, 0.0019841082394123077, 0.012715671211481094, 0.01214361097663641, 0.01781352609395981, -0.03771253675222397, -0.023244477808475494, -0.020956236869096756, 0.03945044055581093, -0.008298495784401894, 0.013483245857059956, -0.010840182192623615, 0.023316891863942146, 0.014424610882997513, -0.010282604023814201, 0.0028838359285146, -0.01963832601904869, 0.01698802039027214, -0.024823075160384178, -0.0021796224173158407, 0.002156088361516595, 0.01788593828678131, -0.043418657034635544, -0.033831216394901276, -0.01405530609190464, -0.0027571136597543955, -0.011803271248936653, -0.023867227137088776, -0.0015722608659416437, -0.012918426655232906, -0.025648580864071846, 0.02548927254974842, -0.021173475310206413, -0.02312861755490303, -0.005021821241825819, -0.031485043466091156, -0.01752387546002865, -0.02693752571940422, 0.020347969606518745, 0.03365742415189743, -0.015134255401790142, 0.007002308499068022, -0.013867032714188099, -0.010593978688120842, -0.02664787508547306, 0.028863703832030296, -0.01407703012228012, -0.017929386347532272, -0.011339829303324223, -0.012990839779376984, 0.014258061535656452, 0.007197822909802198, 0.01845075748860836, 0.01584389992058277, -0.030529197305440903, 0.006285422947257757, -0.006843000650405884, -0.010717079974710941, -0.009594683535397053, -0.02046382986009121, -0.01698802039027214, -0.018059728667140007, 0.0380890816450119, -0.0026503049302846193, 0.05378815904259682, 0.006042840424925089, -0.021825188770890236, 0.023331373929977417, -0.006506281439214945, 0.0096815787255764, 0.018639029935002327, 0.005235438700765371, 0.015481836162507534, 0.018016280606389046, 0.012592569924890995, 0.01507632527500391, -0.014315991662442684, 0.02338930405676365, 0.024663766846060753, 0.0014862708048895001, 0.04530138894915581, -0.007480232510715723, 0.0032096931245177984, 0.009435375221073627, -0.005601122975349426, -0.008428839035332203, 0.020869342610239983, -0.024388598278164864, 0.027314072474837303, 0.011810512281954288, 0.0027697859331965446, 0.00446786405518651, 0.027690619230270386, 0.018856268376111984, 0.0040695942007005215, 0.015438389033079147, -0.028892669826745987, 0.015337010845541954, 0.017625251784920692, -0.008218841627240181, -0.0019895390141755342, -0.0026865112595260143, 0.011166038922965527, 0.012194299139082432, -0.010550531558692455, 0.03238296136260033, 0.012216023169457912, -0.030818847939372063, 0.004797341767698526, 0.00474665267392993, 0.010347775183618069, -0.008139188401401043, 0.013338420540094376, -0.015568731352686882, 0.0068755862303078175, -0.01581493392586708, 0.00724489102140069, -0.03771253675222397, -0.00695524038746953, 0.030268510803580284, 0.018276967108249664, -0.013258766382932663, 0.0242727380245924, 0.0018266105325892568, 0.005525089334696531, 0.015554249286651611, -0.015959760174155235, 0.0032821057830005884, -0.029920930042862892, 0.018363861367106438, -0.007864019833505154, 0.01671285182237625, 0.014214614406228065, 0.0011260175378993154, -0.008465045131742954, 0.02015969716012478, 0.026807183399796486, 0.017436979338526726, 0.00026023315149359405, 0.01813214085996151, 0.0068755862303078175, 0.01288946159183979, 0.010673632845282555, -0.008074016310274601, -0.007067480124533176, -0.011926372535526752, -0.00607904652133584, 0.007176098879426718, -0.0034468448720872402, -0.018030764535069466, -0.01811765879392624, -0.04037732630968094, 0.03403397276997566, -0.003939250949770212, 0.020594174042344093, 0.031658835709095, 0.012831531465053558, 0.005278886295855045, -0.004619930405169725, -0.04417175054550171, 0.02721269428730011, 0.015163220465183258, -0.0026720287278294563, 0.008971934206783772, -0.01230291835963726, 0.0019931597635149956, -0.012998080812394619, 0.02667684108018875, 0.007306442130357027, 0.014518747106194496, 0.005503365769982338, 0.0016039414331316948, -0.0307029876857996, 0.006929895840585232, 0.0032585717272013426, 0.006299905478954315, -0.005195611622184515, -0.0025036693550646305, -0.006386800669133663, 0.04150696098804474, 0.0013586434070020914, -0.0084795281291008, 0.031166428700089455, 0.003472189186140895, -0.0020999684929847717, 0.012339125387370586, -0.0204927958548069, -0.034700170159339905, -0.00922537874430418, 0.002257466083392501, -0.012063956819474697, 0.0021090200170874596, 0.030587127432227135, 0.012672223150730133, -0.017060432583093643, -0.029356110841035843, 0.035569120198488235, 0.001451874733902514, 0.0004743032332044095, -0.02631477639079094, -0.0031227979343384504, -0.003354518674314022, 0.02309965342283249, 0.01849420554935932, -0.015568731352686882, -0.004352003801614046, -0.023345855996012688, 0.007168857846409082, -0.017350085079669952, 0.021216923370957375, 0.002952628070488572, -0.0010364068439230323, 0.005268024280667305, -0.01186844240874052, 0.021144509315490723, -0.011839477345347404, 0.031195392832159996, 0.01992797665297985, -0.01391048077493906, -0.015438389033079147, 0.011709134094417095, -0.0345553420484066, -0.0040080430917441845, -0.01199154369533062, -0.00909503549337387, 0.02015969716012478, 0.033251915127038956, 0.007143513299524784, 0.014460816979408264, 0.01672733575105667, 0.0005277075688354671, -0.028023716062307358, 0.0016120878281071782, 0.017060432583093643, 0.019739704206585884, 0.04263659939169884, 0.00862435344606638, -0.0040370081551373005, 0.02131829969584942, 0.02543134242296219, -0.01878385618329048, -0.012230506166815758, 0.01846523955464363, 0.028574053198099136, 0.005358539987355471, -0.014735985547304153, -0.01869696006178856, -0.003895803587511182, -0.015742521733045578, 0.012208782136440277, -0.008175394497811794, -0.021202439442276955, -0.012006026692688465, 0.005003717727959156, -0.03359949588775635, -0.009840887039899826, 0.016220446676015854, -0.000837271916680038, 0.01901557669043541, -0.0172776710242033, -0.001495322328992188, -0.04188350960612297, -0.006021116394549608, 0.009087794460356236, -0.0038632177747786045, 0.004261487629264593, -0.013287731446325779, -0.01480839867144823, -0.032904334366321564, 0.03015265055000782, 0.0031897795852273703, 0.0031608145218342543, 0.010919836349785328, -0.014844604767858982, -0.033483635634183884, -0.008218841627240181, 0.019232815131545067, 0.023331373929977417, -0.0011821374064311385, 0.0012636017054319382, -0.016510097309947014, -0.00754540367051959, -0.002293672412633896, -0.01933419145643711, 0.016032172366976738, 0.0006046461057849228, 0.02343275211751461, -0.02695200964808464, 0.004938546568155289, -0.0219410490244627, -0.007697470486164093, 0.02805268205702305, -0.007950915023684502, 0.024489976465702057, 0.010941559448838234, -0.0004706825711764395, 0.009978470392525196, -0.015018395148217678, 0.03797322139143944, 0.010572254657745361, -0.014844604767858982, -0.0011649393709376454, -0.0084795281291008, -0.014562195166945457, -0.017422497272491455, 0.007690229453146458, 0.013418074697256088, 0.0034884819760918617, -0.006010254379361868, 0.005691638682037592, -0.03487395867705345, -0.02631477639079094, 0.02425825595855713, -0.007234029471874237, 0.0009341238765046, -0.022114839404821396, 0.014822880737483501, -0.02573547512292862, 0.025807887315750122, -0.008421598002314568, -0.02107209712266922, -0.044577259570360184, -0.005076130852103233, -0.026459602639079094, 0.008421598002314568, 0.013128423132002354, -0.020072801038622856, 0.03713323548436165, -0.007755400612950325, -0.0007245796150527894, -0.02952990122139454, 0.028878187760710716, -0.007219546940177679, 0.00556129589676857, -0.008501251228153706, -0.007552645169198513, -0.004837168846279383, -0.0034739994443953037, -0.01753835752606392, 0.011332588270306587, -0.008740213699638844, -0.007994363084435463, 0.005007338710129261, -0.007096445187926292, -0.007784365676343441, -0.011405001394450665, -0.032035380601882935, -0.03218020498752594, -0.006386800669133663, 0.012556362897157669, 0.018016280606389046, 0.019203849136829376, -0.0014482541009783745, 0.00024145111092366278, 0.010420188307762146, -0.029718173667788506, -0.029660243541002274, -0.023910675197839737, 0.0015586834633722901, 0.015481836162507534, 0.02398308739066124, 0.025344446301460266, 0.033541563898324966, 0.002947197062894702, 0.020898306742310524, 0.025880301371216774, -0.0009748560260049999, -0.008986416272819042, 0.012194299139082432, 0.003054005792364478, 0.004250625614076853, -0.008465045131742954, -0.0012989029055461287, 0.016336306929588318, 0.012643258087337017, -0.02078244648873806, 0.017958350479602814, 0.01878385618329048, -0.018827304244041443, -0.0398559533059597, -0.02690856158733368, -0.05943634733557701, -0.003269433742389083, 0.02929818071424961, 0.013526692986488342, 0.004174592439085245, -0.02871887944638729, -0.008305737748742104, 0.0202465932816267, 0.012990839779376984, -0.007429543416947126, -0.013526692986488342, 0.024475494399666786, 0.006777829024940729, 0.020941754803061485, -0.0021597088780254126, 0.017147328704595566, -0.024084465578198433, 0.006097149569541216, -0.0339181125164032, 0.01139051839709282, 0.005593881476670504, 0.005470779724419117, 0.044577259570360184, 0.04278142750263214, -0.007179719861596823, -0.0006589555996470153, 0.00017311162082478404, 0.009565718472003937, -0.0286899134516716, -0.010876388289034367, -0.022708624601364136, -0.010782252065837383, -0.024953417479991913, -0.007422302383929491, -0.02751682884991169, 0.012237747199833393, -0.008595388382673264, -0.011144314892590046, 0.029776103794574738, -0.0063505941070616245, -0.01787145622074604, 0.022361043840646744, -0.014917016960680485, 0.0469234324991703, 0.010673632845282555, 0.03238296136260033, 0.024736180901527405, 0.012259471230208874, 0.014917016960680485, 0.004703205078840256, -0.015525284223258495, 0.006372318137437105, 0.004399071913212538, 0.028240954503417015, -0.007798848208039999, -0.02107209712266922, 0.012404296547174454, -0.008899521082639694, -0.02344723418354988, -0.011694652028381824, 0.03403397276997566, 0.025025831535458565, 0.04880616441369057, -0.016799747943878174, 0.006035598926246166, 0.0025978058110922575, -0.0012373521458357573, 0.0006286327843554318, 0.0002148620696971193, -0.0024547907523810863, -0.020912788808345795, -0.0031137464102357626, 0.006926275324076414, 0.04622827097773552, 0.00571698322892189, 0.010717079974710941, 0.010043642483651638, -0.005152164027094841, 0.003455896396189928, 0.030500231310725212, -0.00818263553082943, -0.005000097211450338, 0.013135665096342564, 0.009189172647893429, -0.01810317672789097, 0.02315758354961872, -0.013483245857059956, 0.008102981373667717, 0.010398464277386665, -0.0136208301410079, 0.03884217515587807, -0.01700250245630741, 0.0004046059912070632, 0.016466649249196053, -0.006868345197290182, 0.0011124401353299618, -0.0295733492821455, -0.010427429340779781, 0.013425315730273724, 0.004569241777062416, 0.0017342843348160386, 0.005463538691401482, -0.0029996964149177074, -0.0284437108784914, -0.007114548236131668, 0.025692027062177658, -0.018523169681429863, 0.0027715961914509535, -0.011904648505151272, 0.017625251784920692, -0.03652497008442879, -0.022071393206715584, 0.0005354014574550092, -0.004514932166785002, 0.01110086776316166, 0.02108657918870449, 0.0020800549536943436, -0.026995455846190453, 0.02278103679418564, -0.011462931521236897, 0.016611475497484207, 0.0120132677257061, 0.03241192549467087, -0.04362141340970993, 0.00015263240493368357, -0.0033038295805454254, -0.013526692986488342, 0.005365781486034393, 0.0037908051162958145, -0.04014560207724571, -0.025518236681818962, -0.0004046059912070632, -0.004518552683293819, -0.001393944607116282, 0.003946492448449135, 0.0010698976693674922, 2.7423484425526112e-05, 0.010789493098855019, -0.00416735140606761, -0.0486903041601181, 0.021883118897676468, 0.007266615051776171, -0.01303428690880537, 0.005713362246751785, 0.00120476633310318, 0.011274658143520355, -0.02108657918870449, 0.007632299326360226, -0.0066728307865560055, -0.034091901034116745, -0.00849401019513607, -0.0037980463821440935, 0.005698879715055227, -0.00760333426296711, 0.01520666852593422, -0.013113941065967083, -0.02842922881245613, -0.028936117887496948, 0.009862610138952732, -0.01522115059196949, 0.008689524605870247, 0.005195611622184515, 0.02076796442270279, 0.0016129929572343826, -0.009717784821987152, -0.010000194422900677, -0.0069081722758710384, 0.006039219442754984, 0.033512599766254425, -0.04176764935255051, -0.005430953111499548, 0.006404903717339039, 0.059552207589149475, 0.02256379835307598, -0.032672613859176636, -0.032643646001815796, 0.0003025493351742625, -0.021550020202994347, -0.016756299883127213, -0.005756810307502747, 0.018262485042214394, 0.012129127979278564, 0.022361043840646744, 0.009630889631807804, 0.008284013718366623, -0.000963088998105377, 0.03403397276997566, -0.028892669826745987, 0.025706510990858078, -0.0037328749895095825, -0.007444025948643684, 0.003305640071630478, -0.0016012259293347597, -0.03041333705186844, 0.010253638960421085, 0.009254343807697296, -0.01097776647657156, -0.01070259790867567, 0.03420776128768921, -0.0009920541197061539, -0.009906058199703693, 0.0007969923317432404, -0.023548612371087074, 0.00696610240265727, 0.018001798540353775, 0.008812625892460346, -0.03238296136260033, -0.0037545987870544195, 0.01958039589226246, 0.012107403948903084, 0.02309965342283249, 0.008363667875528336, 0.007205064408481121, -0.01039122324436903, 0.025518236681818962, 0.006839380133897066, -0.023244477808475494, -0.0025181518867611885, 0.027285106480121613, 0.01878385618329048, 0.015047360211610794, 0.020623138174414635, 0.011665686964988708, 0.01903005875647068, -0.010775010101497173, 0.01788593828678131, 0.001505279098637402, 0.011955337598919868, -0.0020655724219977856, 0.013946686871349812, -0.04092765972018242, 0.010673632845282555, -0.04069593921303749, 0.0021072097588330507, -0.014670814387500286, -0.025286516174674034, -0.019435569643974304, -0.012824290432035923, -0.01930522732436657, 0.016915608197450638, -0.015481836162507534, -0.0228244848549366, -0.008175394497811794, 0.012693947181105614, -0.00021746440324932337, 0.0020565208978950977, -0.001454590237699449, -0.002300913678482175, -0.015105290338397026, 0.008291254751384258, -0.004804582800716162, -0.01988452859222889, -0.04058007895946503, 0.016799747943878174, 0.01900109462440014, -0.00034011341631412506, 0.018899716436862946, 0.1970784217119217, 0.010985007509589195, 0.007364372257143259, 0.027951303869485855, -0.0027571136597543955, 0.004362865351140499, 0.0036115837283432484, 0.02719821222126484, -0.00965985469520092, 0.013229801319539547, 0.005803878419101238, 0.017132846638560295, -0.024098947644233704, 0.0029852138832211494, 0.024721696972846985, -0.042260054498910904, -0.04924064129590988, -0.034381553530693054, -0.028878187760710716, -0.013924962840974331, 0.023548612371087074, -0.01480115670710802, -0.015177703462541103, -0.02110106311738491, 0.005112336948513985, -0.0266044270247221, -0.014692537486553192, -0.0216948464512825, 0.006136976648122072, 0.005235438700765371, -0.009015382267534733, 0.0009467961499467492, 0.012281195260584354, 0.01347600482404232, 0.004337521269917488, -0.027400968596339226, 0.004743032157421112, -0.020072801038622856, 0.007201443426311016, 0.017118362709879875, -0.01128189917653799, 0.007422302383929491, 0.010130537673830986, -0.02841474488377571, -0.011962578631937504, -0.008530216291546822, -0.014554954133927822, 0.0039790780283510685, 0.0204927958548069, 0.044084854423999786, -0.02873336151242256, 0.0024964280892163515, 0.029689209535717964, 0.01700250245630741, -0.020347969606518745, 0.0022013462148606777, 0.008233324624598026, 0.01904454082250595, 0.024533424526453018, 0.02782096154987812, -0.022375525906682014, 0.020550725981593132, 0.005963186267763376, 0.029370592907071114, -0.025315482169389725, 0.003392535261809826, -0.017784560099244118, 0.0008811721345409751, 0.02364998869597912, 0.017654217779636383, 0.0015279080253094435, -0.023302407935261726, -0.016799747943878174, -0.02577892318367958, -0.010695356875658035, -0.02399757131934166, 0.03249882161617279, 0.014373921789228916, 0.022114839404821396, 0.027357520535588264, 0.008827108889818192, 0.008428839035332203, -0.015337010845541954, 0.03429465740919113, -0.012541880831122398, -0.0020094525534659624, 0.011086384765803814, -0.01962384395301342, -0.019479017704725266, -0.004826306831091642, 0.007972639054059982, -0.025952713564038277, 0.0037020996678620577, -0.02250586822628975, -0.008363667875528336, -0.015119773335754871, 0.00979019794613123, 0.005916118156164885, -0.0006965196807868779, -0.015003912150859833, -0.02079692855477333, 0.06285423040390015, -0.008008845150470734, 0.0098046800121665, -0.026474084705114365, -0.004960270132869482, 0.007856778800487518, 0.0018700581276789308, 0.010724321939051151, 0.013635312207043171, -0.009565718472003937, -0.03475809842348099, -0.02253483422100544, -0.01694457232952118, 0.006495419889688492, -0.0010680874111130834, 0.005626467056572437, -0.005068889353424311, 0.006596797611564398, -0.005796636920422316, 0.009015382267534733, -0.008146429434418678, -0.011694652028381824, 0.02863198332488537, -0.021767258644104004, 0.006140597630292177, -0.0006191286374814808, -0.012636017054319382, -0.011057419702410698, 0.013628071174025536, 0.027024421840906143, -0.027444414794445038, 0.008675042539834976, 0.02605409175157547, 0.009840887039899826, -0.008827108889818192, 0.020029354840517044, -0.021607952192425728, 0.0007426828378811479, 0.025272034108638763, 0.002257466083392501, 0.017784560099244118, 0.012737395241856575, -0.022100357338786125, -0.0030938328709453344, -0.028878187760710716, 0.00905882939696312, 0.004033387638628483, -0.013092217035591602, -0.010601219721138477, -0.0025489272084087133, 0.01124569308012724, -0.0016501045320183039, 0.002898318460211158, 0.0036025322042405605, -0.0272416602820158, -0.021506574004888535, -0.0021542778704315424, 0.0026991835329681635, 0.0011332588037475944, -0.04153592884540558, -0.017132846638560295, 0.006473695859313011, 0.007378854788839817, -0.043997958302497864, -0.013113941065967083, -0.18444964289665222, 0.017451461404561996, 0.03811804950237274, -0.04648895561695099, 0.02252035215497017, -0.009015382267534733, -0.00075988081516698, 0.002901939209550619, -0.014294267632067204, 0.0090805534273386, 0.023809297010302544, 0.001720706932246685, -0.0321512408554554, -0.017451461404561996, 0.013113941065967083, -0.01958039589226246, -0.0062347338534891605, 0.00935572199523449, 0.017465945333242416, 0.0009549425449222326, 0.020970718935132027, -0.0414779968559742, -0.015901830047369003, 0.010427429340779781, 0.005814740434288979, 0.0059595657512545586, -0.003347277408465743, 0.007031273562461138, 0.00571698322892189, -0.0266044270247221, -0.0028928876854479313, -0.013425315730273724, 0.048719268292188644, 0.007284718099981546, 0.008704007603228092, 0.0017125605372712016, 0.027994751930236816, -0.013961169868707657, -0.007353510241955519, 0.015670109540224075, 0.010021918453276157, 0.03562705218791962, 0.012172576040029526, -0.0010644667781889439, -0.017408015206456184, 0.007415060885250568, 0.035887736827135086, -0.02638719044625759, 0.00019291197531856596, -0.027458898723125458, 0.026503050699830055, -0.008320219814777374, 0.007740918081253767, -0.011774306185543537, 0.010470877401530743, 0.006459213327616453, 0.011325347237288952, 0.030789881944656372, 0.006792311556637287, -0.027009939774870872, -0.004341141786426306, -0.01963832601904869, -0.010420188307762146, 0.019797634333372116, 0.002847629599273205, -0.03099263831973076, -0.02631477639079094, 0.0263582244515419, -0.02514169178903103, -0.0008137378026731312, -0.011607756838202477, 0.024446528404951096, -0.017610769718885422, -0.005467159207910299, 0.023027241230010986, 0.018349379301071167, -0.02986299991607666, 0.002988834399729967, 0.050804752856492996, -0.023273443803191185, -0.03374432027339935, 0.037278059870004654, -0.02488100528717041, 0.007009549997746944, -0.006209389306604862, 0.013577382080256939, -0.012339125387370586, 0.01053604856133461, -0.007208684924989939, -0.008986416272819042, 0.003714771708473563, -0.026749253273010254, 0.005293368827551603, -0.014830121770501137, -0.02517065592110157, 0.03652497008442879, -0.0002260634209960699, 0.005438194144517183, 0.021158993244171143, -0.0020782446954399347, 0.007288338616490364, 0.022954827174544334, -0.02312861755490303, -0.00033649278338998556, 0.025692027062177658, 0.0006431153160519898, -0.026532014831900597, 0.0009205465321429074, 0.02721269428730011, -0.0017505771247670054, -0.0006883732858113945, 0.01637975312769413, 0.014402886852622032, 0.01084742322564125, -0.020376935601234436, 0.028269920498132706, -0.02046382986009121, -0.009471582248806953, 0.015119773335754871, 0.00818263553082943, 0.05682948976755142, 0.0031227979343384504, 0.00446786405518651, -0.00016089198470581323, -0.020376935601234436, -0.03142711520195007, -0.11464379727840424, -0.01493149995803833, -0.010869147256016731, -0.0005467159207910299, -0.015177703462541103, -0.036119457334280014, -0.032614681869745255, 0.012100162915885448, -0.038784243166446686, 0.010014677420258522, -0.0035898599307984114, -0.04249177500605583, -0.001746956491842866, 0.00022810001973994076, -0.0022375525441020727, -0.00266659795306623, -0.0069226548075675964, -0.02134726569056511, -0.0009277877979911864, 0.014301509596407413, -0.014989430084824562, -0.03374432027339935, 0.012085680849850178, 0.011079143732786179, -0.012006026692688465, -0.006868345197290182, -0.03304915875196457, 0.029689209535717964, 0.017741112038493156, 0.0032277964055538177, 0.017958350479602814, -0.01958039589226246, -0.012281195260584354, 0.009674337692558765, -0.0033726217225193977, -0.0193631574511528, -0.014685296453535557, -0.0153514938428998, 0.00526078324764967, -0.014149442315101624, -0.008465045131742954, -0.005583019461482763, 0.019261779263615608, -0.014707020483911037, -0.04197040572762489, -0.0067452434450387955, -0.025402376428246498, 0.034381553530693054, 0.03533739969134331, -0.01904454082250595, -0.038494594395160675, -0.021564504131674767, 0.0006698174984194338, -0.017958350479602814, 0.026271330192685127, 0.016292858868837357, 0.031774695962667465, -0.0009965798817574978, -0.008906763046979904, 0.008175394497811794, -0.011730858124792576, 0.0017433358589187264, -0.01036949921399355, 0.033222950994968414, -0.0021017787512391806, -0.014011858031153679, -0.01987004652619362, 0.023780332878232002, -0.002098158234730363, 0.003269433742389083, -0.002869353396818042, -0.01157879177480936, -0.009232619777321815, 0.005112336948513985, -0.020145215094089508, -0.013823585584759712, -0.019855564460158348, -0.033222950994968414, 0.022172769531607628, -0.017031468451023102, -0.030558161437511444, 0.010318810120224953, -0.011448448523879051, -0.03493189066648483, -0.026112021878361702, 0.014960465021431446, 0.0042868321761488914, 0.0069371373392641544, -0.007480232510715723, -0.05541020259261131, 0.009667095728218555, 0.0026412534061819315, 0.021839672699570656, -0.0462862029671669, 0.0016935521271079779, 0.009601924568414688, -0.015394940972328186, -0.006604038644582033, 0.005242679733783007, 0.013092217035591602, -0.03768357262015343, -0.011470172554254532, -0.07461404800415039, 0.040290430188179016, 0.013439797796308994, 0.007009549997746944, -0.004815444815903902, -0.045272424817085266, -0.006785070523619652, -0.02602512575685978, -0.005876291077584028, 0.026865113526582718, -0.040522150695323944, -0.010210191830992699, 0.0019424707861617208, -0.0026629772037267685, -0.017972832545638084, -0.007791607175022364, 0.02716924622654915, -0.01665492169559002, 0.02983403392136097, 0.003530119312927127, 0.011622238904237747, 0.030789881944656372, 0.017118362709879875, 0.025243069976568222, -0.028603019192814827, -0.013063251972198486, 0.0022176390048116446, 0.012216023169457912, 0.0020565208978950977, -9.996347944252193e-05, 0.031195392832159996, -0.030210580676794052, -0.027690619230270386, 0.02428722195327282, 0.01636527106165886, -0.006194906774908304, 0.02367895469069481, 0.015554249286651611, 0.014815639704465866, 0.025996161624789238, -0.008320219814777374, -0.03510567918419838, 0.0037328749895095825, -0.043795205652713776, -0.017422497272491455, 0.0005272550042718649, -0.02574995718896389, 0.027690619230270386, 0.033802252262830734, -0.004927684552967548, -0.006303525995463133, -0.0012020509457215667, -0.041101451963186264, -0.06407076120376587, -0.028805773705244064, -0.020710034295916557, 0.02693752571940422, -0.00011574718519113958, -0.005003717727959156, 0.03722013160586357, 0.010333293117582798, -0.0002584228350315243, 0.019725220277905464, -0.005648191086947918, -0.0219410490244627, -0.013215318322181702, -0.020710034295916557, -0.007567127700895071, 0.03638014197349548, -0.009261584840714931, 0.0015985104255378246, -0.019507983699440956, -0.008863314986228943, 0.0076757469214499, -0.0033671907149255276, -0.027067869901657104, -0.003533740062266588, 0.026691323146224022, -0.022694142535328865, 0.021303817629814148, 0.0039971815422177315, -0.014649090357124805, -0.005992151331156492, 0.03452637791633606, 0.023896193131804466, 0.01693009026348591, -0.009261584840714931, -0.005948703736066818, 0.015959760174155235, -0.024707214906811714, -0.01404082402586937, 0.022143805399537086, 0.0005091518396511674, -0.0021253128070384264, -6.805662997066975e-05, -0.004833547864109278, -0.002364274812862277, 0.0017369997221976519, 0.02454790659248829, 0.02722717635333538, -0.019797634333372116, 0.004337521269917488, 0.013077734969556332, -0.0015967001672834158, -0.018943164497613907, 0.005525089334696531, -0.017451461404561996, -0.028588535264134407, -7.246927998494357e-05, 0.012121886946260929, -0.003794425865635276, 0.01083294115960598, 0.012882220558822155, 0.03099263831973076, -0.017147328704595566, 0.022752072662115097, 0.0035319298040121794, -0.021810706704854965, -0.03837873414158821, -0.0031734867952764034, 0.004120282828807831, -0.0005811119335703552, 0.025402376428246498, 0.013266007415950298, 0.040203534066677094, 0.03426569327712059, -0.011651203967630863, -0.029949894174933434, 0.020058318972587585, 0.0025996160693466663, -0.003644169308245182, -0.016234928742051125, -0.012346366420388222, -0.018276967108249664, -0.015699073672294617, 0.0096815787255764, -0.03310709074139595, 0.02052175998687744, 0.0037256337236613035, 0.0774526298046112, 0.02137622982263565, -0.01536597590893507, 0.00578939588740468, -0.02609753981232643, 0.016539061442017555, 0.010470877401530743, 0.0010228294413536787, -0.01575700379908085, -0.022346561774611473, -0.02053624391555786, -0.00922537874430418, -0.033773284405469894, -0.00774815957993269, -0.01286773756146431, 0.016539061442017555, 0.013200836256146431, -0.008421598002314568, 0.012831531465053558, 0.017408015206456184, 0.006401283200830221, 0.029660243541002274, -0.009073312394320965, -0.0005055312067270279, -0.019479017704725266, -0.006531625986099243, 0.006039219442754984, 0.009362963028252125, -0.007013170514255762, -0.03510567918419838, 0.029689209535717964, -0.002789699472486973, -0.03687255084514618, -0.01142672449350357, -0.022158287465572357, 0.021014166995882988, -0.024388598278164864, -0.005724224261939526, -0.007154375314712524, 0.02131829969584942, 0.00891400407999754, -0.0037256337236613035, -0.026778219267725945, -0.029689209535717964, 0.018074210733175278, 0.0019641947001218796, -0.0006399473058991134, -0.019131436944007874, -0.02783544361591339]}}}})" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Execute a find_one operation on the SuperDuperDB collection\n", "db.execute(collection.find_one())" @@ -378,10 +2475,453 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "92948823-0d18-4e1b-b103-f226d6b09e52", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:44:38.63\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m124 \u001b[0m | \u001b[1mloading of vectors of vector-index: 'my-index'\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:44:38.63\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m164 \u001b[0m | \u001b[1m\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading vectors into vector-table...: 983it [00:01, 749.49it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:44:39.96\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.vector_search.in_memory\u001b[0m:\u001b[36m67 \u001b[0m | \u001b[34m\u001b[1m[0.62572246 0.66612508 0.69010594 0.6641047 0.66425427 0.7387817\n", + " 0.6881855 0.68607405 0.69351733 0.71976792 0.71496523 0.66004596\n", + " 0.66627489 0.65562489 0.71871274 0.70058766 0.70878886 0.66476047\n", + " 0.70292219 0.66922394 0.6674502 0.70775891 0.71356059 0.65153291\n", + " 0.67515455 0.69244336 0.75275027 0.61761995 0.68941064 0.67163621\n", + " 0.66896656 0.74804012 0.75044728 0.72637602 0.66834304 0.68875735\n", + " 0.67349785 0.65792681 0.65807155 0.65934245 0.74187581 0.69571654\n", + " 0.63766755 0.67613315 0.67667263 0.68792644 0.71179008 0.6925923\n", + " 0.65451716 0.70675457 0.67543518 0.68082221 0.62976182 0.64021369\n", + " 0.66461855 0.76408112 0.7258661 0.67064748 0.70942715 0.70577585\n", + " 0.71165578 0.70232087 0.66330334 0.70614552 0.68984336 0.65287489\n", + " 0.62330009 0.64761084 0.69426671 0.71117962 0.64113745 0.65720168\n", + " 0.70425184 0.69259859 0.69803277 0.63437735 0.68434545 0.75890446\n", + " 0.68144215 0.6790502 0.66547327 0.6703478 0.69788647 0.69240949\n", + " 0.69811098 0.67258376 0.65640757 0.70016537 0.6326295 0.67490967\n", + " 0.69054154 0.68913121 0.7463232 0.66180606 0.73486487 0.64426172\n", + " 0.68533253 0.64172243 0.6775094 0.7182731 0.73362563 0.62052512\n", + " 0.75174814 0.68690608 0.62810584 0.66798085 0.70047913 0.74326429\n", + " 0.67650063 0.65545448 0.69701779 0.70631725 0.65668188 0.65828495\n", + " 0.70723808 0.68630352 0.65670853 0.76419194 0.67367568 0.6837155\n", + " 0.67568946 0.6757544 0.64296095 0.724148 0.72480762 0.70454756\n", + " 0.74273848 0.70173168 0.65516886 0.69996938 0.68447469 0.72667842\n", + " 0.70457782 0.70679858 0.66080889 0.66211467 0.73087654 0.71532872\n", + " 0.69440778 0.66344632 0.66438992 0.67101899 0.65054851 0.66238932\n", + " 0.71066536 0.73475802 0.70008229 0.69746491 0.67162837 0.67325249\n", + " 0.73688821 0.68235573 0.67193247 0.65342583 0.62867282 0.65365279\n", + " 0.66728368 0.66014675 0.64198057 0.67809099 0.73787676 0.70080593\n", + " 0.70684821 0.666458 0.66535788 0.75439719 0.69964478 0.70889911\n", + " 0.74907977 0.68546666 0.69182844 0.70063853 0.71894176 0.72617437\n", + " 0.68856904 0.68702616 0.65069422 0.64210678 0.64700421 0.72882151\n", + " 0.66214332 0.65876388 0.65312832 0.67812758 0.7016204 0.6518603\n", + " 0.6840357 0.68071391 0.7061811 0.69466388 0.66389437 0.66892466\n", + " 0.64925317 0.67840119 0.66407401 0.66117613 0.70790259 0.67025687\n", + " 0.67335071 0.67990708 0.674767 0.67853907 0.69655752 0.6846491\n", + " 0.72411898 0.68083486 0.74570077 0.6699382 0.6904427 0.688291\n", + " 0.64239732 0.6785483 0.67430166 0.71663254 0.68242627 0.73326966\n", + " 0.7524398 0.65191352 0.72169305 0.68727077 0.70497971 0.67134837\n", + " 0.68891832 0.70556634 0.69668295 0.66578502 0.66118878 0.68978221\n", + " 0.72712458 0.68984047 0.68336118 0.71401771 0.73011286 0.68397506\n", + " 0.66778313 0.75696322 0.6515605 0.67820763 0.62324894 0.76297316\n", + " 0.69651441 0.68543029 0.70645384 0.70642637 0.66983557 0.68177347\n", + " 0.66600773 0.6651992 0.69732823 0.71393884 0.69930558 0.66286784\n", + " 0.67894832 0.67472134 0.67708869 0.69740162 0.75943274 0.65570056\n", + " 0.66840024 0.70299346 0.64415757 0.68932851 0.61794756 0.70532746\n", + " 0.68742905 0.66286741 0.69202498 0.73844742 0.64767351 0.66064703\n", + " 0.71089008 0.68513613 0.6837424 0.72433317 0.63688901 0.67048521\n", + " 0.74283859 0.72365131 0.65258552 0.66408135 0.6708781 0.66497191\n", + " 0.66292941 0.73592695 0.64955937 0.70068951 0.69815506 0.67600512\n", + " 0.68461703 0.70561577 0.70342559 0.71794584 0.68091586 0.65629835\n", + " 0.66347978 0.65173225 0.69993709 0.648105 0.71781421 0.66164594\n", + " 0.68618266 0.69192939 0.63042621 0.63734103 0.68679532 0.72772199\n", + " 0.71308567 0.66233807 0.63072642 0.72401533 0.68143639 0.68936285\n", + " 0.70190592 0.67897877 0.7109376 0.6950663 0.64515724 0.73946478\n", + " 0.69080486 0.7022327 0.67739744 0.64452817 0.64667237 0.66814577\n", + " 0.6461144 0.61719549 0.66428256 0.75036447 0.70934191 0.66918275\n", + " 0.66293106 0.64937713 0.66209735 0.69016526 0.71016972 0.64777743\n", + " 0.72521977 0.66757571 0.65704704 0.69714299 0.63759272 0.70785224\n", + " 0.66131579 0.69515285 0.69134578 0.68671774 0.69716027 0.63501135\n", + " 0.67705835 0.67720952 0.66689428 0.66903534 0.70073471 0.72301627\n", + " 0.64276337 0.73215524 0.66255018 0.68051743 0.67599605 0.72066276\n", + " 0.67132226 0.70484939 0.69985938 0.76992755 0.68093623 0.6990139\n", + " 0.66821022 0.70439571 0.77639947 0.69861191 0.71305581 0.70245261\n", + " 0.75695958 0.63643371 0.67078974 0.65404158 0.67480968 0.66491939\n", + " 0.74361702 0.74203309 0.70136713 0.69065626 0.64097369 0.65078198\n", + " 0.64594734 0.65286 0.7257487 0.683894 0.67929971 0.65554201\n", + " 0.68392804 0.73992382 0.74026204 0.66125837 0.71024832 0.64328947\n", + " 0.65089179 0.65064196 0.66702808 0.66497153 0.72450078 0.67388664\n", + " 0.6737244 0.70080338 0.70775917 0.67235435 0.70532386 0.66202167\n", + " 0.72556659 0.66741082 0.70402261 0.73666124 0.71019041 0.71728362\n", + " 0.68316841 0.66202395 0.72574088 0.68466104 0.69355503 0.68568494\n", + " 0.70740581 0.65927968 0.70566431 0.6732534 0.76712553 0.64930367\n", + " 0.64067631 0.68246391 0.62550988 0.69495216 0.68476763 0.6855675\n", + " 0.71415631 0.66703465 0.73468247 0.69249919 0.73499557 0.77073739\n", + " 0.73263763 0.64512245 0.74605921 0.6995949 0.6657236 0.79307637\n", + " 0.67030505 0.71806434 0.70562904 0.8172489 0.70488548 0.66584437\n", + " 0.68215482 0.67901112 0.71831156 0.74289583 0.66305767 0.64274471\n", + " 0.70259156 0.75363496 0.66321073 0.70522171 0.72338819 0.66581427\n", + " 0.67839586 0.70031752 0.73215526 0.65403911 0.66237238 0.68009931\n", + " 0.64689513 0.62612951 0.65339202 0.70264136 0.67262697 0.6638463\n", + " 0.71415587 0.68399402 0.68247428 0.65705757 0.67263776 0.69191307\n", + " 0.68702265 0.68079757 0.69388555 0.73938338 0.70896883 0.665672\n", + " 0.71657944 0.79654411 0.68752297 0.70370524 0.68725008 0.64490928\n", + " 0.71764233 0.66735883 0.67123291 0.67711406 0.68129917 0.6538176\n", + " 0.66460447 0.6427671 0.67726731 0.67587081 0.64452947 0.65980701\n", + " 0.68927819 0.69437727 0.64178276 0.72604243 0.74301202 0.65026607\n", + " 0.69960031 0.72714477 0.72306433 0.69372061 0.67223956 0.68265285\n", + " 0.65753971 0.72059248 0.7164672 0.69538079 0.72528026 0.741183\n", + " 0.67541887 0.67821577 0.667017 0.76882611 0.65789191 0.69031282\n", + " 0.68961664 0.67110379 0.65030372 0.76985169 0.62751003 0.6863302\n", + " 0.69467706 0.65174365 0.68504118 0.68124849 0.74376338 0.69560974\n", + " 0.69450114 0.64973411 0.71147088 0.75656902 0.64655202 0.61555991\n", + " 0.80440692 0.69196222 0.69184247 0.69572914 0.64592618 0.68692619\n", + " 0.67186372 0.70978758 0.6667474 0.68144513 0.71816576 0.75655329\n", + " 0.73319393 0.65172712 0.68561696 0.72223345 0.72894783 0.68971945\n", + " 0.64888164 0.69556404 0.65352368 0.67028772 0.63745462 0.70994001\n", + " 0.66662694 0.66033992 0.71418499 0.67798979 0.65090111 0.72289184\n", + " 0.70861019 0.64684766 0.65268996 0.67768018 0.66982729 0.64375406\n", + " 0.7381823 0.66512134 0.67207963 0.65698109 0.66987004 0.74507465\n", + " 0.70829083 0.73115669 0.69147724 0.73567408 0.6949085 0.70507804\n", + " 0.69073783 0.68703216 0.68817255 0.68378486 0.74462949 0.64422826\n", + " 0.69453171 0.70119088 0.68096242 0.70815216 0.69515268 0.69449748\n", + " 0.69868559 0.65613695 0.63710851 0.69650631 0.65150221 0.65258383\n", + " 0.69866458 0.77187294 0.67733868 0.71698997 0.70279669 0.6458377\n", + " 0.65316096 0.68975902 0.7144736 0.74460312 0.66998771 0.65953955\n", + " 0.72839424 0.64893391 0.6710787 0.65644755 0.67869013 0.64523525\n", + " 0.65533438 0.66768918 0.65839311 0.64552119 0.69964152 0.70993173\n", + " 0.73190973 0.73411508 0.69560393 0.64908395 0.70372554 0.7104947\n", + " 0.68266755 0.78139777 0.6865067 0.72078126 0.66013383 0.73025025\n", + " 0.65147458 0.71029056 0.67260928 0.69752255 0.6697361 0.65305192\n", + " 0.70716732 0.68511884 0.6979618 0.70167638 0.6559776 0.65738547\n", + " 0.69835536 0.66801523 0.68981576 0.64993054 0.66164947 0.65291698\n", + " 0.78474894 0.69394128 0.6624797 0.68060226 0.70705804 0.65270378\n", + " 0.65232701 0.68503596 0.65204055 0.69850143 0.69247329 0.70400278\n", + " 0.65464012 0.73349871 0.66249428 0.70701401 0.65066885 0.72112887\n", + " 0.68916005 0.66426282 0.66343046 0.65203917 0.69562685 0.63711397\n", + " 0.65715283 0.69227025 0.69971993 0.72884238 0.74495437 0.68204199\n", + " 0.63671152 0.70944373 0.72361048 0.637715 0.71792657 0.64584756\n", + " 0.67340533 0.6620145 0.67588175 0.64380468 0.70427294 0.69438692\n", + " 0.69403342 0.73059165 0.66451502 0.65855364 0.68379844 0.70184217\n", + " 0.67957664 0.65838256 0.77358674 0.66707596 0.66224698 0.67241306\n", + " 0.64960307 0.64040768 0.71527545 0.63227699 0.72972971 0.6465436\n", + " 0.6481832 0.7249453 0.71696945 0.67977059 0.6788216 0.69191673\n", + " 0.73441852 0.70369808 0.66908112 0.77269828 0.65988872 0.6414618\n", + " 0.67897596 0.66360572 0.67546138 0.71676325 0.72677913 0.7356211\n", + " 0.67285671 0.66786335 0.65839913 0.6568189 0.66473534 0.65331387\n", + " 0.69135237 0.66769133 0.69243242 0.656889 0.72185694 0.62091583\n", + " 0.63545114 0.68723264 0.71597187 0.64603061 0.78079907 0.74979968\n", + " 0.65226625 0.67397049 0.71954466 0.64653953 0.72777438 0.70346286\n", + " 0.704479 0.65429256 0.664642 0.75105728 0.68299983 0.6631839\n", + " 0.65278594 0.72548934 0.70772217 0.68511671 0.68027601 0.66429005\n", + " 0.61815129 0.62600092 0.65694255 0.64207045 0.69562056 0.70715871\n", + " 0.73718687 0.67031506 0.67077077 0.68254651 0.66184062 0.73236914\n", + " 0.69633011 0.64642152 0.72985809 0.70971769 0.69793378 0.6715261\n", + " 0.64654756 0.6589372 0.65506217 0.69736535 0.64184235 0.64000941\n", + " 0.6710429 0.69637313 0.66889072 0.67819063 0.69747557 0.68574889\n", + " 0.64624877 0.64590315 0.71742181 0.69330927 0.72135492 0.67735577\n", + " 0.7087298 0.66618865 0.6592837 0.64473411 0.69343129 0.70233301\n", + " 0.69450639 0.65272485 0.68402375 0.68458883 0.64213558 0.67710751\n", + " 0.63728558 0.68093957 0.68575514 0.65937282 0.75851719 0.64968554\n", + " 0.66597476 0.70340697 0.6905193 0.69112923 0.69697268 0.6681604\n", + " 0.68294159 0.68492749 0.64949319 0.6504996 0.72518332 0.72950762\n", + " 0.69070742 0.70498911 0.65789011 0.6565266 0.69132888 0.63070973\n", + " 0.68488001 0.65776964 0.67348489 0.68368273 0.72021915 0.62877585\n", + " 0.64687486 0.65681776 0.64417549 0.66711086 0.68097919 0.69086348\n", + " 0.64373215 0.67972628 0.6692761 0.7084466 0.68606406 0.69413985\n", + " 0.6759207 0.68824497 0.65584151 0.66244591 0.67865425 0.68092672\n", + " 0.63941477 0.63905969 0.69064669 0.63079667 0.66768906 0.68012621\n", + " 0.66791466 0.70499627 0.66312639 0.69973572 0.68246836 0.67317524\n", + " 0.67170536 0.7092341 0.72134728 0.72894986 0.67180314 0.65273761\n", + " 0.70545277 0.67150341 0.6730667 0.67095319 0.68515915 0.66603001\n", + " 0.69491658 0.68274484 0.70394751 0.71344861 0.71696394 0.7248458\n", + " 0.72746865 0.72822967 0.74562195 0.75013904 0.75191389 0.74493898\n", + " 0.72158964 0.70984805 0.71146037 0.68121444 0.66530319 0.66158228\n", + " 0.66920861 0.67701102 0.66718749 0.67055146 0.65511662 0.66055939\n", + " 0.65284616 0.65151032 0.65650926 0.65382968 0.64762833 0.63370911\n", + " 0.62510389 0.6548499 0.66103844 0.7126882 0.73738314 0.74344834\n", + " 0.7288182 0.75044797 0.7517916 0.77354298 0.75984068 0.77665645\n", + " 0.77329896 0.77463911 0.79089675 0.77857685 0.78882675 0.75917028\n", + " 0.77762852 0.77965138 0.78688391 0.78340419 0.77608417 0.76058581\n", + " 0.75117185 0.76356589 0.77525981 0.75873409 0.71281684 0.72668484\n", + " 0.72805032 0.71625659 0.70190359 0.7044763 0.69118161 0.73736092\n", + " 0.72322689 0.73852448 0.73969658 0.74403389 0.73967889 0.73753075\n", + " 0.74560766 0.69778185 0.71473284 0.69957765 0.69697148 0.7111861\n", + " 0.68665508 0.7119279 0.71142802 0.71764529 0.72665224]\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "The operand of this function call is always an instance of a descendant of `Component`, but may also\n", + "contain itself many other `Component` descendant instances.\n", + "\n", + "For instance, creating a `VectorIndex` involves also \n", + "creating a `Listener` and a `Model` inline.\n", + "\n", + "```python\n", + "db.add(\n", + " VectorIndex(\n", + " 'my-index'\n", + " indexing_listener=Listener(\n", + " model=model,\n", + " key='txt',\n", + " select=my_collection.find(),\n", + " ),\n", + " )\n", + ")\n", + "```\n", + "\n", + "Read more about the `VectorIndex` concept [here](25_vector_search.mdx).\n", + "\n", + "---\n", + "sidebar_position: 7\n", + "---\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "For instance, creating a `VectorIndex` involves also \n", + "creating a `Listener` and a `Model` inline.\n", + "\n", + "```python\n", + "db.add(\n", + " VectorIndex(\n", + " 'my-index'\n", + " indexing_listener=Listener(\n", + " model=model,\n", + " key='txt',\n", + " select=my_collection.find(),\n", + " ),\n", + " )\n", + ")\n", + "```\n", + "\n", + "Read more about the `VectorIndex` concept [here](25_vector_search.mdx).\n", + "\n", + "---\n", + "sidebar_position: 7\n", + "---\n", + "\n", + "# Vector-search\n", + "\n", + "SuperDuperDB allows users to implement vector-search in their database by either " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + " )\n", + ")\n", + "```\n", + "\n", + "Read more about the `VectorIndex` concept [here](25_vector_search.mdx).\n", + "\n", + "---\n", + "sidebar_position: 7\n", + "---\n", + "\n", + "# Vector-search\n", + "\n", + "SuperDuperDB allows users to implement vector-search in their database by either \n", + "using in-database functionality, or via a sidecar implementation with `lance` and `FastAPI`.\n", + "\n", + "## Philosophy\n", + "\n", + "In `superduperdb`, from a user point-of-view vector-search isn't a completely different beast than other ways of \n", + "using the system:\n", + "\n", + "- The vector-preparation is exactly the same as preparing outputs with any model, \n", + " with the special difference that the outputs are vectors, arrays or tensors.\n", + "- Vector-searches are just another type of database query which happen to use \n", + " the stored vectors.\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "\n", + "Here is an example in which vectors are prepared using a \n", + "convolutional neural network over images, \n", + "and these vectors are used downstream in ***both***\n", + "vector-search and in a transfer-learning task.\n", + "\n", + "1. The `Listener` instance, wraps the CNN `'my-cnn-vectorizer'`,\n", + "which contains the `torch` layer and pre-processing/ post-processing.\n", + "\n", + "2. The `Stack` reuses this `Listener` twice, once in the `VectorIndex`,\n", + "which may be used to find images, using images,\n", + "and once with the support-vector-machine `SVC()`, which ingests \n", + "the vectors calculated by the `Listener`, and, is fitted\n", + "based on those vectors and the label set.\n", + "\n", + "```python\n", + "from sklearn.svm import SVC\n", + "from my_models.vision import MyTorchModule, prepare_image\n", + "\n", + "from superduperdb.ext.numpy import array\n", + "from superduperdb.ext.sklearn import Estimator\n", + "from superduperdb.ext.torch import TorchModel\n", + "from superduperdb import Stack, VectorIndex, Listener\n", + "from superduperdb.backends.mongodb import Collection\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "```python\n", + "from superduperdb import vector\n", + "\n", + "# m is a model which outputs vectors.\n", + "# this is signified with the `vector`, an `Encoder`\n", + "m = Model(\n", + " ...,\n", + " encoder=vector(shape=(256,))\n", + ")\n", + "\n", + "m.predict(\n", + " X='txt',\n", + " select=collection.find(),\n", + " create_vector_index=True,\n", + ")\n", + "```\n", + "\n", + "## Declarative API setup\n", + "\n", + "With the declarative API, it's possible to create two models \n", + "which are compatible with the vectors for performing searches:\n", + "\n", + "```python\n", + "from superduperdb import Listener, VectorIndex, vector\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "---" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from superduperdb.backends.mongodb import Collection\n", "from superduperdb import Document as D\n", @@ -423,10 +2963,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "abfa4df6-73ac-4d46-8047-011648e24958", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['text-embedding-ada-002', 'gpt-3.5-turbo']\n" + ] + } + ], "source": [ "# Import the OpenAIChatCompletion class from the superduperdb.ext.openai module\n", "from superduperdb.ext.openai import OpenAIChatCompletion\n", @@ -462,10 +3010,209 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "fc4a0f6c-9e24-47aa-bc73-7cc4507e94ff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:44:47.12\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m88626ad4-e654-4d13-b738-655c215c9549\u001b[0m| \u001b[36msuperduperdb.vector_search.in_memory\u001b[0m:\u001b[36m67 \u001b[0m | \u001b[34m\u001b[1m[0.62588279 0.66538487 0.66791833 0.67952515 0.66856846 0.7105439\n", + " 0.65530838 0.65473032 0.69521107 0.71095187 0.69589568 0.65782077\n", + " 0.66872946 0.64610703 0.70665607 0.69222708 0.66025409 0.64337595\n", + " 0.71217354 0.68438061 0.65999557 0.65480668 0.71802413 0.65743974\n", + " 0.66961419 0.67686306 0.74147275 0.64727947 0.68622198 0.67653465\n", + " 0.6680289 0.70963299 0.74298494 0.69863755 0.68006982 0.66210578\n", + " 0.68006839 0.64642206 0.63627811 0.64211392 0.74333747 0.64829737\n", + " 0.64853787 0.7060368 0.67129996 0.66430578 0.74039424 0.66488927\n", + " 0.65543574 0.67909663 0.6728239 0.67453507 0.63050466 0.65143465\n", + " 0.68338193 0.7671736 0.75633112 0.6665697 0.66491107 0.6553076\n", + " 0.7163832 0.67683694 0.66926293 0.69494504 0.65740634 0.66353868\n", + " 0.62525758 0.62816392 0.68654182 0.71981915 0.65636266 0.67855316\n", + " 0.69251305 0.69435139 0.68147675 0.62593012 0.65484101 0.73322254\n", + " 0.67181128 0.67514651 0.66211955 0.66569252 0.6673013 0.71621951\n", + " 0.69376565 0.68668085 0.67311913 0.65505228 0.62726583 0.64852751\n", + " 0.66722322 0.68211818 0.75729577 0.68675703 0.71746077 0.64709758\n", + " 0.68522585 0.652059 0.66499992 0.67426087 0.72137878 0.64958222\n", + " 0.7403324 0.65766184 0.65956121 0.67595118 0.6546245 0.74028875\n", + " 0.6797113 0.66049414 0.70771104 0.6964366 0.65059494 0.65887804\n", + " 0.71631216 0.65794659 0.66626348 0.7591173 0.6653483 0.67472326\n", + " 0.67527296 0.67083341 0.64750579 0.68190933 0.70668935 0.69469889\n", + " 0.70393389 0.68978596 0.63658249 0.6725557 0.66530166 0.75472396\n", + " 0.69989666 0.70393131 0.63662209 0.66677931 0.70191836 0.66366655\n", + " 0.67924885 0.65650141 0.66782902 0.68648563 0.65365905 0.65600781\n", + " 0.71766616 0.73899535 0.68761533 0.68210558 0.65021577 0.68684136\n", + " 0.73169765 0.67633641 0.66978945 0.65321356 0.65776512 0.64457241\n", + " 0.67052221 0.65363755 0.62741707 0.67003479 0.71757207 0.69748684\n", + " 0.71908061 0.67456299 0.66965416 0.75998461 0.70184556 0.70185266\n", + " 0.74728573 0.6826803 0.65984142 0.67075478 0.69568159 0.72893123\n", + " 0.6786776 0.68557303 0.64383252 0.64823067 0.64104492 0.73378706\n", + " 0.66366067 0.65303688 0.67986991 0.68756157 0.65570618 0.65572341\n", + " 0.64610917 0.70470141 0.69328915 0.6571247 0.65805209 0.66345582\n", + " 0.6396271 0.67203465 0.67165953 0.65567381 0.7153117 0.65763497\n", + " 0.67466644 0.65957956 0.66642925 0.66375111 0.6959313 0.68646219\n", + " 0.70091561 0.69336415 0.75453396 0.6659222 0.70224142 0.65217336\n", + " 0.64339771 0.64845201 0.68285541 0.68698896 0.69337653 0.75381718\n", + " 0.74472508 0.64481974 0.71418393 0.6610392 0.67289676 0.64622155\n", + " 0.6673282 0.69615894 0.65616217 0.6727296 0.65123033 0.65449175\n", + " 0.73046699 0.66168547 0.66547978 0.67372717 0.71895464 0.69954975\n", + " 0.70296723 0.74295093 0.65015026 0.66933031 0.64435054 0.77515633\n", + " 0.68002785 0.65334641 0.67948778 0.67991911 0.67704675 0.67019824\n", + " 0.66169819 0.66127585 0.69710394 0.68075026 0.70024327 0.668318\n", + " 0.6466184 0.67916224 0.68411297 0.66755499 0.72921385 0.65176558\n", + " 0.66314126 0.66924139 0.64714914 0.69931476 0.61648157 0.70170403\n", + " 0.70446268 0.65726566 0.70191822 0.7101979 0.64756795 0.65658264\n", + " 0.67957375 0.67896521 0.65755816 0.74880747 0.62821667 0.6417572\n", + " 0.75406813 0.67119253 0.65220125 0.62961772 0.66405553 0.67231395\n", + " 0.65729845 0.74206021 0.64345315 0.69382481 0.67335181 0.66807028\n", + " 0.68338437 0.67859498 0.66900274 0.70805853 0.64586532 0.65920186\n", + " 0.66813055 0.65447807 0.66800767 0.65424194 0.67479078 0.66409788\n", + " 0.68974306 0.68276922 0.63410842 0.64081595 0.67280999 0.71550716\n", + " 0.6810521 0.6640949 0.62921082 0.69757257 0.68151257 0.65591893\n", + " 0.66817465 0.67217382 0.70362709 0.67867407 0.63678075 0.76032816\n", + " 0.66929467 0.66711276 0.67521913 0.65228908 0.64292552 0.6503377\n", + " 0.64656044 0.63727855 0.66016995 0.77323881 0.70519627 0.6478198\n", + " 0.68014136 0.6451518 0.67076417 0.7039869 0.66378519 0.66035144\n", + " 0.70270508 0.67257514 0.67109514 0.65412159 0.65726783 0.66384724\n", + " 0.64464461 0.67149489 0.6699586 0.66629188 0.69781271 0.64195916\n", + " 0.6705591 0.66843241 0.67442575 0.67413597 0.66334707 0.72857001\n", + " 0.63805512 0.75748148 0.65828772 0.65121416 0.65525146 0.72046346\n", + " 0.68455412 0.70422549 0.66209512 0.73373466 0.65245644 0.67357487\n", + " 0.65386736 0.65969625 0.75710287 0.66937914 0.71247279 0.67757968\n", + " 0.74081777 0.64299509 0.64510926 0.65444608 0.66620027 0.6594392\n", + " 0.73683595 0.73244518 0.70957582 0.6693557 0.63178361 0.65114947\n", + " 0.64020786 0.66648615 0.72491166 0.67978254 0.69881567 0.66013983\n", + " 0.65715904 0.7571417 0.73742255 0.65317926 0.68949006 0.66094913\n", + " 0.65563338 0.64747142 0.65310668 0.66479357 0.67863868 0.65043578\n", + " 0.67838683 0.70778559 0.66617815 0.66462106 0.67276525 0.65774148\n", + " 0.70576359 0.67704994 0.68023222 0.68757579 0.68439667 0.70810932\n", + " 0.66397982 0.65097959 0.67423477 0.67582812 0.70266508 0.69469844\n", + " 0.68047237 0.64174729 0.70097139 0.67559958 0.74452935 0.65743655\n", + " 0.63479686 0.70141008 0.65463944 0.66851267 0.68620805 0.67146396\n", + " 0.71749203 0.6652331 0.72752093 0.66157933 0.71279605 0.73460714\n", + " 0.7532858 0.65844867 0.72195454 0.68439138 0.67001311 0.78179004\n", + " 0.70476981 0.70080736 0.67592158 0.81931314 0.63209027 0.69464504\n", + " 0.65397708 0.64870847 0.69587806 0.72844959 0.64179899 0.64652073\n", + " 0.66921679 0.75781963 0.64137359 0.7329801 0.72709343 0.6657131\n", + " 0.69314164 0.66668597 0.75328271 0.6374643 0.65940264 0.67665052\n", + " 0.65390797 0.63512049 0.64949418 0.69517166 0.68589219 0.67468378\n", + " 0.66262781 0.65304907 0.65276992 0.67166323 0.66537365 0.69817004\n", + " 0.64229122 0.6579069 0.7050192 0.7307672 0.68982625 0.65929934\n", + " 0.69938265 0.77624749 0.66122359 0.7007202 0.69712823 0.64850525\n", + " 0.70492299 0.66298991 0.68275042 0.68159623 0.65372624 0.64560057\n", + " 0.68086302 0.66097949 0.65301165 0.65883011 0.6631677 0.64551527\n", + " 0.67223114 0.6970879 0.65404136 0.68846633 0.6996974 0.67191307\n", + " 0.71721098 0.68082601 0.69407304 0.67630198 0.65435835 0.67189753\n", + " 0.63796982 0.74335392 0.6695806 0.685044 0.7246876 0.72524538\n", + " 0.66567422 0.66515483 0.6664073 0.7789306 0.64997936 0.70870131\n", + " 0.66420424 0.67213586 0.68172849 0.74060217 0.65628956 0.66287935\n", + " 0.69799281 0.65039586 0.65790522 0.65073522 0.72473401 0.67102219\n", + " 0.66880707 0.65157294 0.7077905 0.72979475 0.63401937 0.64478209\n", + " 0.808416 0.67803047 0.66826828 0.68063505 0.67532517 0.68308067\n", + " 0.65577617 0.67062509 0.69198536 0.67212746 0.68007491 0.73435727\n", + " 0.7173848 0.69860118 0.68674327 0.70071786 0.7169071 0.69441748\n", + " 0.62732808 0.68378281 0.63012164 0.66716705 0.65744686 0.67376075\n", + " 0.65649396 0.67289134 0.70456293 0.67159482 0.65336321 0.66853933\n", + " 0.70165826 0.65794266 0.66047615 0.68202073 0.65236156 0.65988147\n", + " 0.73434147 0.66890467 0.65861715 0.66045122 0.6654271 0.76595568\n", + " 0.68522325 0.75483736 0.68563766 0.74622811 0.72187057 0.68647114\n", + " 0.66082285 0.65571612 0.65674234 0.65407513 0.69909936 0.65704605\n", + " 0.68269091 0.66204817 0.69019256 0.66125271 0.67469478 0.64131798\n", + " 0.70366831 0.65400826 0.6399653 0.68878087 0.65440861 0.6571038\n", + " 0.69798898 0.73803588 0.68093251 0.70060602 0.69227509 0.64097277\n", + " 0.68402537 0.67709374 0.7082528 0.72847749 0.6565197 0.66617991\n", + " 0.69629306 0.64089691 0.66061975 0.63504446 0.66328412 0.65162163\n", + " 0.64699246 0.66579693 0.67212428 0.63308124 0.67134131 0.68612088\n", + " 0.72371805 0.68208656 0.67950422 0.63604616 0.66892627 0.71215009\n", + " 0.65437516 0.75730199 0.65304248 0.71740948 0.64699649 0.74923875\n", + " 0.65020717 0.68922743 0.64999108 0.71061501 0.68759205 0.65954199\n", + " 0.72598085 0.69336087 0.68256697 0.71582933 0.67707419 0.64118801\n", + " 0.68837773 0.66944875 0.7014133 0.68544075 0.64950551 0.63887231\n", + " 0.79088388 0.66689925 0.6579529 0.66575479 0.66702672 0.66153242\n", + " 0.65146729 0.64537652 0.66064552 0.70405433 0.67460073 0.69170928\n", + " 0.66422422 0.70665984 0.66726383 0.67759652 0.65350617 0.68004734\n", + " 0.66367084 0.66960301 0.65405329 0.66950875 0.69023129 0.63780086\n", + " 0.68059564 0.67602429 0.67408382 0.71489566 0.73922205 0.66498679\n", + " 0.64541564 0.70486446 0.66695351 0.64079707 0.72884695 0.6647098\n", + " 0.69985634 0.67126836 0.64072027 0.64216763 0.68619943 0.67284751\n", + " 0.68387905 0.70463941 0.64021367 0.66694106 0.70087608 0.66327535\n", + " 0.68730144 0.67293798 0.78196961 0.69606466 0.65038191 0.66829292\n", + " 0.66279107 0.64888729 0.69441983 0.62776088 0.72170337 0.64005111\n", + " 0.67921001 0.67338509 0.69018815 0.68458714 0.68490232 0.6603407\n", + " 0.71495339 0.68837148 0.65639574 0.75044631 0.67557273 0.63551213\n", + " 0.68039097 0.67668012 0.67923523 0.66887073 0.67411176 0.71141274\n", + " 0.64867675 0.66222168 0.65256334 0.66336842 0.64333699 0.67209419\n", + " 0.65610672 0.66386177 0.66294723 0.69050572 0.71986762 0.6292756\n", + " 0.63670355 0.66087973 0.67765692 0.6619027 0.78984577 0.74008345\n", + " 0.66215042 0.68419014 0.69488059 0.62759286 0.68320495 0.64809461\n", + " 0.67328163 0.6575777 0.6442649 0.74415588 0.6662348 0.6837281\n", + " 0.63363174 0.71520254 0.73602234 0.70790405 0.69014984 0.66415298\n", + " 0.62650923 0.65579306 0.64489284 0.65704208 0.65994787 0.70262194\n", + " 0.71836114 0.66850157 0.67437215 0.65607318 0.65036005 0.72943489\n", + " 0.69007195 0.64980301 0.71693109 0.71471778 0.67676393 0.64468183\n", + " 0.67309606 0.65478687 0.67431859 0.64879625 0.66104137 0.64827413\n", + " 0.67109597 0.6607733 0.6838772 0.67002598 0.6676621 0.6954848\n", + " 0.6333084 0.64803632 0.70396777 0.66189747 0.74792243 0.68960756\n", + " 0.70131962 0.6629952 0.66832491 0.65085771 0.70076838 0.66374533\n", + " 0.68303643 0.65283097 0.69186751 0.65797615 0.64298802 0.67872229\n", + " 0.65291829 0.6866761 0.6545776 0.64364443 0.722689 0.65642759\n", + " 0.63446138 0.68372066 0.68901776 0.68835547 0.68856158 0.66174331\n", + " 0.6811978 0.67741666 0.65376266 0.662197 0.68050573 0.71163412\n", + " 0.68365785 0.71397808 0.67069161 0.67012237 0.6639401 0.64144903\n", + " 0.65614218 0.64293869 0.66471337 0.71418472 0.70731383 0.650601\n", + " 0.64771122 0.66423676 0.65343121 0.6613632 0.66117877 0.67391881\n", + " 0.64939455 0.67624726 0.6446441 0.6801654 0.65315484 0.68442333\n", + " 0.65386058 0.66377997 0.67248911 0.64766521 0.67142038 0.66717269\n", + " 0.63936243 0.64175385 0.70297014 0.62191083 0.6490813 0.68899959\n", + " 0.66119803 0.66668763 0.6752531 0.64846213 0.67324382 0.64438126\n", + " 0.6773775 0.70927149 0.74877061 0.68256782 0.67004559 0.6683396\n", + " 0.68145 0.64244055 0.6634039 0.67892541 0.69484688 0.66329383\n", + " 0.66693202 0.65541471 0.67007009 0.67411449 0.67708916 0.67695146\n", + " 0.67794216 0.68339233 0.69732837 0.69831475 0.70185016 0.70205995\n", + " 0.68408075 0.6847255 0.69206964 0.70541957 0.68885852 0.67910709\n", + " 0.69374726 0.70227708 0.69422614 0.69064974 0.68036365 0.67724237\n", + " 0.66180647 0.65757364 0.66074178 0.66245718 0.64574747 0.63061198\n", + " 0.62651942 0.65412839 0.65691194 0.71679477 0.74054243 0.73985616\n", + " 0.71765554 0.7428321 0.74364668 0.76628422 0.75644775 0.76171582\n", + " 0.76471489 0.7566121 0.78226674 0.77307888 0.78195388 0.75027227\n", + " 0.78164944 0.79686553 0.77937581 0.76450962 0.76390751 0.7411223\n", + " 0.72994032 0.7394255 0.76293481 0.74840333 0.69890945 0.71666691\n", + " 0.72224985 0.71816755 0.70423729 0.71031447 0.69296465 0.73951393\n", + " 0.72853371 0.74697451 0.74679616 0.7543075 0.75112805 0.74547186\n", + " 0.75198837 0.70531148 0.73177253 0.7087261 0.70766065 0.72119544\n", + " 0.69607126 0.72267297 0.71837452 0.72739129 0.74522972]\u001b[0m\n" + ] + }, + { + "data": { + "text/markdown": [ + "Yes, here is a code snippet to set up a `VectorIndex`:\n", + "\n", + "```python\n", + "from superduperdb import Listener, VectorIndex\n", + "\n", + "db.add(\n", + " VectorIndex(\n", + " 'my-index',\n", + " indexing_listener=Listener(\n", + " model=model,\n", + " key='txt',\n", + " select=my_collection.find(),\n", + " ),\n", + " )\n", + ")\n", + "```" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from superduperdb import Document\n", "from IPython.display import Markdown\n", @@ -518,7 +3265,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" } }, "nbformat": 4, diff --git a/examples/sandbox-example.ipynb b/examples/sandbox-example.ipynb index aa40fe66d2..fabe6010ba 100644 --- a/examples/sandbox-example.ipynb +++ b/examples/sandbox-example.ipynb @@ -59,26 +59,33 @@ "- Change-data-capture (CDC) service\n", "- Jupyter notebook service\n", "\n", - "To set up this environment, navigate to your local copy of the `superduperdb` repository, and build the image with:\n", + "To set up this environment, navigate to your local copy of the `superduperdb` repository, edit the `requirements.txt` to look like this:\n", + "\n", + "```\n", + ".[demo,server,apis]\n", + "```\n", + "\n", + "(you can add any requirements you need in your system) and build the image with:\n", "\n", "```bash\n", - "make testenv_image SUPERDUPERDB_EXTRAS=sandbox\n", + "make testenv_image\n", "```\n", "\n", "Then start the environment with:\n", "\n", "```bash\n", - "make testenv_init\n", + "make testenv_init SUPERDUPERDB_DATA=sandbox\n", "```\n", "\n", "This last command starts containers for each of the above services with `docker-compose`. You should see a bunch of logs for each service (mainly MongoDB).\n", "\n", - "Once you have carried out these steps, you are ready to complete the rest of this notebook." + "Once you have carried out these steps, you are ready to complete the rest of this notebook, which focuses on a implementing\n", + "a production style implementation of vector-search." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "5355a5ac-6452-4a89-b0d9-fe18cb993fdd", "metadata": {}, "outputs": [], @@ -94,22 +101,20 @@ "assert CFG.data_backend == 'mongodb://superduper:superduper@mongodb:27017/test_db'" ] }, + { + "cell_type": "markdown", + "id": "78fa8530-e851-4442-b609-cc785a0bf4ca", + "metadata": {}, + "source": [ + "We'll be using MongoDB to store the vectors and data:" + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "ed9bfd66-6771-476e-ae44-360c05aa69ed", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32m 2023-Nov-30 09:08:53.41\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m36 \u001b[0m | \u001b[34m\u001b[1mParsing data connection URI:mongodb://superduper:superduper@mongodb:27017/test_db\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:08:53.41\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m101 \u001b[0m | \u001b[1mData Client is ready. MongoClient(host=['mongodb:27017'], document_class=dict, tz_aware=False, connect=True, serverselectiontimeoutms=5000)\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:08:53.43\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m79 \u001b[0m | \u001b[1mBuilding Data Layer\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "from superduperdb.backends.mongodb import Collection\n", "from superduperdb import superduper\n", @@ -118,36 +123,21 @@ "doc_collection = Collection('documents')" ] }, + { + "cell_type": "markdown", + "id": "36b09b64-7447-405d-95dd-01e65fa1861b", + "metadata": {}, + "source": [ + "We've already prepared some data which was scraped from the `pymongo` query API. You can download it \n", + "in the next cell:" + ] + }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "bae34017-6259-42df-beae-1191ea0f6374", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " % Total % Received % Xferd Average Speed Time Time Time Current\n", - " Dload Upload Total Spent Left Speed\n", - "100 120k 100 120k 0 0 316k 0 --:--:-- --:--:-- --:--:-- 315k\n" - ] - }, - { - "data": { - "text/plain": [ - "{'key': 'pymongo.mongo_client.MongoClient',\n", - " 'parent': None,\n", - " 'value': '\\nClient for a MongoDB instance, a replica set, or a set of mongoses.\\n\\n',\n", - " 'document': 'mongo_client.md',\n", - " 'res': 'pymongo.mongo_client.MongoClient'}" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "!curl -O https://superduperdb-public.s3.eu-west-1.amazonaws.com/pymongo.json\n", "\n", @@ -159,20 +149,20 @@ "data[0]" ] }, + { + "cell_type": "markdown", + "id": "96777959-8af6-42a5-a051-a0cf5f264c4b", + "metadata": {}, + "source": [ + "Let's insert this data:" + ] + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "726143ee-61f1-4353-806b-a9c9384b569d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32m 2023-Nov-30 09:10:13.38\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m448 \u001b[0m | \u001b[1mCDC active, skipping refresh\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "from superduperdb import Document\n", "\n", @@ -182,229 +172,20 @@ ] }, { - "cell_type": "code", - "execution_count": 5, - "id": "9557034d-8b45-418e-8ba8-49ba92e1adc5", + "cell_type": "markdown", + "id": "ccebd579-0c39-4a9a-9da6-1588b921d5f4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "db.metadata.show_jobs()" + "We'll use a `sentence-transformers` model to calculate the embeddings. Here's how to wrap the model \n", + "so that it works with `superduperdb`:" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "e6847b06-cf2e-4134-89df-9651f7fc8604", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "84f22efbdea04e9d9ebf150e2f4bd947", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - ".gitattributes: 0%| | 0.00/1.18k [00:00 future:\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "from superduperdb import Listener, VectorIndex\n", "\n", @@ -453,466 +230,61 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "5ca51091-3562-4077-a806-72e9be583859", + "metadata": {}, + "source": [ + "This command creates a job on `dask` to calculate the vectors and save them in the database. You can \n", + "follow the `stdout` of this job with this command:" + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "fbd3d575-709f-4b8a-bdda-dad21799a65b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32m 2023-Nov-30 09:14:49.94\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m224 \u001b[0m | \u001b[1mAdding model all-MiniLM-L6-v2 to db\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:14:49.94\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m901 \u001b[0m | \u001b[34m\u001b[1mmodel/all-MiniLM-L6-v2/0 already exists - doing nothing\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:14:49.95\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m376 \u001b[0m | \u001b[1mComputing chunk 0/0\u001b[0m\n", - "427it [00:00, 117156.26it/s]\n" - ] - } - ], + "outputs": [], "source": [ "jobs[0].watch()" ] }, + { + "cell_type": "markdown", + "id": "caba4beb-be7b-44e0-8f00-123df9136a00", + "metadata": {}, + "source": [ + "After a few moments, you'll be able to verify that the vectors have been saved in the documents:" + ] + }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "98ec7560-99d9-401b-971c-e87bcde48e78", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Document({'_id': ObjectId('65685175cd6015a505aa832b'), 'key': 'pymongo.mongo_client.MongoClient', 'parent': None, 'value': '\\nClient for a MongoDB instance, a replica set, or a set of mongoses.\\n\\n', 'document': 'mongo_client.md', 'res': 'pymongo.mongo_client.MongoClient', '_fold': 'train', '_outputs': {'value': {'all-MiniLM-L6-v2': {'0': [-0.06886107474565506, 0.019031450152397156, -0.07293467968702316, 0.022899897769093513, -0.03625085949897766, -0.05900949984788895, -0.009488087147474289, 0.016871213912963867, 0.08023775368928909, 0.015818415209650993, -0.03495324030518532, 0.011837320402264595, 0.027356967329978943, 0.0005958160036243498, 0.020689714699983597, -0.02070797234773636, 0.09423939138650894, -0.03771770000457764, 0.08832316845655441, 0.03095955401659012, -0.06022973731160164, -0.0893627405166626, -0.013766525313258171, 0.061106398701667786, -0.04972735792398453, -0.06167677044868469, 0.01156203169375658, -0.014520982280373573, -0.031374141573905945, 0.023699967190623283, -0.026255514472723007, 0.012924856506288052, -0.006820586510002613, 0.009881389327347279, -0.08474027365446091, 0.08683118969202042, 0.012767605483531952, -0.007003310136497021, -0.06266429275274277, -0.05347549915313721, 0.026293793693184853, -0.03145476058125496, -0.025674132630228996, 0.01598835363984108, 0.0179694015532732, -0.05324718728661537, -0.05997661128640175, 0.13295914232730865, 0.03313016518950462, -0.018423879519104958, 0.04098831117153168, -0.13513578474521637, -0.07652286440134048, 0.07257233560085297, 0.022095361724495888, 0.0699925571680069, -0.047714438289403915, -0.006837338674813509, -0.011904630810022354, 0.05573667958378792, 0.06400109827518463, -0.03526076674461365, -0.059356141835451126, 0.09086254984140396, 0.040461067110300064, 0.03862598165869713, 0.014944879338145256, 0.0702512338757515, -0.0033601459581404924, -0.06486652791500092, 0.04094107821583748, -0.021277587860822678, -0.039269376546144485, -0.027857033535838127, -0.052303049713373184, -0.013361616991460323, 0.012775539420545101, -0.04717497155070305, 0.07212616503238678, 0.03482326492667198, -0.10546494275331497, -0.003503963816910982, -0.018823452293872833, -0.03256666660308838, -0.021961074322462082, -0.02242453210055828, 0.05747921019792557, -0.031426314264535904, -0.006796708330512047, 0.03384458273649216, -0.04573908820748329, 0.03412354737520218, 0.028520142659544945, -0.012523709796369076, -0.05714542418718338, 0.07863236218690872, 0.08565380424261093, 0.0631437748670578, 0.06494162976741791, 0.007986326701939106, 0.02886105887591839, 0.03216477483510971, 0.12480006366968155, -0.024852385744452477, 0.0016833626432344317, 0.02880592830479145, -0.08946483582258224, -0.03171168267726898, 0.02647932432591915, -0.0012961124302819371, -0.04309886693954468, 0.015586808323860168, -0.09056335687637329, 0.02337535470724106, -0.05909810587763786, 0.014997901394963264, -0.059245310723781586, 0.003720364533364773, -0.03292567655444145, 0.06593450158834457, -0.006991911679506302, 0.05233129486441612, 0.060534074902534485, -0.090894915163517, -0.03887571021914482, -0.009479553438723087, -0.007941901683807373, -3.1744643713818355e-33, 0.06108053773641586, -0.0066270907409489155, 0.007528348825871944, -0.0015895242104306817, 0.0673215463757515, 0.10215084254741669, -0.019289644435048103, 0.044890254735946655, -0.10578814148902893, -0.03933311998844147, -0.022417983040213585, 0.06303712725639343, 0.022823115810751915, 0.07494835555553436, 0.07459435611963272, -0.012417137622833252, 0.007573618553578854, 0.08361779898405075, 0.04691675677895546, -0.03959308937191963, -0.02502228133380413, 0.049249786883592606, -0.05629558488726616, 0.035154081881046295, 0.07276783138513565, 0.03422779217362404, -0.03310791403055191, 0.012549235485494137, 0.020172832533717155, 0.041138656437397, 0.0014918443048372865, 0.01486193761229515, -0.03497279807925224, 0.023221565410494804, -0.04360802471637726, 0.00328693725168705, -0.041349008679389954, -0.1431623250246048, -0.006617664825171232, -0.09414257854223251, 0.05231034383177757, 0.04130065068602562, 0.028084013611078262, -0.025786053389310837, -0.05866273120045662, 0.015811504796147346, 0.02240126207470894, 0.00403995718806982, 0.02230231463909149, 0.06894142925739288, -0.06710527837276459, -0.047133274376392365, -0.052959635853767395, -0.01126700546592474, 0.013781300745904446, -0.02852204255759716, 0.020860271528363228, -0.0032361869234591722, -0.0037213170435279608, -0.04341786354780197, 2.496965134923812e-05, -0.030283184722065926, 0.013504778034985065, 0.03747539222240448, 0.031215999275445938, 0.01865246146917343, -0.052428171038627625, -0.07278002798557281, 0.010618215426802635, 0.02648141235113144, 0.018407829105854034, 0.06328748166561127, -0.01004931889474392, 0.011885878629982471, -0.0028449164237827063, -0.06852572411298752, -0.04373810067772865, 0.0030661816708743572, -0.0952068567276001, 0.06106152385473251, -0.07168933749198914, -0.01578366383910179, -0.13528957962989807, 0.07273548096418381, -0.061466675251722336, 0.13131114840507507, 0.023003315553069115, 0.013932211324572563, 0.011993694119155407, -0.03436855971813202, -0.040838975459337234, 0.06063345447182655, -0.050944533199071884, -0.06252434849739075, 0.005441894289106131, -1.1865256306207854e-34, -0.008814959786832333, -0.13869711756706238, 0.030244974419474602, 0.051833465695381165, 0.10303793847560883, -0.038708459585905075, -0.008475295267999172, -0.019186293706297874, -0.043494127690792084, -0.017691561952233315, -0.04561081901192665, -0.06702250242233276, -0.007628759369254112, -0.034402135759592056, -0.11957495659589767, -0.030472807586193085, -0.03911512717604637, -0.1424998641014099, -0.002086094580590725, -0.020350078120827675, -0.03502888232469559, -0.04778192564845085, 0.08040442317724228, 0.06446510553359985, 0.0980987623333931, -0.08532421290874481, -0.04591109976172447, -0.09981606900691986, -0.03101157769560814, -0.03844789043068886, -0.027533089742064476, -0.00915395375341177, -0.04940580204129219, -0.02066158689558506, -0.04382934421300888, 0.05363690108060837, 0.06077086925506592, 0.10271903872489929, -0.003685093717649579, -0.024082254618406296, 0.055761631578207016, -0.001781902858056128, -0.005510519724339247, 0.010766052640974522, 0.033496614545583725, 0.0046323263086378574, -0.007218305487185717, 0.06424454599618912, 0.04225858300924301, -0.038333598524332047, -0.05738246440887451, -0.054424963891506195, 0.03203887492418289, 0.029795801267027855, -0.02104000188410282, -0.046133287250995636, -0.00444650836288929, 0.009213028475642204, 0.10777467489242554, -0.02095475234091282, 0.04455626755952835, -0.05960541218519211, -0.03944156691431999, 0.12210959196090698, -0.0514332614839077, 0.008961042389273643, -0.05986248329281807, 0.06902040541172028, -0.008550881408154964, -0.0003974786668550223, 0.02412474900484085, -0.046341605484485626, -0.02906276099383831, -0.02755899541079998, -0.0039084055460989475, -0.053628332912921906, -0.005916866473853588, -0.09722676128149033, 0.034880708903074265, 0.0010472352150827646, -0.002139399293810129, 0.046186208724975586, 0.07403942942619324, 0.053577203303575516, 0.03697846084833145, -0.14015215635299683, 0.03432594612240791, -0.002478298032656312, -0.024026570841670036, 0.03582633659243584, -0.06467403471469879, 0.07262233644723892, -0.09733764082193375, 0.023147715255618095, -0.049422916024923325, -2.2702538515773085e-08, -0.04076623171567917, 0.04235488176345825, 0.058312151581048965, 0.003044374752789736, -0.007094256114214659, 0.05013265833258629, 0.008716726675629616, 0.013343962840735912, 0.05982043966650963, 0.08117992430925369, 0.0061037358827888966, -0.007323453202843666, 0.012041952461004257, 0.02411334402859211, 0.040121812373399734, 0.02062198892235756, 0.07629477977752686, 0.0038186069577932358, -0.00712989829480648, 0.09548640996217728, 0.00308794854208827, 0.01885977014899254, 0.02762063778936863, -0.07624044269323349, 0.04644743353128433, -0.007655897177755833, 0.032878175377845764, 0.09535478055477142, -0.047533247619867325, -0.011637522839009762, -0.06557903438806534, 0.03453182801604271, 0.046238042414188385, 0.013283854350447655, 0.0773012787103653, 0.04722824692726135, -0.15153641998767853, 0.03875767067074776, -0.017067424952983856, -0.012061692774295807, -0.021477434784173965, -0.04052288085222244, 0.0075248354114592075, 0.027257399633526802, 0.03590298816561699, -0.04354225471615791, 0.05632171034812927, 0.038854822516441345, 0.020424574613571167, -0.002774399472400546, -0.045582499355077744, -0.044555701315402985, 0.07889480888843536, 0.013998834416270256, 0.026029163971543312, 0.006304921116679907, 0.053933318704366684, -0.06383378803730011, 0.07375165820121765, -0.0036542057059705257, 0.030795037746429443, 0.01291118748486042, 0.03719520568847656, 0.038698554039001465]}}}})" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "db.execute(doc_collection.find_one())" ] }, + { + "cell_type": "markdown", + "id": "e0a7bb56-08b1-4880-ba5e-2fb71f1f9274", + "metadata": {}, + "source": [ + "Let's test a similarity/ vector search using the hybrid query-API of `superduperdb`. This search \n", + "dispatches one part off to the vector-search server (running on port 8001) and the other (classical) part to MongoDB\n", + "the results are combined by `superduperdb`:" + ] + }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "d4b96bdb-2b99-4a09-82a0-ad9f337d2d41", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32m 2023-Nov-30 09:15:08.60\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m112 \u001b[0m | \u001b[1mloading of vectors of vector-index: 'pymongo-docs-all-MiniLM-L6-v2'\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:15:08.61\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.misc.server\u001b[0m:\u001b[36m26 \u001b[0m | \u001b[34m\u001b[1mTrying to connect vector_search at http://vector-search:8000/handshake/config method: post\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:15:08.63\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.misc.server\u001b[0m:\u001b[36m26 \u001b[0m | \u001b[34m\u001b[1mTrying to connect vector_search at http://vector-search:8000/create/search method: get\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:15:11.58\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mdemo \u001b[0m| \u001b[36m953707b3-5fc7-4576-bf83-2f4e0c34638f\u001b[0m| \u001b[36msuperduperdb.misc.server\u001b[0m:\u001b[36m26 \u001b[0m | \u001b[34m\u001b[1mTrying to connect vector_search at http://vector-search:8000/query/search method: post\u001b[0m\n" - ] - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `c[name] || c.name.aggregate`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "Perform an aggregation using the aggregation framework on this\n", - "collection.\n", - "\n", - "The [`aggregate()`](#pymongo.collection.Col" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `c[name] || c.name.watch`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "Watch changes on this collection.\n", - "\n", - "Performs an aggregation with an implicit initial `$changeStream`\n", - "stage and returns a" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `c[db_name] || c.db_name.watch`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "Watch changes on this cluster.\n", - "\n", - "Performs an aggregation with an implicit initial `$changeStream`\n", - "stage and returns a\n", - "[`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `c[name] || c.name.count_documents`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "Count the number of documents in this collection.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.results.BulkWriteResult.upserted_count`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "The number of documents upserted.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.results.BulkWriteResult.inserted_count`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "The number of documents inserted.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.results.BulkWriteResult.modified_count`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "The number of documents modified.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.results.UpdateResult.modified_count`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "The number of documents modified.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.client_session.ClientSession.commit_transaction`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "Commit a multi-statement transaction.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "### `pymongo.operations.SearchIndexModel.document`" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "\n", - "The document for this index.\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "---" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from IPython.display import Markdown\n", "\n", @@ -937,22 +309,12 @@ " display(Markdown('---'))" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "41b8f7a3-6050-45a0-b3f4-f5404c257a8a", - "metadata": {}, - "outputs": [], - "source": [ - "db.drop(force=True)" - ] - }, { "cell_type": "markdown", "id": "dee5ce0e-b53c-47a6-a236-9404a3256b91", "metadata": {}, "source": [ - "The great thing about this production mode, is that now allows data to be inserted into the service via other \n", + "One of the great things about this distributed setup, is that now allows data to be inserted into the service via other \n", "MongoDB clients, even from other programming languages and applications.\n", "\n", "We show-case this here, by inserting the rest of the data using the official Python MongoDB driver `pymongo`.\n", @@ -962,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "5bc61e63-abd9-4556-90a4-cdcbf5b10978", "metadata": {}, "outputs": [], @@ -1002,78 +364,29 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "b2df24bb-b394-4c14-99bf-c1dde1a486c0", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'identifier': '4a5a6ed9-7e97-4687-aaee-ebc612fb9d41',\n", - " 'time': datetime.datetime(2023, 11, 30, 9, 14, 44, 259000),\n", - " 'status': 'success'},\n", - " {'identifier': '5ef246a0-2784-47f9-9603-5e988a0ebba1',\n", - " 'time': datetime.datetime(2023, 11, 30, 9, 17, 24, 104000),\n", - " 'status': 'success'},\n", - " {'identifier': 'a5077d81-0e00-4004-b501-23af356e0234',\n", - " 'time': datetime.datetime(2023, 11, 30, 9, 17, 24, 111000),\n", - " 'status': 'success'}]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "db.metadata.show_jobs()" ] }, { "cell_type": "markdown", - "id": "daaca9ea-9a49-4b18-aaa9-96836ce0cd81", - "metadata": {}, - "source": [ - "You can view the `stdout` of the most recent job with this command:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "18ece66d-a347-421e-8e1b-80161c8d9bee", + "id": "05a6139c-a43f-4553-9a97-9dea119d752d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32m 2023-Nov-30 09:17:24.26\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m224 \u001b[0m | \u001b[1mAdding model all-MiniLM-L6-v2 to db\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:17:24.26\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m901 \u001b[0m | \u001b[34m\u001b[1mmodel/all-MiniLM-L6-v2/0 already exists - doing nothing\u001b[0m\n", - "\u001b[32m 2023-Nov-30 09:17:24.27\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36m46bda0c5357e\u001b[0m| \u001b[36m05d945dd-6fdc-49f3-a6b3-d07c4fe0ad3c\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m376 \u001b[0m | \u001b[1mComputing chunk 0/0\u001b[0m\n" - ] - } - ], "source": [ - "db.metadata.watch_job('a5077d81-0e00-4004-b501-23af356e0234')" + "We can now check that all of the outputs (including those inserted via the `pymongo` client) have been populated \n", + "by the system." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "2dd970cd-f01e-4105-85d6-1f39682c1e02", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "527" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "db.execute(doc_collection.count_documents({'_outputs': {'$exists': 1}}))" ] @@ -1095,7 +408,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" } }, "nbformat": 4, diff --git a/examples/sql-example.ipynb b/examples/sql-example.ipynb index ae2009c5f9..1984a9a8c8 100644 --- a/examples/sql-example.ipynb +++ b/examples/sql-example.ipynb @@ -7,7 +7,7 @@ "source": [ "# End-to-End Example Using SQL Databases\n", "\n", - "SuperDuperDB offers the flexibility to connect to various SQL databases, including but not limited to:\n", + "SuperDuperDB offers the flexibility to connect to various SQL databases, including:\n", "\n", "- MongoDB\n", "- PostgreSQL\n", @@ -21,11 +21,7 @@ "- MSSQL\n", "- MySQL\n", "- Oracle\n", - "- pandas\n", - "- Polars\n", - "- PySpark\n", "- Snowflake\n", - "- Trino\n", "\n", "In this example, we showcase how to implement multimodal vector-search with DuckDB. This is an extension of multimodal vector-search with MongoDB, which is just slightly easier to set up (see [here](https://docs.superduperdb.com/docs/use_cases/items/multimodal_image_search_clip)). Everything demonstrated here applies equally to any of the supported SQL databases mentioned above, as well as to tabular data formats on disk, such as `pandas`.\n", "\n", diff --git a/examples/transfer_learning.ipynb b/examples/transfer_learning.ipynb index c01de0fb97..e75052761b 100644 --- a/examples/transfer_learning.ipynb +++ b/examples/transfer_learning.ipynb @@ -83,10 +83,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "44f8ef76", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:55:47.07\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m50 \u001b[0m | \u001b[34m\u001b[1mParsing data connection URI:mongomock://test\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:47.09\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m133 \u001b[0m | \u001b[1mData Client is ready. mongomock.MongoClient('localhost', 27017)\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:47.09\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m79 \u001b[0m | \u001b[1mBuilding Data Layer\u001b[0m\n" + ] + } + ], "source": [ "from superduperdb import superduper\n", "from superduperdb.backends.mongodb import Collection\n", @@ -115,10 +125,534 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "8bb65106", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:55:54.55\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m716 \u001b[0m | \u001b[34m\u001b[1mBuilding task workflow graph. Query:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:54.56\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m32 \u001b[0m | \u001b[1mSubmitting job. function:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:54.56\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m337 \u001b[0m | \u001b[34m\u001b[1m{'cls': 'MongoCompoundSelect', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'transfer'}, 'module': 'superduperdb.backends.mongodb.query'}, 'pre_like': None, 'post_like': None, 'query_linker': {'cls': 'MongoQueryLinker', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'transfer'}, 'module': 'superduperdb.backends.mongodb.query'}, 'members': [{'cls': 'Find', 'dict': {'name': 'find', 'type': , 'args': [{}, {}], 'kwargs': {}, 'output_fields': None}, 'module': 'superduperdb.backends.mongodb.query'}]}, 'module': 'superduperdb.backends.mongodb.query'}}, 'module': 'superduperdb.backends.mongodb.query'}\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:54.56\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m338 \u001b[0m | \u001b[34m\u001b[1m[ObjectId('656b457a19b8a68a37a24306'), ObjectId('656b457a19b8a68a37a24307'), ObjectId('656b457a19b8a68a37a24308'), ObjectId('656b457a19b8a68a37a24309'), ObjectId('656b457a19b8a68a37a2430a'), ObjectId('656b457a19b8a68a37a2430b'), ObjectId('656b457a19b8a68a37a2430c'), ObjectId('656b457a19b8a68a37a2430d'), ObjectId('656b457a19b8a68a37a2430e'), ObjectId('656b457a19b8a68a37a2430f'), ObjectId('656b457a19b8a68a37a24310'), ObjectId('656b457a19b8a68a37a24311'), ObjectId('656b457a19b8a68a37a24312'), ObjectId('656b457a19b8a68a37a24313'), ObjectId('656b457a19b8a68a37a24314'), ObjectId('656b457a19b8a68a37a24315'), ObjectId('656b457a19b8a68a37a24316'), ObjectId('656b457a19b8a68a37a24317'), ObjectId('656b457a19b8a68a37a24318'), ObjectId('656b457a19b8a68a37a24319'), ObjectId('656b457a19b8a68a37a2431a'), ObjectId('656b457a19b8a68a37a2431b'), ObjectId('656b457a19b8a68a37a2431c'), ObjectId('656b457a19b8a68a37a2431d'), ObjectId('656b457a19b8a68a37a2431e'), ObjectId('656b457a19b8a68a37a2431f'), ObjectId('656b457a19b8a68a37a24320'), ObjectId('656b457a19b8a68a37a24321'), ObjectId('656b457a19b8a68a37a24322'), ObjectId('656b457a19b8a68a37a24323'), ObjectId('656b457a19b8a68a37a24324'), ObjectId('656b457a19b8a68a37a24325'), ObjectId('656b457a19b8a68a37a24326'), ObjectId('656b457a19b8a68a37a24327'), ObjectId('656b457a19b8a68a37a24328'), ObjectId('656b457a19b8a68a37a24329'), ObjectId('656b457a19b8a68a37a2432a'), ObjectId('656b457a19b8a68a37a2432b'), ObjectId('656b457a19b8a68a37a2432c'), ObjectId('656b457a19b8a68a37a2432d'), ObjectId('656b457a19b8a68a37a2432e'), ObjectId('656b457a19b8a68a37a2432f'), ObjectId('656b457a19b8a68a37a24330'), ObjectId('656b457a19b8a68a37a24331'), ObjectId('656b457a19b8a68a37a24332'), ObjectId('656b457a19b8a68a37a24333'), ObjectId('656b457a19b8a68a37a24334'), ObjectId('656b457a19b8a68a37a24335'), ObjectId('656b457a19b8a68a37a24336'), ObjectId('656b457a19b8a68a37a24337'), ObjectId('656b457a19b8a68a37a24338'), ObjectId('656b457a19b8a68a37a24339'), ObjectId('656b457a19b8a68a37a2433a'), ObjectId('656b457a19b8a68a37a2433b'), ObjectId('656b457a19b8a68a37a2433c'), ObjectId('656b457a19b8a68a37a2433d'), ObjectId('656b457a19b8a68a37a2433e'), ObjectId('656b457a19b8a68a37a2433f'), ObjectId('656b457a19b8a68a37a24340'), ObjectId('656b457a19b8a68a37a24341'), ObjectId('656b457a19b8a68a37a24342'), ObjectId('656b457a19b8a68a37a24343'), ObjectId('656b457a19b8a68a37a24344'), ObjectId('656b457a19b8a68a37a24345'), ObjectId('656b457a19b8a68a37a24346'), ObjectId('656b457a19b8a68a37a24347'), ObjectId('656b457a19b8a68a37a24348'), ObjectId('656b457a19b8a68a37a24349'), ObjectId('656b457a19b8a68a37a2434a'), ObjectId('656b457a19b8a68a37a2434b'), ObjectId('656b457a19b8a68a37a2434c'), ObjectId('656b457a19b8a68a37a2434d'), ObjectId('656b457a19b8a68a37a2434e'), ObjectId('656b457a19b8a68a37a2434f'), ObjectId('656b457a19b8a68a37a24350'), ObjectId('656b457a19b8a68a37a24351'), ObjectId('656b457a19b8a68a37a24352'), ObjectId('656b457a19b8a68a37a24353'), ObjectId('656b457a19b8a68a37a24354'), ObjectId('656b457a19b8a68a37a24355'), ObjectId('656b457a19b8a68a37a24356'), ObjectId('656b457a19b8a68a37a24357'), ObjectId('656b457a19b8a68a37a24358'), ObjectId('656b457a19b8a68a37a24359'), ObjectId('656b457a19b8a68a37a2435a'), ObjectId('656b457a19b8a68a37a2435b'), ObjectId('656b457a19b8a68a37a2435c'), ObjectId('656b457a19b8a68a37a2435d'), ObjectId('656b457a19b8a68a37a2435e'), ObjectId('656b457a19b8a68a37a2435f'), ObjectId('656b457a19b8a68a37a24360'), ObjectId('656b457a19b8a68a37a24361'), ObjectId('656b457a19b8a68a37a24362'), ObjectId('656b457a19b8a68a37a24363'), ObjectId('656b457a19b8a68a37a24364'), ObjectId('656b457a19b8a68a37a24365'), ObjectId('656b457a19b8a68a37a24366'), ObjectId('656b457a19b8a68a37a24367'), ObjectId('656b457a19b8a68a37a24368'), ObjectId('656b457a19b8a68a37a24369'), ObjectId('656b457a19b8a68a37a2436a'), ObjectId('656b457a19b8a68a37a2436b'), ObjectId('656b457a19b8a68a37a2436c'), ObjectId('656b457a19b8a68a37a2436d'), ObjectId('656b457a19b8a68a37a2436e'), ObjectId('656b457a19b8a68a37a2436f'), ObjectId('656b457a19b8a68a37a24370'), ObjectId('656b457a19b8a68a37a24371'), ObjectId('656b457a19b8a68a37a24372'), ObjectId('656b457a19b8a68a37a24373'), ObjectId('656b457a19b8a68a37a24374'), ObjectId('656b457a19b8a68a37a24375'), ObjectId('656b457a19b8a68a37a24376'), ObjectId('656b457a19b8a68a37a24377'), ObjectId('656b457a19b8a68a37a24378'), ObjectId('656b457a19b8a68a37a24379'), ObjectId('656b457a19b8a68a37a2437a'), ObjectId('656b457a19b8a68a37a2437b'), ObjectId('656b457a19b8a68a37a2437c'), ObjectId('656b457a19b8a68a37a2437d'), ObjectId('656b457a19b8a68a37a2437e'), ObjectId('656b457a19b8a68a37a2437f'), ObjectId('656b457a19b8a68a37a24380'), ObjectId('656b457a19b8a68a37a24381'), ObjectId('656b457a19b8a68a37a24382'), ObjectId('656b457a19b8a68a37a24383'), ObjectId('656b457a19b8a68a37a24384'), ObjectId('656b457a19b8a68a37a24385'), ObjectId('656b457a19b8a68a37a24386'), ObjectId('656b457a19b8a68a37a24387'), ObjectId('656b457a19b8a68a37a24388'), ObjectId('656b457a19b8a68a37a24389'), ObjectId('656b457a19b8a68a37a2438a'), ObjectId('656b457a19b8a68a37a2438b'), ObjectId('656b457a19b8a68a37a2438c'), ObjectId('656b457a19b8a68a37a2438d'), ObjectId('656b457a19b8a68a37a2438e'), ObjectId('656b457a19b8a68a37a2438f'), ObjectId('656b457a19b8a68a37a24390'), ObjectId('656b457a19b8a68a37a24391'), ObjectId('656b457a19b8a68a37a24392'), ObjectId('656b457a19b8a68a37a24393'), ObjectId('656b457a19b8a68a37a24394'), ObjectId('656b457a19b8a68a37a24395'), ObjectId('656b457a19b8a68a37a24396'), ObjectId('656b457a19b8a68a37a24397'), ObjectId('656b457a19b8a68a37a24398'), ObjectId('656b457a19b8a68a37a24399'), ObjectId('656b457a19b8a68a37a2439a'), ObjectId('656b457a19b8a68a37a2439b'), ObjectId('656b457a19b8a68a37a2439c'), ObjectId('656b457a19b8a68a37a2439d'), ObjectId('656b457a19b8a68a37a2439e'), ObjectId('656b457a19b8a68a37a2439f'), ObjectId('656b457a19b8a68a37a243a0'), ObjectId('656b457a19b8a68a37a243a1'), ObjectId('656b457a19b8a68a37a243a2'), ObjectId('656b457a19b8a68a37a243a3'), ObjectId('656b457a19b8a68a37a243a4'), ObjectId('656b457a19b8a68a37a243a5'), ObjectId('656b457a19b8a68a37a243a6'), ObjectId('656b457a19b8a68a37a243a7'), ObjectId('656b457a19b8a68a37a243a8'), ObjectId('656b457a19b8a68a37a243a9'), ObjectId('656b457a19b8a68a37a243aa'), ObjectId('656b457a19b8a68a37a243ab'), ObjectId('656b457a19b8a68a37a243ac'), ObjectId('656b457a19b8a68a37a243ad'), ObjectId('656b457a19b8a68a37a243ae'), ObjectId('656b457a19b8a68a37a243af'), ObjectId('656b457a19b8a68a37a243b0'), ObjectId('656b457a19b8a68a37a243b1'), ObjectId('656b457a19b8a68a37a243b2'), ObjectId('656b457a19b8a68a37a243b3'), ObjectId('656b457a19b8a68a37a243b4'), ObjectId('656b457a19b8a68a37a243b5'), ObjectId('656b457a19b8a68a37a243b6'), ObjectId('656b457a19b8a68a37a243b7'), ObjectId('656b457a19b8a68a37a243b8'), ObjectId('656b457a19b8a68a37a243b9'), ObjectId('656b457a19b8a68a37a243ba'), ObjectId('656b457a19b8a68a37a243bb'), ObjectId('656b457a19b8a68a37a243bc'), ObjectId('656b457a19b8a68a37a243bd'), ObjectId('656b457a19b8a68a37a243be'), ObjectId('656b457a19b8a68a37a243bf'), ObjectId('656b457a19b8a68a37a243c0'), ObjectId('656b457a19b8a68a37a243c1'), ObjectId('656b457a19b8a68a37a243c2'), ObjectId('656b457a19b8a68a37a243c3'), ObjectId('656b457a19b8a68a37a243c4'), ObjectId('656b457a19b8a68a37a243c5'), ObjectId('656b457a19b8a68a37a243c6'), ObjectId('656b457a19b8a68a37a243c7'), ObjectId('656b457a19b8a68a37a243c8'), ObjectId('656b457a19b8a68a37a243c9'), ObjectId('656b457a19b8a68a37a243ca'), ObjectId('656b457a19b8a68a37a243cb'), ObjectId('656b457a19b8a68a37a243cc'), ObjectId('656b457a19b8a68a37a243cd'), ObjectId('656b457a19b8a68a37a243ce'), ObjectId('656b457a19b8a68a37a243cf'), ObjectId('656b457a19b8a68a37a243d0'), ObjectId('656b457a19b8a68a37a243d1'), ObjectId('656b457a19b8a68a37a243d2'), ObjectId('656b457a19b8a68a37a243d3'), ObjectId('656b457a19b8a68a37a243d4'), ObjectId('656b457a19b8a68a37a243d5'), ObjectId('656b457a19b8a68a37a243d6'), ObjectId('656b457a19b8a68a37a243d7'), ObjectId('656b457a19b8a68a37a243d8'), ObjectId('656b457a19b8a68a37a243d9'), ObjectId('656b457a19b8a68a37a243da'), ObjectId('656b457a19b8a68a37a243db'), ObjectId('656b457a19b8a68a37a243dc'), ObjectId('656b457a19b8a68a37a243dd'), ObjectId('656b457a19b8a68a37a243de'), ObjectId('656b457a19b8a68a37a243df'), ObjectId('656b457a19b8a68a37a243e0'), ObjectId('656b457a19b8a68a37a243e1'), ObjectId('656b457a19b8a68a37a243e2'), ObjectId('656b457a19b8a68a37a243e3'), ObjectId('656b457a19b8a68a37a243e4'), ObjectId('656b457a19b8a68a37a243e5'), ObjectId('656b457a19b8a68a37a243e6'), ObjectId('656b457a19b8a68a37a243e7'), ObjectId('656b457a19b8a68a37a243e8'), ObjectId('656b457a19b8a68a37a243e9'), ObjectId('656b457a19b8a68a37a243ea'), ObjectId('656b457a19b8a68a37a243eb'), ObjectId('656b457a19b8a68a37a243ec'), ObjectId('656b457a19b8a68a37a243ed'), ObjectId('656b457a19b8a68a37a243ee'), ObjectId('656b457a19b8a68a37a243ef'), ObjectId('656b457a19b8a68a37a243f0'), ObjectId('656b457a19b8a68a37a243f1'), ObjectId('656b457a19b8a68a37a243f2'), ObjectId('656b457a19b8a68a37a243f3'), ObjectId('656b457a19b8a68a37a243f4'), ObjectId('656b457a19b8a68a37a243f5'), ObjectId('656b457a19b8a68a37a243f6'), ObjectId('656b457a19b8a68a37a243f7'), ObjectId('656b457a19b8a68a37a243f8'), ObjectId('656b457a19b8a68a37a243f9'), ObjectId('656b457a19b8a68a37a243fa'), ObjectId('656b457a19b8a68a37a243fb'), ObjectId('656b457a19b8a68a37a243fc'), ObjectId('656b457a19b8a68a37a243fd'), ObjectId('656b457a19b8a68a37a243fe'), ObjectId('656b457a19b8a68a37a243ff'), ObjectId('656b457a19b8a68a37a24400'), ObjectId('656b457a19b8a68a37a24401'), ObjectId('656b457a19b8a68a37a24402'), ObjectId('656b457a19b8a68a37a24403'), ObjectId('656b457a19b8a68a37a24404'), ObjectId('656b457a19b8a68a37a24405'), ObjectId('656b457a19b8a68a37a24406'), ObjectId('656b457a19b8a68a37a24407'), ObjectId('656b457a19b8a68a37a24408'), ObjectId('656b457a19b8a68a37a24409'), ObjectId('656b457a19b8a68a37a2440a'), ObjectId('656b457a19b8a68a37a2440b'), ObjectId('656b457a19b8a68a37a2440c'), ObjectId('656b457a19b8a68a37a2440d'), ObjectId('656b457a19b8a68a37a2440e'), ObjectId('656b457a19b8a68a37a2440f'), ObjectId('656b457a19b8a68a37a24410'), ObjectId('656b457a19b8a68a37a24411'), ObjectId('656b457a19b8a68a37a24412'), ObjectId('656b457a19b8a68a37a24413'), ObjectId('656b457a19b8a68a37a24414'), ObjectId('656b457a19b8a68a37a24415'), ObjectId('656b457a19b8a68a37a24416'), ObjectId('656b457a19b8a68a37a24417'), ObjectId('656b457a19b8a68a37a24418'), ObjectId('656b457a19b8a68a37a24419'), ObjectId('656b457a19b8a68a37a2441a'), ObjectId('656b457a19b8a68a37a2441b'), ObjectId('656b457a19b8a68a37a2441c'), ObjectId('656b457a19b8a68a37a2441d'), ObjectId('656b457a19b8a68a37a2441e'), ObjectId('656b457a19b8a68a37a2441f'), ObjectId('656b457a19b8a68a37a24420'), ObjectId('656b457a19b8a68a37a24421'), ObjectId('656b457a19b8a68a37a24422'), ObjectId('656b457a19b8a68a37a24423'), ObjectId('656b457a19b8a68a37a24424'), ObjectId('656b457a19b8a68a37a24425'), ObjectId('656b457a19b8a68a37a24426'), ObjectId('656b457a19b8a68a37a24427'), ObjectId('656b457a19b8a68a37a24428'), ObjectId('656b457a19b8a68a37a24429'), ObjectId('656b457a19b8a68a37a2442a'), ObjectId('656b457a19b8a68a37a2442b'), ObjectId('656b457a19b8a68a37a2442c'), ObjectId('656b457a19b8a68a37a2442d'), ObjectId('656b457a19b8a68a37a2442e'), ObjectId('656b457a19b8a68a37a2442f'), ObjectId('656b457a19b8a68a37a24430'), ObjectId('656b457a19b8a68a37a24431'), ObjectId('656b457a19b8a68a37a24432'), ObjectId('656b457a19b8a68a37a24433'), ObjectId('656b457a19b8a68a37a24434'), ObjectId('656b457a19b8a68a37a24435'), ObjectId('656b457a19b8a68a37a24436'), ObjectId('656b457a19b8a68a37a24437'), ObjectId('656b457a19b8a68a37a24438'), ObjectId('656b457a19b8a68a37a24439'), ObjectId('656b457a19b8a68a37a2443a'), ObjectId('656b457a19b8a68a37a2443b'), ObjectId('656b457a19b8a68a37a2443c'), ObjectId('656b457a19b8a68a37a2443d'), ObjectId('656b457a19b8a68a37a2443e'), ObjectId('656b457a19b8a68a37a2443f'), ObjectId('656b457a19b8a68a37a24440'), ObjectId('656b457a19b8a68a37a24441'), ObjectId('656b457a19b8a68a37a24442'), ObjectId('656b457a19b8a68a37a24443'), ObjectId('656b457a19b8a68a37a24444'), ObjectId('656b457a19b8a68a37a24445'), ObjectId('656b457a19b8a68a37a24446'), ObjectId('656b457a19b8a68a37a24447'), ObjectId('656b457a19b8a68a37a24448'), ObjectId('656b457a19b8a68a37a24449'), ObjectId('656b457a19b8a68a37a2444a'), ObjectId('656b457a19b8a68a37a2444b'), ObjectId('656b457a19b8a68a37a2444c'), ObjectId('656b457a19b8a68a37a2444d'), ObjectId('656b457a19b8a68a37a2444e'), ObjectId('656b457a19b8a68a37a2444f'), ObjectId('656b457a19b8a68a37a24450'), ObjectId('656b457a19b8a68a37a24451'), ObjectId('656b457a19b8a68a37a24452'), ObjectId('656b457a19b8a68a37a24453'), ObjectId('656b457a19b8a68a37a24454'), ObjectId('656b457a19b8a68a37a24455'), ObjectId('656b457a19b8a68a37a24456'), ObjectId('656b457a19b8a68a37a24457'), ObjectId('656b457a19b8a68a37a24458'), ObjectId('656b457a19b8a68a37a24459'), ObjectId('656b457a19b8a68a37a2445a'), ObjectId('656b457a19b8a68a37a2445b'), ObjectId('656b457a19b8a68a37a2445c'), ObjectId('656b457a19b8a68a37a2445d'), ObjectId('656b457a19b8a68a37a2445e'), ObjectId('656b457a19b8a68a37a2445f'), ObjectId('656b457a19b8a68a37a24460'), ObjectId('656b457a19b8a68a37a24461'), ObjectId('656b457a19b8a68a37a24462'), ObjectId('656b457a19b8a68a37a24463'), ObjectId('656b457a19b8a68a37a24464'), ObjectId('656b457a19b8a68a37a24465'), ObjectId('656b457a19b8a68a37a24466'), ObjectId('656b457a19b8a68a37a24467'), ObjectId('656b457a19b8a68a37a24468'), ObjectId('656b457a19b8a68a37a24469'), ObjectId('656b457a19b8a68a37a2446a'), ObjectId('656b457a19b8a68a37a2446b'), ObjectId('656b457a19b8a68a37a2446c'), ObjectId('656b457a19b8a68a37a2446d'), ObjectId('656b457a19b8a68a37a2446e'), ObjectId('656b457a19b8a68a37a2446f'), ObjectId('656b457a19b8a68a37a24470'), ObjectId('656b457a19b8a68a37a24471'), ObjectId('656b457a19b8a68a37a24472'), ObjectId('656b457a19b8a68a37a24473'), ObjectId('656b457a19b8a68a37a24474'), ObjectId('656b457a19b8a68a37a24475'), ObjectId('656b457a19b8a68a37a24476'), ObjectId('656b457a19b8a68a37a24477'), ObjectId('656b457a19b8a68a37a24478'), ObjectId('656b457a19b8a68a37a24479'), ObjectId('656b457a19b8a68a37a2447a'), ObjectId('656b457a19b8a68a37a2447b'), ObjectId('656b457a19b8a68a37a2447c'), ObjectId('656b457a19b8a68a37a2447d'), ObjectId('656b457a19b8a68a37a2447e'), ObjectId('656b457a19b8a68a37a2447f'), ObjectId('656b457a19b8a68a37a24480'), ObjectId('656b457a19b8a68a37a24481'), ObjectId('656b457a19b8a68a37a24482'), ObjectId('656b457a19b8a68a37a24483'), ObjectId('656b457a19b8a68a37a24484'), ObjectId('656b457a19b8a68a37a24485'), ObjectId('656b457a19b8a68a37a24486'), ObjectId('656b457a19b8a68a37a24487'), ObjectId('656b457a19b8a68a37a24488'), ObjectId('656b457a19b8a68a37a24489'), ObjectId('656b457a19b8a68a37a2448a'), ObjectId('656b457a19b8a68a37a2448b'), ObjectId('656b457a19b8a68a37a2448c'), ObjectId('656b457a19b8a68a37a2448d'), ObjectId('656b457a19b8a68a37a2448e'), ObjectId('656b457a19b8a68a37a2448f'), ObjectId('656b457a19b8a68a37a24490'), ObjectId('656b457a19b8a68a37a24491'), ObjectId('656b457a19b8a68a37a24492'), ObjectId('656b457a19b8a68a37a24493'), ObjectId('656b457a19b8a68a37a24494'), ObjectId('656b457a19b8a68a37a24495'), ObjectId('656b457a19b8a68a37a24496'), ObjectId('656b457a19b8a68a37a24497'), ObjectId('656b457a19b8a68a37a24498'), ObjectId('656b457a19b8a68a37a24499'), ObjectId('656b457a19b8a68a37a2449a'), ObjectId('656b457a19b8a68a37a2449b'), ObjectId('656b457a19b8a68a37a2449c'), ObjectId('656b457a19b8a68a37a2449d'), ObjectId('656b457a19b8a68a37a2449e'), ObjectId('656b457a19b8a68a37a2449f'), ObjectId('656b457a19b8a68a37a244a0'), ObjectId('656b457a19b8a68a37a244a1'), ObjectId('656b457a19b8a68a37a244a2'), ObjectId('656b457a19b8a68a37a244a3'), ObjectId('656b457a19b8a68a37a244a4'), ObjectId('656b457a19b8a68a37a244a5'), ObjectId('656b457a19b8a68a37a244a6'), ObjectId('656b457a19b8a68a37a244a7'), ObjectId('656b457a19b8a68a37a244a8'), ObjectId('656b457a19b8a68a37a244a9'), ObjectId('656b457a19b8a68a37a244aa'), ObjectId('656b457a19b8a68a37a244ab'), ObjectId('656b457a19b8a68a37a244ac'), ObjectId('656b457a19b8a68a37a244ad'), ObjectId('656b457a19b8a68a37a244ae'), ObjectId('656b457a19b8a68a37a244af'), ObjectId('656b457a19b8a68a37a244b0'), ObjectId('656b457a19b8a68a37a244b1'), ObjectId('656b457a19b8a68a37a244b2'), ObjectId('656b457a19b8a68a37a244b3'), ObjectId('656b457a19b8a68a37a244b4'), ObjectId('656b457a19b8a68a37a244b5'), ObjectId('656b457a19b8a68a37a244b6'), ObjectId('656b457a19b8a68a37a244b7'), ObjectId('656b457a19b8a68a37a244b8'), ObjectId('656b457a19b8a68a37a244b9'), ObjectId('656b457a19b8a68a37a244ba'), ObjectId('656b457a19b8a68a37a244bb'), ObjectId('656b457a19b8a68a37a244bc'), ObjectId('656b457a19b8a68a37a244bd'), ObjectId('656b457a19b8a68a37a244be'), ObjectId('656b457a19b8a68a37a244bf'), ObjectId('656b457a19b8a68a37a244c0'), ObjectId('656b457a19b8a68a37a244c1'), ObjectId('656b457a19b8a68a37a244c2'), ObjectId('656b457a19b8a68a37a244c3'), ObjectId('656b457a19b8a68a37a244c4'), ObjectId('656b457a19b8a68a37a244c5'), ObjectId('656b457a19b8a68a37a244c6'), ObjectId('656b457a19b8a68a37a244c7'), ObjectId('656b457a19b8a68a37a244c8'), ObjectId('656b457a19b8a68a37a244c9'), ObjectId('656b457a19b8a68a37a244ca'), ObjectId('656b457a19b8a68a37a244cb'), ObjectId('656b457a19b8a68a37a244cc'), ObjectId('656b457a19b8a68a37a244cd'), ObjectId('656b457a19b8a68a37a244ce'), ObjectId('656b457a19b8a68a37a244cf'), ObjectId('656b457a19b8a68a37a244d0'), ObjectId('656b457a19b8a68a37a244d1'), ObjectId('656b457a19b8a68a37a244d2'), ObjectId('656b457a19b8a68a37a244d3'), ObjectId('656b457a19b8a68a37a244d4'), ObjectId('656b457a19b8a68a37a244d5'), ObjectId('656b457a19b8a68a37a244d6'), ObjectId('656b457a19b8a68a37a244d7'), ObjectId('656b457a19b8a68a37a244d8'), ObjectId('656b457a19b8a68a37a244d9'), ObjectId('656b457a19b8a68a37a244da'), ObjectId('656b457a19b8a68a37a244db'), ObjectId('656b457a19b8a68a37a244dc'), ObjectId('656b457a19b8a68a37a244dd'), ObjectId('656b457a19b8a68a37a244de'), ObjectId('656b457a19b8a68a37a244df'), ObjectId('656b457a19b8a68a37a244e0'), ObjectId('656b457a19b8a68a37a244e1'), ObjectId('656b457a19b8a68a37a244e2'), ObjectId('656b457a19b8a68a37a244e3'), ObjectId('656b457a19b8a68a37a244e4'), ObjectId('656b457a19b8a68a37a244e5'), ObjectId('656b457a19b8a68a37a244e6'), ObjectId('656b457a19b8a68a37a244e7'), ObjectId('656b457a19b8a68a37a244e8'), ObjectId('656b457a19b8a68a37a244e9'), ObjectId('656b457a19b8a68a37a244ea'), ObjectId('656b457a19b8a68a37a244eb'), ObjectId('656b457a19b8a68a37a244ec'), ObjectId('656b457a19b8a68a37a244ed'), ObjectId('656b457a19b8a68a37a244ee'), ObjectId('656b457a19b8a68a37a244ef'), ObjectId('656b457a19b8a68a37a244f0'), ObjectId('656b457a19b8a68a37a244f1'), ObjectId('656b457a19b8a68a37a244f2'), ObjectId('656b457a19b8a68a37a244f3'), ObjectId('656b457a19b8a68a37a244f4'), ObjectId('656b457a19b8a68a37a244f5'), ObjectId('656b457a19b8a68a37a244f6'), ObjectId('656b457a19b8a68a37a244f7'), ObjectId('656b457a19b8a68a37a244f8'), ObjectId('656b457a19b8a68a37a244f9')]\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:55:54.60\u001b[0m| \u001b[32m\u001b[1mSUCCESS \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m38 \u001b[0m | \u001b[32m\u001b[1mJob submitted. function: future:bf61e027-4189-4760-be5e-4b435bf494b1\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "([ObjectId('656b457a19b8a68a37a24306'),\n", + " ObjectId('656b457a19b8a68a37a24307'),\n", + " ObjectId('656b457a19b8a68a37a24308'),\n", + " ObjectId('656b457a19b8a68a37a24309'),\n", + " ObjectId('656b457a19b8a68a37a2430a'),\n", + " ObjectId('656b457a19b8a68a37a2430b'),\n", + " ObjectId('656b457a19b8a68a37a2430c'),\n", + " ObjectId('656b457a19b8a68a37a2430d'),\n", + " ObjectId('656b457a19b8a68a37a2430e'),\n", + " ObjectId('656b457a19b8a68a37a2430f'),\n", + " ObjectId('656b457a19b8a68a37a24310'),\n", + " ObjectId('656b457a19b8a68a37a24311'),\n", + " ObjectId('656b457a19b8a68a37a24312'),\n", + " ObjectId('656b457a19b8a68a37a24313'),\n", + " ObjectId('656b457a19b8a68a37a24314'),\n", + " ObjectId('656b457a19b8a68a37a24315'),\n", + " ObjectId('656b457a19b8a68a37a24316'),\n", + " ObjectId('656b457a19b8a68a37a24317'),\n", + " ObjectId('656b457a19b8a68a37a24318'),\n", + " ObjectId('656b457a19b8a68a37a24319'),\n", + " ObjectId('656b457a19b8a68a37a2431a'),\n", + " ObjectId('656b457a19b8a68a37a2431b'),\n", + " ObjectId('656b457a19b8a68a37a2431c'),\n", + " ObjectId('656b457a19b8a68a37a2431d'),\n", + " ObjectId('656b457a19b8a68a37a2431e'),\n", + " ObjectId('656b457a19b8a68a37a2431f'),\n", + " ObjectId('656b457a19b8a68a37a24320'),\n", + " ObjectId('656b457a19b8a68a37a24321'),\n", + " ObjectId('656b457a19b8a68a37a24322'),\n", + " ObjectId('656b457a19b8a68a37a24323'),\n", + " ObjectId('656b457a19b8a68a37a24324'),\n", + " ObjectId('656b457a19b8a68a37a24325'),\n", + " ObjectId('656b457a19b8a68a37a24326'),\n", + " ObjectId('656b457a19b8a68a37a24327'),\n", + " ObjectId('656b457a19b8a68a37a24328'),\n", + " ObjectId('656b457a19b8a68a37a24329'),\n", + " ObjectId('656b457a19b8a68a37a2432a'),\n", + " ObjectId('656b457a19b8a68a37a2432b'),\n", + " ObjectId('656b457a19b8a68a37a2432c'),\n", + " ObjectId('656b457a19b8a68a37a2432d'),\n", + " ObjectId('656b457a19b8a68a37a2432e'),\n", + " ObjectId('656b457a19b8a68a37a2432f'),\n", + " ObjectId('656b457a19b8a68a37a24330'),\n", + " ObjectId('656b457a19b8a68a37a24331'),\n", + " ObjectId('656b457a19b8a68a37a24332'),\n", + " ObjectId('656b457a19b8a68a37a24333'),\n", + " ObjectId('656b457a19b8a68a37a24334'),\n", + " ObjectId('656b457a19b8a68a37a24335'),\n", + " ObjectId('656b457a19b8a68a37a24336'),\n", + " ObjectId('656b457a19b8a68a37a24337'),\n", + " ObjectId('656b457a19b8a68a37a24338'),\n", + " ObjectId('656b457a19b8a68a37a24339'),\n", + " ObjectId('656b457a19b8a68a37a2433a'),\n", + " ObjectId('656b457a19b8a68a37a2433b'),\n", + " ObjectId('656b457a19b8a68a37a2433c'),\n", + " ObjectId('656b457a19b8a68a37a2433d'),\n", + " ObjectId('656b457a19b8a68a37a2433e'),\n", + " ObjectId('656b457a19b8a68a37a2433f'),\n", + " ObjectId('656b457a19b8a68a37a24340'),\n", + " ObjectId('656b457a19b8a68a37a24341'),\n", + " ObjectId('656b457a19b8a68a37a24342'),\n", + " ObjectId('656b457a19b8a68a37a24343'),\n", + " ObjectId('656b457a19b8a68a37a24344'),\n", + " ObjectId('656b457a19b8a68a37a24345'),\n", + " ObjectId('656b457a19b8a68a37a24346'),\n", + " ObjectId('656b457a19b8a68a37a24347'),\n", + " ObjectId('656b457a19b8a68a37a24348'),\n", + " ObjectId('656b457a19b8a68a37a24349'),\n", + " ObjectId('656b457a19b8a68a37a2434a'),\n", + " ObjectId('656b457a19b8a68a37a2434b'),\n", + " ObjectId('656b457a19b8a68a37a2434c'),\n", + " ObjectId('656b457a19b8a68a37a2434d'),\n", + " ObjectId('656b457a19b8a68a37a2434e'),\n", + " ObjectId('656b457a19b8a68a37a2434f'),\n", + " ObjectId('656b457a19b8a68a37a24350'),\n", + " ObjectId('656b457a19b8a68a37a24351'),\n", + " ObjectId('656b457a19b8a68a37a24352'),\n", + " ObjectId('656b457a19b8a68a37a24353'),\n", + " ObjectId('656b457a19b8a68a37a24354'),\n", + " ObjectId('656b457a19b8a68a37a24355'),\n", + " ObjectId('656b457a19b8a68a37a24356'),\n", + " ObjectId('656b457a19b8a68a37a24357'),\n", + " ObjectId('656b457a19b8a68a37a24358'),\n", + " ObjectId('656b457a19b8a68a37a24359'),\n", + " ObjectId('656b457a19b8a68a37a2435a'),\n", + " ObjectId('656b457a19b8a68a37a2435b'),\n", + " ObjectId('656b457a19b8a68a37a2435c'),\n", + " ObjectId('656b457a19b8a68a37a2435d'),\n", + " ObjectId('656b457a19b8a68a37a2435e'),\n", + " ObjectId('656b457a19b8a68a37a2435f'),\n", + " ObjectId('656b457a19b8a68a37a24360'),\n", + " ObjectId('656b457a19b8a68a37a24361'),\n", + " ObjectId('656b457a19b8a68a37a24362'),\n", + " ObjectId('656b457a19b8a68a37a24363'),\n", + " ObjectId('656b457a19b8a68a37a24364'),\n", + " ObjectId('656b457a19b8a68a37a24365'),\n", + " ObjectId('656b457a19b8a68a37a24366'),\n", + " ObjectId('656b457a19b8a68a37a24367'),\n", + " ObjectId('656b457a19b8a68a37a24368'),\n", + " ObjectId('656b457a19b8a68a37a24369'),\n", + " ObjectId('656b457a19b8a68a37a2436a'),\n", + " ObjectId('656b457a19b8a68a37a2436b'),\n", + " ObjectId('656b457a19b8a68a37a2436c'),\n", + " ObjectId('656b457a19b8a68a37a2436d'),\n", + " ObjectId('656b457a19b8a68a37a2436e'),\n", + " ObjectId('656b457a19b8a68a37a2436f'),\n", + " ObjectId('656b457a19b8a68a37a24370'),\n", + " ObjectId('656b457a19b8a68a37a24371'),\n", + " ObjectId('656b457a19b8a68a37a24372'),\n", + " ObjectId('656b457a19b8a68a37a24373'),\n", + " ObjectId('656b457a19b8a68a37a24374'),\n", + " ObjectId('656b457a19b8a68a37a24375'),\n", + " ObjectId('656b457a19b8a68a37a24376'),\n", + " ObjectId('656b457a19b8a68a37a24377'),\n", + " ObjectId('656b457a19b8a68a37a24378'),\n", + " ObjectId('656b457a19b8a68a37a24379'),\n", + " ObjectId('656b457a19b8a68a37a2437a'),\n", + " ObjectId('656b457a19b8a68a37a2437b'),\n", + " ObjectId('656b457a19b8a68a37a2437c'),\n", + " ObjectId('656b457a19b8a68a37a2437d'),\n", + " ObjectId('656b457a19b8a68a37a2437e'),\n", + " ObjectId('656b457a19b8a68a37a2437f'),\n", + " ObjectId('656b457a19b8a68a37a24380'),\n", + " ObjectId('656b457a19b8a68a37a24381'),\n", + " ObjectId('656b457a19b8a68a37a24382'),\n", + " ObjectId('656b457a19b8a68a37a24383'),\n", + " ObjectId('656b457a19b8a68a37a24384'),\n", + " ObjectId('656b457a19b8a68a37a24385'),\n", + " ObjectId('656b457a19b8a68a37a24386'),\n", + " ObjectId('656b457a19b8a68a37a24387'),\n", + " ObjectId('656b457a19b8a68a37a24388'),\n", + " ObjectId('656b457a19b8a68a37a24389'),\n", + " ObjectId('656b457a19b8a68a37a2438a'),\n", + " ObjectId('656b457a19b8a68a37a2438b'),\n", + " ObjectId('656b457a19b8a68a37a2438c'),\n", + " ObjectId('656b457a19b8a68a37a2438d'),\n", + " ObjectId('656b457a19b8a68a37a2438e'),\n", + " ObjectId('656b457a19b8a68a37a2438f'),\n", + " ObjectId('656b457a19b8a68a37a24390'),\n", + " ObjectId('656b457a19b8a68a37a24391'),\n", + " ObjectId('656b457a19b8a68a37a24392'),\n", + " ObjectId('656b457a19b8a68a37a24393'),\n", + " ObjectId('656b457a19b8a68a37a24394'),\n", + " ObjectId('656b457a19b8a68a37a24395'),\n", + " ObjectId('656b457a19b8a68a37a24396'),\n", + " ObjectId('656b457a19b8a68a37a24397'),\n", + " ObjectId('656b457a19b8a68a37a24398'),\n", + " ObjectId('656b457a19b8a68a37a24399'),\n", + " ObjectId('656b457a19b8a68a37a2439a'),\n", + " ObjectId('656b457a19b8a68a37a2439b'),\n", + " ObjectId('656b457a19b8a68a37a2439c'),\n", + " ObjectId('656b457a19b8a68a37a2439d'),\n", + " ObjectId('656b457a19b8a68a37a2439e'),\n", + " ObjectId('656b457a19b8a68a37a2439f'),\n", + " ObjectId('656b457a19b8a68a37a243a0'),\n", + " ObjectId('656b457a19b8a68a37a243a1'),\n", + " ObjectId('656b457a19b8a68a37a243a2'),\n", + " ObjectId('656b457a19b8a68a37a243a3'),\n", + " ObjectId('656b457a19b8a68a37a243a4'),\n", + " ObjectId('656b457a19b8a68a37a243a5'),\n", + " ObjectId('656b457a19b8a68a37a243a6'),\n", + " ObjectId('656b457a19b8a68a37a243a7'),\n", + " ObjectId('656b457a19b8a68a37a243a8'),\n", + " ObjectId('656b457a19b8a68a37a243a9'),\n", + " ObjectId('656b457a19b8a68a37a243aa'),\n", + " ObjectId('656b457a19b8a68a37a243ab'),\n", + " ObjectId('656b457a19b8a68a37a243ac'),\n", + " ObjectId('656b457a19b8a68a37a243ad'),\n", + " ObjectId('656b457a19b8a68a37a243ae'),\n", + " ObjectId('656b457a19b8a68a37a243af'),\n", + " ObjectId('656b457a19b8a68a37a243b0'),\n", + " ObjectId('656b457a19b8a68a37a243b1'),\n", + " ObjectId('656b457a19b8a68a37a243b2'),\n", + " ObjectId('656b457a19b8a68a37a243b3'),\n", + " ObjectId('656b457a19b8a68a37a243b4'),\n", + " ObjectId('656b457a19b8a68a37a243b5'),\n", + " ObjectId('656b457a19b8a68a37a243b6'),\n", + " ObjectId('656b457a19b8a68a37a243b7'),\n", + " ObjectId('656b457a19b8a68a37a243b8'),\n", + " ObjectId('656b457a19b8a68a37a243b9'),\n", + " ObjectId('656b457a19b8a68a37a243ba'),\n", + " ObjectId('656b457a19b8a68a37a243bb'),\n", + " ObjectId('656b457a19b8a68a37a243bc'),\n", + " ObjectId('656b457a19b8a68a37a243bd'),\n", + " ObjectId('656b457a19b8a68a37a243be'),\n", + " ObjectId('656b457a19b8a68a37a243bf'),\n", + " ObjectId('656b457a19b8a68a37a243c0'),\n", + " ObjectId('656b457a19b8a68a37a243c1'),\n", + " ObjectId('656b457a19b8a68a37a243c2'),\n", + " ObjectId('656b457a19b8a68a37a243c3'),\n", + " ObjectId('656b457a19b8a68a37a243c4'),\n", + " ObjectId('656b457a19b8a68a37a243c5'),\n", + " ObjectId('656b457a19b8a68a37a243c6'),\n", + " ObjectId('656b457a19b8a68a37a243c7'),\n", + " ObjectId('656b457a19b8a68a37a243c8'),\n", + " ObjectId('656b457a19b8a68a37a243c9'),\n", + " ObjectId('656b457a19b8a68a37a243ca'),\n", + " ObjectId('656b457a19b8a68a37a243cb'),\n", + " ObjectId('656b457a19b8a68a37a243cc'),\n", + " ObjectId('656b457a19b8a68a37a243cd'),\n", + " ObjectId('656b457a19b8a68a37a243ce'),\n", + " ObjectId('656b457a19b8a68a37a243cf'),\n", + " ObjectId('656b457a19b8a68a37a243d0'),\n", + " ObjectId('656b457a19b8a68a37a243d1'),\n", + " ObjectId('656b457a19b8a68a37a243d2'),\n", + " ObjectId('656b457a19b8a68a37a243d3'),\n", + " ObjectId('656b457a19b8a68a37a243d4'),\n", + " ObjectId('656b457a19b8a68a37a243d5'),\n", + " ObjectId('656b457a19b8a68a37a243d6'),\n", + " ObjectId('656b457a19b8a68a37a243d7'),\n", + " ObjectId('656b457a19b8a68a37a243d8'),\n", + " ObjectId('656b457a19b8a68a37a243d9'),\n", + " ObjectId('656b457a19b8a68a37a243da'),\n", + " ObjectId('656b457a19b8a68a37a243db'),\n", + " ObjectId('656b457a19b8a68a37a243dc'),\n", + " ObjectId('656b457a19b8a68a37a243dd'),\n", + " ObjectId('656b457a19b8a68a37a243de'),\n", + " ObjectId('656b457a19b8a68a37a243df'),\n", + " ObjectId('656b457a19b8a68a37a243e0'),\n", + " ObjectId('656b457a19b8a68a37a243e1'),\n", + " ObjectId('656b457a19b8a68a37a243e2'),\n", + " ObjectId('656b457a19b8a68a37a243e3'),\n", + " ObjectId('656b457a19b8a68a37a243e4'),\n", + " ObjectId('656b457a19b8a68a37a243e5'),\n", + " ObjectId('656b457a19b8a68a37a243e6'),\n", + " ObjectId('656b457a19b8a68a37a243e7'),\n", + " ObjectId('656b457a19b8a68a37a243e8'),\n", + " ObjectId('656b457a19b8a68a37a243e9'),\n", + " ObjectId('656b457a19b8a68a37a243ea'),\n", + " ObjectId('656b457a19b8a68a37a243eb'),\n", + " ObjectId('656b457a19b8a68a37a243ec'),\n", + " ObjectId('656b457a19b8a68a37a243ed'),\n", + " ObjectId('656b457a19b8a68a37a243ee'),\n", + " ObjectId('656b457a19b8a68a37a243ef'),\n", + " ObjectId('656b457a19b8a68a37a243f0'),\n", + " ObjectId('656b457a19b8a68a37a243f1'),\n", + " ObjectId('656b457a19b8a68a37a243f2'),\n", + " ObjectId('656b457a19b8a68a37a243f3'),\n", + " ObjectId('656b457a19b8a68a37a243f4'),\n", + " ObjectId('656b457a19b8a68a37a243f5'),\n", + " ObjectId('656b457a19b8a68a37a243f6'),\n", + " ObjectId('656b457a19b8a68a37a243f7'),\n", + " ObjectId('656b457a19b8a68a37a243f8'),\n", + " ObjectId('656b457a19b8a68a37a243f9'),\n", + " ObjectId('656b457a19b8a68a37a243fa'),\n", + " ObjectId('656b457a19b8a68a37a243fb'),\n", + " ObjectId('656b457a19b8a68a37a243fc'),\n", + " ObjectId('656b457a19b8a68a37a243fd'),\n", + " ObjectId('656b457a19b8a68a37a243fe'),\n", + " ObjectId('656b457a19b8a68a37a243ff'),\n", + " ObjectId('656b457a19b8a68a37a24400'),\n", + " ObjectId('656b457a19b8a68a37a24401'),\n", + " ObjectId('656b457a19b8a68a37a24402'),\n", + " ObjectId('656b457a19b8a68a37a24403'),\n", + " ObjectId('656b457a19b8a68a37a24404'),\n", + " ObjectId('656b457a19b8a68a37a24405'),\n", + " ObjectId('656b457a19b8a68a37a24406'),\n", + " ObjectId('656b457a19b8a68a37a24407'),\n", + " ObjectId('656b457a19b8a68a37a24408'),\n", + " ObjectId('656b457a19b8a68a37a24409'),\n", + " ObjectId('656b457a19b8a68a37a2440a'),\n", + " ObjectId('656b457a19b8a68a37a2440b'),\n", + " ObjectId('656b457a19b8a68a37a2440c'),\n", + " ObjectId('656b457a19b8a68a37a2440d'),\n", + " ObjectId('656b457a19b8a68a37a2440e'),\n", + " ObjectId('656b457a19b8a68a37a2440f'),\n", + " ObjectId('656b457a19b8a68a37a24410'),\n", + " ObjectId('656b457a19b8a68a37a24411'),\n", + " ObjectId('656b457a19b8a68a37a24412'),\n", + " ObjectId('656b457a19b8a68a37a24413'),\n", + " ObjectId('656b457a19b8a68a37a24414'),\n", + " ObjectId('656b457a19b8a68a37a24415'),\n", + " ObjectId('656b457a19b8a68a37a24416'),\n", + " ObjectId('656b457a19b8a68a37a24417'),\n", + " ObjectId('656b457a19b8a68a37a24418'),\n", + " ObjectId('656b457a19b8a68a37a24419'),\n", + " ObjectId('656b457a19b8a68a37a2441a'),\n", + " ObjectId('656b457a19b8a68a37a2441b'),\n", + " ObjectId('656b457a19b8a68a37a2441c'),\n", + " ObjectId('656b457a19b8a68a37a2441d'),\n", + " ObjectId('656b457a19b8a68a37a2441e'),\n", + " ObjectId('656b457a19b8a68a37a2441f'),\n", + " ObjectId('656b457a19b8a68a37a24420'),\n", + " ObjectId('656b457a19b8a68a37a24421'),\n", + " ObjectId('656b457a19b8a68a37a24422'),\n", + " ObjectId('656b457a19b8a68a37a24423'),\n", + " ObjectId('656b457a19b8a68a37a24424'),\n", + " ObjectId('656b457a19b8a68a37a24425'),\n", + " ObjectId('656b457a19b8a68a37a24426'),\n", + " ObjectId('656b457a19b8a68a37a24427'),\n", + " ObjectId('656b457a19b8a68a37a24428'),\n", + " ObjectId('656b457a19b8a68a37a24429'),\n", + " ObjectId('656b457a19b8a68a37a2442a'),\n", + " ObjectId('656b457a19b8a68a37a2442b'),\n", + " ObjectId('656b457a19b8a68a37a2442c'),\n", + " ObjectId('656b457a19b8a68a37a2442d'),\n", + " ObjectId('656b457a19b8a68a37a2442e'),\n", + " ObjectId('656b457a19b8a68a37a2442f'),\n", + " ObjectId('656b457a19b8a68a37a24430'),\n", + " ObjectId('656b457a19b8a68a37a24431'),\n", + " ObjectId('656b457a19b8a68a37a24432'),\n", + " ObjectId('656b457a19b8a68a37a24433'),\n", + " ObjectId('656b457a19b8a68a37a24434'),\n", + " ObjectId('656b457a19b8a68a37a24435'),\n", + " ObjectId('656b457a19b8a68a37a24436'),\n", + " ObjectId('656b457a19b8a68a37a24437'),\n", + " ObjectId('656b457a19b8a68a37a24438'),\n", + " ObjectId('656b457a19b8a68a37a24439'),\n", + " ObjectId('656b457a19b8a68a37a2443a'),\n", + " ObjectId('656b457a19b8a68a37a2443b'),\n", + " ObjectId('656b457a19b8a68a37a2443c'),\n", + " ObjectId('656b457a19b8a68a37a2443d'),\n", + " ObjectId('656b457a19b8a68a37a2443e'),\n", + " ObjectId('656b457a19b8a68a37a2443f'),\n", + " ObjectId('656b457a19b8a68a37a24440'),\n", + " ObjectId('656b457a19b8a68a37a24441'),\n", + " ObjectId('656b457a19b8a68a37a24442'),\n", + " ObjectId('656b457a19b8a68a37a24443'),\n", + " ObjectId('656b457a19b8a68a37a24444'),\n", + " ObjectId('656b457a19b8a68a37a24445'),\n", + " ObjectId('656b457a19b8a68a37a24446'),\n", + " ObjectId('656b457a19b8a68a37a24447'),\n", + " ObjectId('656b457a19b8a68a37a24448'),\n", + " ObjectId('656b457a19b8a68a37a24449'),\n", + " ObjectId('656b457a19b8a68a37a2444a'),\n", + " ObjectId('656b457a19b8a68a37a2444b'),\n", + " ObjectId('656b457a19b8a68a37a2444c'),\n", + " ObjectId('656b457a19b8a68a37a2444d'),\n", + " ObjectId('656b457a19b8a68a37a2444e'),\n", + " ObjectId('656b457a19b8a68a37a2444f'),\n", + " ObjectId('656b457a19b8a68a37a24450'),\n", + " ObjectId('656b457a19b8a68a37a24451'),\n", + " ObjectId('656b457a19b8a68a37a24452'),\n", + " ObjectId('656b457a19b8a68a37a24453'),\n", + " ObjectId('656b457a19b8a68a37a24454'),\n", + " ObjectId('656b457a19b8a68a37a24455'),\n", + " ObjectId('656b457a19b8a68a37a24456'),\n", + " ObjectId('656b457a19b8a68a37a24457'),\n", + " ObjectId('656b457a19b8a68a37a24458'),\n", + " ObjectId('656b457a19b8a68a37a24459'),\n", + " ObjectId('656b457a19b8a68a37a2445a'),\n", + " ObjectId('656b457a19b8a68a37a2445b'),\n", + " ObjectId('656b457a19b8a68a37a2445c'),\n", + " ObjectId('656b457a19b8a68a37a2445d'),\n", + " ObjectId('656b457a19b8a68a37a2445e'),\n", + " ObjectId('656b457a19b8a68a37a2445f'),\n", + " ObjectId('656b457a19b8a68a37a24460'),\n", + " ObjectId('656b457a19b8a68a37a24461'),\n", + " ObjectId('656b457a19b8a68a37a24462'),\n", + " ObjectId('656b457a19b8a68a37a24463'),\n", + " ObjectId('656b457a19b8a68a37a24464'),\n", + " ObjectId('656b457a19b8a68a37a24465'),\n", + " ObjectId('656b457a19b8a68a37a24466'),\n", + " ObjectId('656b457a19b8a68a37a24467'),\n", + " ObjectId('656b457a19b8a68a37a24468'),\n", + " ObjectId('656b457a19b8a68a37a24469'),\n", + " ObjectId('656b457a19b8a68a37a2446a'),\n", + " ObjectId('656b457a19b8a68a37a2446b'),\n", + " ObjectId('656b457a19b8a68a37a2446c'),\n", + " ObjectId('656b457a19b8a68a37a2446d'),\n", + " ObjectId('656b457a19b8a68a37a2446e'),\n", + " ObjectId('656b457a19b8a68a37a2446f'),\n", + " ObjectId('656b457a19b8a68a37a24470'),\n", + " ObjectId('656b457a19b8a68a37a24471'),\n", + " ObjectId('656b457a19b8a68a37a24472'),\n", + " ObjectId('656b457a19b8a68a37a24473'),\n", + " ObjectId('656b457a19b8a68a37a24474'),\n", + " ObjectId('656b457a19b8a68a37a24475'),\n", + " ObjectId('656b457a19b8a68a37a24476'),\n", + " ObjectId('656b457a19b8a68a37a24477'),\n", + " ObjectId('656b457a19b8a68a37a24478'),\n", + " ObjectId('656b457a19b8a68a37a24479'),\n", + " ObjectId('656b457a19b8a68a37a2447a'),\n", + " ObjectId('656b457a19b8a68a37a2447b'),\n", + " ObjectId('656b457a19b8a68a37a2447c'),\n", + " ObjectId('656b457a19b8a68a37a2447d'),\n", + " ObjectId('656b457a19b8a68a37a2447e'),\n", + " ObjectId('656b457a19b8a68a37a2447f'),\n", + " ObjectId('656b457a19b8a68a37a24480'),\n", + " ObjectId('656b457a19b8a68a37a24481'),\n", + " ObjectId('656b457a19b8a68a37a24482'),\n", + " ObjectId('656b457a19b8a68a37a24483'),\n", + " ObjectId('656b457a19b8a68a37a24484'),\n", + " ObjectId('656b457a19b8a68a37a24485'),\n", + " ObjectId('656b457a19b8a68a37a24486'),\n", + " ObjectId('656b457a19b8a68a37a24487'),\n", + " ObjectId('656b457a19b8a68a37a24488'),\n", + " ObjectId('656b457a19b8a68a37a24489'),\n", + " ObjectId('656b457a19b8a68a37a2448a'),\n", + " ObjectId('656b457a19b8a68a37a2448b'),\n", + " ObjectId('656b457a19b8a68a37a2448c'),\n", + " ObjectId('656b457a19b8a68a37a2448d'),\n", + " ObjectId('656b457a19b8a68a37a2448e'),\n", + " ObjectId('656b457a19b8a68a37a2448f'),\n", + " ObjectId('656b457a19b8a68a37a24490'),\n", + " ObjectId('656b457a19b8a68a37a24491'),\n", + " ObjectId('656b457a19b8a68a37a24492'),\n", + " ObjectId('656b457a19b8a68a37a24493'),\n", + " ObjectId('656b457a19b8a68a37a24494'),\n", + " ObjectId('656b457a19b8a68a37a24495'),\n", + " ObjectId('656b457a19b8a68a37a24496'),\n", + " ObjectId('656b457a19b8a68a37a24497'),\n", + " ObjectId('656b457a19b8a68a37a24498'),\n", + " ObjectId('656b457a19b8a68a37a24499'),\n", + " ObjectId('656b457a19b8a68a37a2449a'),\n", + " ObjectId('656b457a19b8a68a37a2449b'),\n", + " ObjectId('656b457a19b8a68a37a2449c'),\n", + " ObjectId('656b457a19b8a68a37a2449d'),\n", + " ObjectId('656b457a19b8a68a37a2449e'),\n", + " ObjectId('656b457a19b8a68a37a2449f'),\n", + " ObjectId('656b457a19b8a68a37a244a0'),\n", + " ObjectId('656b457a19b8a68a37a244a1'),\n", + " ObjectId('656b457a19b8a68a37a244a2'),\n", + " ObjectId('656b457a19b8a68a37a244a3'),\n", + " ObjectId('656b457a19b8a68a37a244a4'),\n", + " ObjectId('656b457a19b8a68a37a244a5'),\n", + " ObjectId('656b457a19b8a68a37a244a6'),\n", + " ObjectId('656b457a19b8a68a37a244a7'),\n", + " ObjectId('656b457a19b8a68a37a244a8'),\n", + " ObjectId('656b457a19b8a68a37a244a9'),\n", + " ObjectId('656b457a19b8a68a37a244aa'),\n", + " ObjectId('656b457a19b8a68a37a244ab'),\n", + " ObjectId('656b457a19b8a68a37a244ac'),\n", + " ObjectId('656b457a19b8a68a37a244ad'),\n", + " ObjectId('656b457a19b8a68a37a244ae'),\n", + " ObjectId('656b457a19b8a68a37a244af'),\n", + " ObjectId('656b457a19b8a68a37a244b0'),\n", + " ObjectId('656b457a19b8a68a37a244b1'),\n", + " ObjectId('656b457a19b8a68a37a244b2'),\n", + " ObjectId('656b457a19b8a68a37a244b3'),\n", + " ObjectId('656b457a19b8a68a37a244b4'),\n", + " ObjectId('656b457a19b8a68a37a244b5'),\n", + " ObjectId('656b457a19b8a68a37a244b6'),\n", + " ObjectId('656b457a19b8a68a37a244b7'),\n", + " ObjectId('656b457a19b8a68a37a244b8'),\n", + " ObjectId('656b457a19b8a68a37a244b9'),\n", + " ObjectId('656b457a19b8a68a37a244ba'),\n", + " ObjectId('656b457a19b8a68a37a244bb'),\n", + " ObjectId('656b457a19b8a68a37a244bc'),\n", + " ObjectId('656b457a19b8a68a37a244bd'),\n", + " ObjectId('656b457a19b8a68a37a244be'),\n", + " ObjectId('656b457a19b8a68a37a244bf'),\n", + " ObjectId('656b457a19b8a68a37a244c0'),\n", + " ObjectId('656b457a19b8a68a37a244c1'),\n", + " ObjectId('656b457a19b8a68a37a244c2'),\n", + " ObjectId('656b457a19b8a68a37a244c3'),\n", + " ObjectId('656b457a19b8a68a37a244c4'),\n", + " ObjectId('656b457a19b8a68a37a244c5'),\n", + " ObjectId('656b457a19b8a68a37a244c6'),\n", + " ObjectId('656b457a19b8a68a37a244c7'),\n", + " ObjectId('656b457a19b8a68a37a244c8'),\n", + " ObjectId('656b457a19b8a68a37a244c9'),\n", + " ObjectId('656b457a19b8a68a37a244ca'),\n", + " ObjectId('656b457a19b8a68a37a244cb'),\n", + " ObjectId('656b457a19b8a68a37a244cc'),\n", + " ObjectId('656b457a19b8a68a37a244cd'),\n", + " ObjectId('656b457a19b8a68a37a244ce'),\n", + " ObjectId('656b457a19b8a68a37a244cf'),\n", + " ObjectId('656b457a19b8a68a37a244d0'),\n", + " ObjectId('656b457a19b8a68a37a244d1'),\n", + " ObjectId('656b457a19b8a68a37a244d2'),\n", + " ObjectId('656b457a19b8a68a37a244d3'),\n", + " ObjectId('656b457a19b8a68a37a244d4'),\n", + " ObjectId('656b457a19b8a68a37a244d5'),\n", + " ObjectId('656b457a19b8a68a37a244d6'),\n", + " ObjectId('656b457a19b8a68a37a244d7'),\n", + " ObjectId('656b457a19b8a68a37a244d8'),\n", + " ObjectId('656b457a19b8a68a37a244d9'),\n", + " ObjectId('656b457a19b8a68a37a244da'),\n", + " ObjectId('656b457a19b8a68a37a244db'),\n", + " ObjectId('656b457a19b8a68a37a244dc'),\n", + " ObjectId('656b457a19b8a68a37a244dd'),\n", + " ObjectId('656b457a19b8a68a37a244de'),\n", + " ObjectId('656b457a19b8a68a37a244df'),\n", + " ObjectId('656b457a19b8a68a37a244e0'),\n", + " ObjectId('656b457a19b8a68a37a244e1'),\n", + " ObjectId('656b457a19b8a68a37a244e2'),\n", + " ObjectId('656b457a19b8a68a37a244e3'),\n", + " ObjectId('656b457a19b8a68a37a244e4'),\n", + " ObjectId('656b457a19b8a68a37a244e5'),\n", + " ObjectId('656b457a19b8a68a37a244e6'),\n", + " ObjectId('656b457a19b8a68a37a244e7'),\n", + " ObjectId('656b457a19b8a68a37a244e8'),\n", + " ObjectId('656b457a19b8a68a37a244e9'),\n", + " ObjectId('656b457a19b8a68a37a244ea'),\n", + " ObjectId('656b457a19b8a68a37a244eb'),\n", + " ObjectId('656b457a19b8a68a37a244ec'),\n", + " ObjectId('656b457a19b8a68a37a244ed'),\n", + " ObjectId('656b457a19b8a68a37a244ee'),\n", + " ObjectId('656b457a19b8a68a37a244ef'),\n", + " ObjectId('656b457a19b8a68a37a244f0'),\n", + " ObjectId('656b457a19b8a68a37a244f1'),\n", + " ObjectId('656b457a19b8a68a37a244f2'),\n", + " ObjectId('656b457a19b8a68a37a244f3'),\n", + " ObjectId('656b457a19b8a68a37a244f4'),\n", + " ObjectId('656b457a19b8a68a37a244f5'),\n", + " ObjectId('656b457a19b8a68a37a244f6'),\n", + " ObjectId('656b457a19b8a68a37a244f7'),\n", + " ObjectId('656b457a19b8a68a37a244f8'),\n", + " ObjectId('656b457a19b8a68a37a244f9')],\n", + " TaskWorkflow(database=, G=))" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import numpy\n", "from datasets import load_dataset\n", @@ -158,10 +692,52 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "fef91c74", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:56:06.70\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m220 \u001b[0m | \u001b[1mAdding model all-MiniLM-L6-v2 to db\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:56:08.23\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m873 \u001b[0m | \u001b[34m\u001b[1mmodel/all-MiniLM-L6-v2/0 already exists - doing nothing\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:56:08.23\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m220 \u001b[0m | \u001b[1mAdding model all-MiniLM-L6-v2 to db\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:56:08.23\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36m9f457d82-6f85-4388-9550-dab53ce67e22\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m873 \u001b[0m | \u001b[34m\u001b[1mmodel/all-MiniLM-L6-v2/0 already exists - doing nothing\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "500it [00:00, 51113.90it/s]\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b654ce8c84e8442e9dc46482f779f20f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Batches: 0%| | 0/16 [00:00
But like most fans of the show, I watched a few episodes on You Tube- and afterwards, I loved it.

The Evans family are headed by James and Florida- two parents trying to make ends meet, and who despite their lack of qualifications, encourage their children, who have their own aspirations in life to fulfil them and to take their chances. James was the strict but loving dad, who didn't dare hesitate in disciplining J.J, Michael and Thelma- should they over-step the line. Whilst Florida, in contrast was a fair, kind- hearted and considerate mother and loving wife, although she was in many ways similar to James, with regards to their attitudes to parenthood and family values from an Afro- American perspective.

The kids were just as lively and entertaining as the parents themselves: J.J was an aspiring artist with a goofy personality and crazy sense of humour, who would often wear multi-coloured outfits, and whose 'DY-NO-MITE' catchphrase is as infectious and familiar as Arnold Jackson's 'Whatchoo talking' 'bout Willis?' from Diff'rent Strokes. Michael was the smart-alec, who dreams of becoming a lawyer, whilst sister Thelma had her own dreams and hopes. Her verbal taunts with J.J were mostly hilarious, as was the love/hate relationship between brother and sister, which was played out extremely well by both Mike Evans and Bernadette Stanis.

Over the seasons, there were a few cameo appearances made, most notably from Janet Jackson, Debbie Allen and a young Gary Coleman as himself! I actually prefer Good Times over say, The Cosby Show, which was an 80s show because a) I preferred the Evans family over the Huxtables, both in terms of a) characterisation and b)as I felt it tackled serious and difficult social issues, in a way that resonated with many viewers. It was a comedy but it was also a social commentary which aimed to highlight the lives of working class, Afro- Americans in 1970s America. The Cosby Show attempted to cater to the mainstream audience in a 'candy coated' way, as the Huxtables were portrayed as Blacks who easily assimilated themselves into an upper-class U.S culture we would associate Whites with, whereas Good Times in contrast was much more 'edgier' and it was not afraid to address themes such as drug and child abuse in a realistic way. I actually found that whilst The Cosby Show can be fun to watch at times, it lacked that bit of 'sassiness' which Good Times has and of which made it trendier and cooler.

The show did jump the shark during the latter seasons, as it continued after John Amos's character, James died in a freak accident (in reality, it was known at the time that John had quit Good Times for good. And so, his character's death was written as it is on the show). Without John, the show suffered and alas, it lost a lot of its charm.

Still, for a sitcom, Good Times ticked all the right boxes. If only they had shown this in the UK during the 80s. As it certainly is, as JJ would put it, 'DY-NO-MITE!!'

My rating: 8 and a half\", 'label': 1, '_id': ObjectId('656b457a19b8a68a37a24306'), '_outputs': {'text': {'all-MiniLM-L6-v2': {'0': Encodable(encoder=Encoder(identifier='numpy.float32[384]', decoder= serializer=dill>, encoder=, shape=[384], load_hybrid=True, version=0), x=array([-5.43831810e-02, -5.51244840e-02, 3.21335532e-02, 2.50964407e-02,\n", + " 1.75635703e-02, 5.77615425e-02, 2.34267581e-02, -4.44600582e-02,\n", + " -3.80322188e-02, -3.25084403e-02, 1.91391390e-02, 6.19836524e-02,\n", + " 2.07159612e-02, 2.00911239e-02, 8.35335872e-04, -3.88877876e-02,\n", + " 1.45964399e-02, 1.77028868e-02, -9.81054455e-02, -2.23317277e-02,\n", + " -8.27907398e-03, -1.96028557e-02, 5.89370131e-02, -2.26050820e-02,\n", + " -4.42431234e-02, 2.55726893e-02, 1.91268083e-02, 1.29109882e-02,\n", + " -2.16107741e-02, 2.09085643e-02, -4.79351357e-02, -4.13597450e-02,\n", + " 2.51752250e-02, -6.07251562e-03, -1.37786213e-02, 7.34852999e-03,\n", + " 1.89337321e-02, 7.56472945e-02, -6.40144572e-02, -2.74304189e-02,\n", + " -3.67858075e-02, 2.62878239e-02, 3.55037935e-02, -6.42258823e-02,\n", + " -1.00208335e-01, -1.01472333e-01, -8.59676208e-03, -3.92431952e-02,\n", + " 2.11020242e-02, 6.08572513e-02, -2.66844071e-02, 5.37965186e-02,\n", + " 3.21249152e-03, -1.16570778e-01, -2.70214886e-03, 5.29879704e-02,\n", + " -5.69530465e-02, 7.12711066e-02, 2.12543318e-03, 3.72234695e-02,\n", + " -1.56307481e-02, -3.70191000e-02, -3.50511633e-02, 4.20484431e-02,\n", + " 4.32812562e-03, -1.32609252e-02, -1.95949525e-02, 3.21480855e-02,\n", + " -1.32334689e-02, -8.98690801e-03, -4.80943061e-02, 3.27669196e-02,\n", + " 8.13515671e-03, -2.27858014e-02, -2.65283156e-02, 1.02391884e-01,\n", + " 2.59796456e-02, 3.78596038e-02, -4.30896785e-03, -9.41888429e-03,\n", + " 4.70066741e-02, -8.35274756e-02, -5.63568436e-02, 3.45175192e-02,\n", + " -6.06152080e-02, -5.77127673e-02, -6.53559417e-02, -5.92212342e-02,\n", + " 7.24521130e-02, 4.68347445e-02, -8.72396305e-03, -4.85098176e-02,\n", + " 4.90494296e-02, -8.02264642e-03, 1.60390548e-02, -4.79739718e-02,\n", + " -5.09335212e-02, 3.50778252e-02, -7.48368353e-02, 8.17067027e-02,\n", + " -4.78571877e-02, -9.83873382e-03, 8.39224979e-02, 3.38680856e-02,\n", + " 2.57689524e-02, -4.92673293e-02, -5.45563400e-02, 7.12791681e-02,\n", + " -3.06141600e-02, -1.83120500e-02, 1.26953609e-02, 3.33620124e-02,\n", + " 1.57428216e-02, 3.28967273e-02, 6.44847155e-02, -1.31492317e-01,\n", + " 7.45020434e-02, -4.53859493e-02, -8.03768262e-03, -7.39695057e-02,\n", + " 6.85578585e-02, 1.15673400e-01, -1.89050529e-02, -5.00331186e-02,\n", + " -5.56722023e-02, 6.42431974e-02, -1.40717076e-02, -6.52270565e-34,\n", + " 1.55265792e-03, 2.44767554e-02, 6.37503415e-02, 3.30919512e-02,\n", + " 3.87421716e-03, 4.37244177e-02, -8.22419748e-02, 3.03474329e-02,\n", + " -1.48733780e-02, 1.39726270e-02, 5.07277809e-02, 3.74912396e-02,\n", + " -6.25033304e-02, -9.10108909e-02, -7.71057010e-02, 3.25524360e-02,\n", + " -5.97794950e-02, -1.55843217e-02, 2.90092477e-03, 1.33367836e-01,\n", + " -3.74968573e-02, 1.04464903e-01, 2.01635472e-02, -3.36229354e-02,\n", + " -6.68476894e-02, -5.23069426e-02, 2.09300183e-02, 8.40028226e-02,\n", + " -3.69751453e-02, 1.79003365e-02, -4.86198962e-02, 4.46284143e-03,\n", + " -1.61099620e-02, -4.50469591e-02, 1.16117753e-01, -2.60356329e-02,\n", + " 1.80684067e-02, -4.46664356e-02, 4.25315201e-02, -4.46869945e-03,\n", + " -2.60204095e-02, -2.48928927e-02, -3.18481512e-02, 1.23834185e-01,\n", + " -3.64085287e-02, 3.76432799e-02, 1.21048815e-03, -1.78508703e-02,\n", + " 5.25629334e-03, 1.03504032e-01, -3.74673717e-02, -5.34470230e-02,\n", + " 8.07461981e-03, -8.36673975e-02, -4.28108759e-02, 8.18381310e-02,\n", + " 4.14806940e-02, 3.67918387e-02, 2.43809307e-03, 3.47330002e-04,\n", + " 5.28321080e-02, 5.53482845e-02, -7.40111899e-03, -2.81623397e-02,\n", + " -5.98018840e-02, -1.17540983e-02, 3.77027206e-02, 6.93098232e-02,\n", + " -1.91092696e-02, 7.94996880e-03, 5.72656840e-02, 7.54335225e-02,\n", + " 1.91451013e-02, -4.79304157e-02, 1.04892284e-01, 1.84416268e-02,\n", + " -5.56073035e-04, 4.87815775e-02, -2.30181962e-03, -6.51490167e-02,\n", + " 1.95127651e-02, -3.05333063e-02, -2.75151315e-03, -2.50458214e-02,\n", + " 1.20197767e-02, -9.44997445e-02, 8.88800714e-03, -4.30737734e-02,\n", + " 2.18565930e-02, 5.40208444e-02, 3.31822038e-02, 5.14234267e-02,\n", + " 3.82286906e-02, -4.23549637e-02, 1.44220768e-02, -2.78614845e-33,\n", + " 9.38048363e-02, -3.39842699e-02, 5.21627627e-02, 3.43911275e-02,\n", + " 4.56665680e-02, -8.60508382e-02, -3.07295863e-02, 3.43620814e-02,\n", + " 6.91637695e-02, -3.89038473e-02, -3.48249972e-02, -4.50570062e-02,\n", + " 1.09319076e-01, -3.76353823e-02, -1.44441770e-02, -5.94385900e-02,\n", + " 3.16072479e-02, -2.08998229e-02, 1.83679368e-02, -1.80685092e-02,\n", + " 3.86901386e-02, 1.82675142e-02, -2.18734033e-02, -6.83458103e-03,\n", + " 8.44008178e-02, -3.58931720e-02, -4.69898134e-02, 7.93845952e-02,\n", + " -1.33707032e-01, 8.71426389e-02, 4.30974439e-02, 1.74289942e-02,\n", + " 6.70863464e-02, -2.76959967e-02, -1.04746418e-02, 4.86117834e-03,\n", + " 1.50966356e-02, -6.62593311e-03, -6.64483057e-03, -1.09975964e-01,\n", + " 5.42458007e-03, -6.87842369e-02, -2.71132011e-02, 7.57423714e-02,\n", + " -3.54439206e-02, 1.37744963e-01, -3.21379001e-03, 3.80124450e-02,\n", + " -4.55262363e-02, -2.89183669e-02, -1.11581892e-01, 4.51200285e-05,\n", + " -6.79084286e-02, 8.58608708e-02, -2.77745500e-02, 4.46741693e-02,\n", + " 4.59089391e-02, 1.31833423e-02, -5.08293025e-02, 1.31657943e-01,\n", + " -9.46257934e-02, -1.12418175e-01, -1.67286079e-02, -5.91240041e-02,\n", + " 4.41485737e-03, -4.92995121e-02, 3.20970118e-02, -3.04601062e-02,\n", + " 2.25771614e-03, -5.77718392e-02, -6.42266944e-02, -8.17363635e-02,\n", + " 1.13737946e-02, -5.68596311e-02, -3.87982960e-04, -5.02700824e-03,\n", + " -3.87857892e-02, -4.87696268e-02, -3.82171832e-02, 1.11334613e-02,\n", + " -1.80504341e-02, 5.82296634e-03, -7.56154582e-02, 1.91669855e-02,\n", + " -1.02191586e-02, 4.61601466e-02, -3.39661608e-03, 1.00846663e-02,\n", + " -4.83513735e-02, 2.86179222e-02, 3.78282741e-02, -2.77038421e-02,\n", + " -2.93229278e-02, -3.76597652e-03, -1.02552352e-02, -5.54955548e-08,\n", + " 2.56917272e-02, -3.04321889e-02, -2.25072335e-02, -9.09646079e-02,\n", + " -5.73734567e-02, -4.63115163e-02, -2.60533150e-02, 5.35538904e-02,\n", + " 4.45896126e-02, 7.85744786e-02, 7.07157655e-03, 5.29014729e-02,\n", + " -8.83772597e-03, -2.95783989e-02, 8.56504589e-03, -6.02152459e-02,\n", + " 4.96022962e-02, 3.39522734e-02, -2.51807496e-02, 9.10643116e-02,\n", + " 8.75159577e-02, 7.71536608e-04, 1.20909825e-01, 1.72907226e-02,\n", + " -4.96087968e-03, -2.72526853e-02, 2.09983159e-03, -6.67392612e-02,\n", + " -1.18686527e-03, 1.23160016e-02, -1.14515731e-02, 3.13072577e-02,\n", + " -6.66551664e-02, 3.79856788e-02, -7.35867843e-02, -1.55280456e-01,\n", + " -5.62001802e-02, 1.42130218e-02, -5.09586418e-03, 4.41394113e-02,\n", + " 5.86506492e-03, 9.36495326e-03, -6.37966618e-02, -8.95306747e-03,\n", + " 5.08071072e-02, 6.66453689e-02, 1.31559530e-02, 1.59486607e-01,\n", + " -4.87444736e-02, -3.06058931e-03, -5.43362834e-02, 3.84094790e-02,\n", + " -1.00864731e-01, -7.87367579e-03, 3.53281237e-02, -7.55528212e-02,\n", + " 3.53609622e-02, 7.88495392e-02, -7.07864715e-03, -3.03837713e-02,\n", + " 3.58226746e-02, 3.22986431e-02, 2.37751957e-02, -8.35977048e-02],\n", + " dtype=float32), uri=None)}}}})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "db.execute(collection.find_one())" ] diff --git a/examples/vector_search.ipynb b/examples/vector_search.ipynb index e2c5244970..acefc1c4db 100644 --- a/examples/vector_search.ipynb +++ b/examples/vector_search.ipynb @@ -328,7 +328,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -342,7 +342,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.18" + "version": "3.11.6" } }, "nbformat": 4, diff --git a/examples/video_search.ipynb b/examples/video_search.ipynb index b44ec1caf0..8d0f5f2298 100644 --- a/examples/video_search.ipynb +++ b/examples/video_search.ipynb @@ -71,10 +71,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "99de0e3d-8918-4fc4-a45b-0a58b70793c6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:59:20.94\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m50 \u001b[0m | \u001b[34m\u001b[1mParsing data connection URI:mongomock://test\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:20.95\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m133 \u001b[0m | \u001b[1mData Client is ready. mongomock.MongoClient('localhost', 27017)\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:20.95\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m79 \u001b[0m | \u001b[1mBuilding Data Layer\u001b[0m\n" + ] + } + ], "source": [ "from superduperdb import superduper, CFG\n", "from superduperdb.backends.mongodb import Collection\n", @@ -111,10 +121,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "ebac4921-5c83-4ba7-b793-67f5f90d42ec", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "([],\n", + " Encoder(identifier='video_on_file', decoder= serializer=dill>, encoder= serializer=dill>, shape=None, load_hybrid=False, version=0))" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from superduperdb import Encoder\n", "\n", @@ -138,10 +160,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "ee6335cb-960d-4239-be6e-501d52b88026", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:59:44.26\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m716 \u001b[0m | \u001b[34m\u001b[1mBuilding task workflow graph. Query:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:44.27\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m32 \u001b[0m | \u001b[1mSubmitting job. function:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:44.27\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m337 \u001b[0m | \u001b[34m\u001b[1m{'cls': 'MongoCompoundSelect', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'videos'}, 'module': 'superduperdb.backends.mongodb.query'}, 'pre_like': None, 'post_like': None, 'query_linker': {'cls': 'MongoQueryLinker', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'videos'}, 'module': 'superduperdb.backends.mongodb.query'}, 'members': [{'cls': 'Find', 'dict': {'name': 'find', 'type': , 'args': [{}, {}], 'kwargs': {}, 'output_fields': None}, 'module': 'superduperdb.backends.mongodb.query'}]}, 'module': 'superduperdb.backends.mongodb.query'}}, 'module': 'superduperdb.backends.mongodb.query'}\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:44.27\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m338 \u001b[0m | \u001b[34m\u001b[1m[ObjectId('656b4660a2fcbe9422ce4c64')]\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:44.27\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m358 \u001b[0m | \u001b[1mfound 1 uris\u001b[0m\n", + "\u001b[32m 2023-Dec-02 15:59:44.60\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m125 \u001b[0m | \u001b[1mnumber of workers 0\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 1.60it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 15:59:45.23\u001b[0m| \u001b[32m\u001b[1mSUCCESS \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36ma32d5b4a-4e47-429a-a605-1c55cf04d346\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m38 \u001b[0m | \u001b[32m\u001b[1mJob submitted. function: future:90df4538-cfad-4024-8a6c-60fb8ca0c37c\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "text/plain": [ + "[Document({'video': Encodable(encoder=Encoder(identifier='video_on_file', decoder=, encoder=, shape=None, load_hybrid=False, version=0), x=None, uri='https://superduperdb-public.s3.eu-west-1.amazonaws.com/animals_excerpt.mp4'), '_fold': 'train', '_id': ObjectId('656b4660a2fcbe9422ce4c64')})]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from superduperdb.base.document import Document\n", "\n", @@ -158,10 +226,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "8f6bf3fa-2a2b-44c4-8a95-328a515c90c0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Document({'video': Encodable(encoder=Encoder(identifier='video_on_file', decoder=, encoder=, shape=None, load_hybrid=False, version=0), x=None, uri='https://superduperdb-public.s3.eu-west-1.amazonaws.com/animals_excerpt.mp4'), '_fold': 'train', '_id': ObjectId('656b4660a2fcbe9422ce4c64')})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "db.execute(video_collection.find_one())" ] @@ -194,6 +273,7 @@ "from superduperdb.ext.pillow import pil_image\n", "from superduperdb import Model, Schema\n", "\n", + "\n", "# Define a function to convert a video file into a list of images\n", "def video2images(video_file):\n", " # Set the sampling frequency for frames\n", @@ -240,7 +320,7 @@ " flatten=True,\n", " model_update_kwargs={'document_embedded': False},\n", " output_schema=Schema(identifier='myschema', fields={'image': pil_image})\n", - ")\n" + ")" ] }, { diff --git a/examples/voice_memos.ipynb b/examples/voice_memos.ipynb index 924acc9f96..a93c212044 100644 --- a/examples/voice_memos.ipynb +++ b/examples/voice_memos.ipynb @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "94262bf76c630b10", "metadata": { "tags": [] @@ -102,12 +102,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b84da3f2ef58e401", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 16:02:04.70\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m50 \u001b[0m | \u001b[34m\u001b[1mParsing data connection URI:mongomock://test\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:04.72\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.base.build\u001b[0m:\u001b[36m133 \u001b[0m | \u001b[1mData Client is ready. mongomock.MongoClient('localhost', 27017)\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:04.72\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m79 \u001b[0m | \u001b[1mBuilding Data Layer\u001b[0m\n" + ] + } + ], "source": [ "from superduperdb import superduper\n", "from superduperdb.backends.mongodb import Collection\n", @@ -134,12 +144,109 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "10ab7114", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 16:02:24.25\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m716 \u001b[0m | \u001b[34m\u001b[1mBuilding task workflow graph. Query:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:24.25\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m32 \u001b[0m | \u001b[1mSubmitting job. function:\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:24.25\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m337 \u001b[0m | \u001b[34m\u001b[1m{'cls': 'MongoCompoundSelect', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'voice-memos'}, 'module': 'superduperdb.backends.mongodb.query'}, 'pre_like': None, 'post_like': None, 'query_linker': {'cls': 'MongoQueryLinker', 'dict': {'table_or_collection': {'cls': 'Collection', 'dict': {'identifier': 'voice-memos'}, 'module': 'superduperdb.backends.mongodb.query'}, 'members': [{'cls': 'Find', 'dict': {'name': 'find', 'type': , 'args': [{}, {}], 'kwargs': {}, 'output_fields': None}, 'module': 'superduperdb.backends.mongodb.query'}]}, 'module': 'superduperdb.backends.mongodb.query'}}, 'module': 'superduperdb.backends.mongodb.query'}\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:24.25\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.misc.download\u001b[0m:\u001b[36m338 \u001b[0m | \u001b[34m\u001b[1m[ObjectId('656b470033c6db0df54b7bb3'), ObjectId('656b470033c6db0df54b7bb4'), ObjectId('656b470033c6db0df54b7bb5'), ObjectId('656b470033c6db0df54b7bb6'), ObjectId('656b470033c6db0df54b7bb7'), ObjectId('656b470033c6db0df54b7bb8'), ObjectId('656b470033c6db0df54b7bb9'), ObjectId('656b470033c6db0df54b7bba'), ObjectId('656b470033c6db0df54b7bbb'), ObjectId('656b470033c6db0df54b7bbc'), ObjectId('656b470033c6db0df54b7bbd'), ObjectId('656b470033c6db0df54b7bbe'), ObjectId('656b470033c6db0df54b7bbf'), ObjectId('656b470033c6db0df54b7bc0'), ObjectId('656b470033c6db0df54b7bc1'), ObjectId('656b470033c6db0df54b7bc2'), ObjectId('656b470033c6db0df54b7bc3'), ObjectId('656b470033c6db0df54b7bc4'), ObjectId('656b470033c6db0df54b7bc5'), ObjectId('656b470033c6db0df54b7bc6'), ObjectId('656b470033c6db0df54b7bc7'), ObjectId('656b470033c6db0df54b7bc8'), ObjectId('656b470033c6db0df54b7bc9'), ObjectId('656b470033c6db0df54b7bca'), ObjectId('656b470033c6db0df54b7bcb'), ObjectId('656b470033c6db0df54b7bcc'), ObjectId('656b470033c6db0df54b7bcd'), ObjectId('656b470033c6db0df54b7bce'), ObjectId('656b470033c6db0df54b7bcf'), ObjectId('656b470033c6db0df54b7bd0'), ObjectId('656b470033c6db0df54b7bd1'), ObjectId('656b470033c6db0df54b7bd2'), ObjectId('656b470033c6db0df54b7bd3'), ObjectId('656b470033c6db0df54b7bd4'), ObjectId('656b470033c6db0df54b7bd5'), ObjectId('656b470033c6db0df54b7bd6'), ObjectId('656b470033c6db0df54b7bd7'), ObjectId('656b470033c6db0df54b7bd8'), ObjectId('656b470033c6db0df54b7bd9'), ObjectId('656b470033c6db0df54b7bda'), ObjectId('656b470033c6db0df54b7bdb'), ObjectId('656b470033c6db0df54b7bdc'), ObjectId('656b470033c6db0df54b7bdd'), ObjectId('656b470033c6db0df54b7bde'), ObjectId('656b470033c6db0df54b7bdf'), ObjectId('656b470033c6db0df54b7be0'), ObjectId('656b470033c6db0df54b7be1'), ObjectId('656b470033c6db0df54b7be2'), ObjectId('656b470033c6db0df54b7be3'), ObjectId('656b470033c6db0df54b7be4'), ObjectId('656b470033c6db0df54b7be5'), ObjectId('656b470033c6db0df54b7be6'), ObjectId('656b470033c6db0df54b7be7'), ObjectId('656b470033c6db0df54b7be8'), ObjectId('656b470033c6db0df54b7be9'), ObjectId('656b470033c6db0df54b7bea'), ObjectId('656b470033c6db0df54b7beb'), ObjectId('656b470033c6db0df54b7bec'), ObjectId('656b470033c6db0df54b7bed'), ObjectId('656b470033c6db0df54b7bee'), ObjectId('656b470033c6db0df54b7bef'), ObjectId('656b470033c6db0df54b7bf0'), ObjectId('656b470033c6db0df54b7bf1'), ObjectId('656b470033c6db0df54b7bf2'), ObjectId('656b470033c6db0df54b7bf3'), ObjectId('656b470033c6db0df54b7bf4'), ObjectId('656b470033c6db0df54b7bf5'), ObjectId('656b470033c6db0df54b7bf6'), ObjectId('656b470033c6db0df54b7bf7'), ObjectId('656b470033c6db0df54b7bf8'), ObjectId('656b470033c6db0df54b7bf9'), ObjectId('656b470033c6db0df54b7bfa'), ObjectId('656b470033c6db0df54b7bfb')]\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:02:24.27\u001b[0m| \u001b[32m\u001b[1mSUCCESS \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.backends.local.compute\u001b[0m:\u001b[36m38 \u001b[0m | \u001b[32m\u001b[1mJob submitted. function: future:1dddbb57-4f1f-483f-9649-fcffb0cac9c1\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "([ObjectId('656b470033c6db0df54b7bb3'),\n", + " ObjectId('656b470033c6db0df54b7bb4'),\n", + " ObjectId('656b470033c6db0df54b7bb5'),\n", + " ObjectId('656b470033c6db0df54b7bb6'),\n", + " ObjectId('656b470033c6db0df54b7bb7'),\n", + " ObjectId('656b470033c6db0df54b7bb8'),\n", + " ObjectId('656b470033c6db0df54b7bb9'),\n", + " ObjectId('656b470033c6db0df54b7bba'),\n", + " ObjectId('656b470033c6db0df54b7bbb'),\n", + " ObjectId('656b470033c6db0df54b7bbc'),\n", + " ObjectId('656b470033c6db0df54b7bbd'),\n", + " ObjectId('656b470033c6db0df54b7bbe'),\n", + " ObjectId('656b470033c6db0df54b7bbf'),\n", + " ObjectId('656b470033c6db0df54b7bc0'),\n", + " ObjectId('656b470033c6db0df54b7bc1'),\n", + " ObjectId('656b470033c6db0df54b7bc2'),\n", + " ObjectId('656b470033c6db0df54b7bc3'),\n", + " ObjectId('656b470033c6db0df54b7bc4'),\n", + " ObjectId('656b470033c6db0df54b7bc5'),\n", + " ObjectId('656b470033c6db0df54b7bc6'),\n", + " ObjectId('656b470033c6db0df54b7bc7'),\n", + " ObjectId('656b470033c6db0df54b7bc8'),\n", + " ObjectId('656b470033c6db0df54b7bc9'),\n", + " ObjectId('656b470033c6db0df54b7bca'),\n", + " ObjectId('656b470033c6db0df54b7bcb'),\n", + " ObjectId('656b470033c6db0df54b7bcc'),\n", + " ObjectId('656b470033c6db0df54b7bcd'),\n", + " ObjectId('656b470033c6db0df54b7bce'),\n", + " ObjectId('656b470033c6db0df54b7bcf'),\n", + " ObjectId('656b470033c6db0df54b7bd0'),\n", + " ObjectId('656b470033c6db0df54b7bd1'),\n", + " ObjectId('656b470033c6db0df54b7bd2'),\n", + " ObjectId('656b470033c6db0df54b7bd3'),\n", + " ObjectId('656b470033c6db0df54b7bd4'),\n", + " ObjectId('656b470033c6db0df54b7bd5'),\n", + " ObjectId('656b470033c6db0df54b7bd6'),\n", + " ObjectId('656b470033c6db0df54b7bd7'),\n", + " ObjectId('656b470033c6db0df54b7bd8'),\n", + " ObjectId('656b470033c6db0df54b7bd9'),\n", + " ObjectId('656b470033c6db0df54b7bda'),\n", + " ObjectId('656b470033c6db0df54b7bdb'),\n", + " ObjectId('656b470033c6db0df54b7bdc'),\n", + " ObjectId('656b470033c6db0df54b7bdd'),\n", + " ObjectId('656b470033c6db0df54b7bde'),\n", + " ObjectId('656b470033c6db0df54b7bdf'),\n", + " ObjectId('656b470033c6db0df54b7be0'),\n", + " ObjectId('656b470033c6db0df54b7be1'),\n", + " ObjectId('656b470033c6db0df54b7be2'),\n", + " ObjectId('656b470033c6db0df54b7be3'),\n", + " ObjectId('656b470033c6db0df54b7be4'),\n", + " ObjectId('656b470033c6db0df54b7be5'),\n", + " ObjectId('656b470033c6db0df54b7be6'),\n", + " ObjectId('656b470033c6db0df54b7be7'),\n", + " ObjectId('656b470033c6db0df54b7be8'),\n", + " ObjectId('656b470033c6db0df54b7be9'),\n", + " ObjectId('656b470033c6db0df54b7bea'),\n", + " ObjectId('656b470033c6db0df54b7beb'),\n", + " ObjectId('656b470033c6db0df54b7bec'),\n", + " ObjectId('656b470033c6db0df54b7bed'),\n", + " ObjectId('656b470033c6db0df54b7bee'),\n", + " ObjectId('656b470033c6db0df54b7bef'),\n", + " ObjectId('656b470033c6db0df54b7bf0'),\n", + " ObjectId('656b470033c6db0df54b7bf1'),\n", + " ObjectId('656b470033c6db0df54b7bf2'),\n", + " ObjectId('656b470033c6db0df54b7bf3'),\n", + " ObjectId('656b470033c6db0df54b7bf4'),\n", + " ObjectId('656b470033c6db0df54b7bf5'),\n", + " ObjectId('656b470033c6db0df54b7bf6'),\n", + " ObjectId('656b470033c6db0df54b7bf7'),\n", + " ObjectId('656b470033c6db0df54b7bf8'),\n", + " ObjectId('656b470033c6db0df54b7bf9'),\n", + " ObjectId('656b470033c6db0df54b7bfa'),\n", + " ObjectId('656b470033c6db0df54b7bfb')],\n", + " TaskWorkflow(database=, G=))" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from datasets import load_dataset\n", "from superduperdb.ext.numpy import array\n", @@ -173,12 +280,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "222284f7", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Some weights of Speech2TextForConditionalGeneration were not initialized from the model checkpoint at facebook/s2t-small-librispeech-asr and are newly initialized: ['model.encoder.embed_positions.weights', 'model.decoder.embed_positions.weights']\n", + "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n" + ] + } + ], "source": [ "from transformers import Speech2TextProcessor, Speech2TextForConditionalGeneration\n", "from superduperdb.ext.transformers import Pipeline\n", @@ -199,7 +315,7 @@ " postprocess=lambda x: processor.batch_decode(x, skip_special_tokens=True), # Postprocessing to convert model output to text\n", " predict_method='generate', # Specify the prediction method\n", " preprocess_type='other', # Specify the type of preprocessing\n", - ")\n" + ")" ] }, { @@ -213,12 +329,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "573dccc4", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 16:02:42.87\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m220 \u001b[0m | \u001b[1mAdding model transcription to db\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "73it [00:00, 42739.28it/s]\n", + "/Users/dodo/SuperDuperDB/superduperdb/superduperdb/ext/transformers/model.py:87: UserWarning: Only tokenizer is supported for now in pipeline mode\n", + " warnings.warn('Only tokenizer is supported for now in pipeline mode')\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 16:02:43.69\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 0/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:03.52\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 1/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:12.01\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 2/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:17.35\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 3/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:26.12\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 4/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:33.67\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 5/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:40.47\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 6/7\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:45.52\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m355 \u001b[0m | \u001b[1mComputing chunk 7/7\u001b[0m\n" + ] + } + ], "source": [ "transcriber.predict(\n", " X='audio', # Specify the input feature name as 'audio'\n", @@ -240,12 +387,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "3aedc03c", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[32m 2023-Dec-02 16:03:51.53\u001b[0m| \u001b[1mINFO \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.components.model\u001b[0m:\u001b[36m220 \u001b[0m | \u001b[1mAdding model text-embedding-ada-002 to db\u001b[0m\n", + "\u001b[32m 2023-Dec-02 16:03:51.53\u001b[0m| \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mDuncans-MacBook-Pro.local\u001b[0m| \u001b[36mc5282edf-a6bb-4efc-a907-da7cbe848d35\u001b[0m| \u001b[36msuperduperdb.base.datalayer\u001b[0m:\u001b[36m873 \u001b[0m | \u001b[34m\u001b[1mmodel/text-embedding-ada-002/0 already exists - doing nothing\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "73it [00:00, 29927.10it/s]\n", + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:01<00:00, 1.08s/it]\n" + ] + }, + { + "data": { + "text/plain": [ + "([None],\n", + " VectorIndex(identifier='my-index', indexing_listener=Listener(key='_outputs.audio.transcription.0', model=OpenAIEmbedding(model='text-embedding-ada-002', identifier='text-embedding-ada-002', version=0, takes_context=False, encoder=Encoder(identifier='vector[1536]', decoder=None, encoder=None, shape=(1536,), load_hybrid=True, version=0), model_update_kwargs={}, shape=(1536,)), select=, active=True, identifier='text-embedding-ada-002/audio', predict_kwargs={}, version=0), compatible_listener=None, measure=, version=0, metric_values={}))" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from superduperdb import VectorIndex, Listener\n", "from superduperdb.ext.openai import OpenAIEmbedding\n", @@ -260,7 +437,7 @@ " select=voice_collection.find(), # Select the collection of audio data to index\n", " ),\n", " )\n", - ")\n" + ")" ] }, {