From a011a4c905acb640d0e25b39f44c4cdc588f91c1 Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 21:38:06 -0500 Subject: [PATCH 1/6] Tutorial: Milvus rag with Dynamiq --- .../integration/milvus_rag_with_dynamiq.ipynb | 1152 +++++++++++++++++ 1 file changed, 1152 insertions(+) create mode 100644 bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb new file mode 100644 index 000000000..31cacb1cc --- /dev/null +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -0,0 +1,1152 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "source": [ + "\"Open \n", + " \"GitHub" + ], + "metadata": { + "collapsed": false + }, + "id": "a2e712bd7d3cfee8" + }, + { + "cell_type": "markdown", + "source": [ + "# Getting Started with Dynamiq and Milvus\n", + "\n", + "\n", + "\n", + "[Dynamiq](https://dynamiq.ai/) is a powerful Gen AI framework that streamlines the development of AI-powered applications. With robust support for retrieval-augmented generation (RAG) and large language model (LLM) agents, Dynamiq empowers developers to create intelligent, dynamic systems with ease and efficiency.\n", + "\n", + "In this tutorial, we’ll explore how to seamlessly use Dynamiq with [Milvus](https://milvus.io/), a high-performance, open-source vector database purpose-built for RAG workflows. Milvus excels at efficient storage, indexing, and retrieval of vector embeddings, making it an indispensable component for AI systems that demand fast and precise contextual data access.\n", + "\n", + "This step-by-step guide will cover two core RAG workflows:\n", + "\n", + "- **Document Indexing Flow**: Learn how to process input files (e.g., PDFs), transform their content into vector embeddings, and store them in Milvus. Leveraging Milvus’s high-performance indexing capabilities ensures your data is ready for rapid retrieval.\n", + "\n", + "- **Document Retrieval Flow**: Discover how to query Milvus for relevant document embeddings and use them to generate insightful, context-aware responses with Dynamiq’s LLM agents, creating a seamless AI-powered user experience.\n", + "\n", + "By the end of this tutorial, you’ll gain a solid understanding of how Milvus and Dynamiq work together to build scalable, context-aware AI systems tailored to your needs." + ], + "metadata": { + "collapsed": false + }, + "id": "a7efdd76efcc0e4e" + }, + { + "cell_type": "markdown", + "source": [ + "## Preparation\n" + ], + "metadata": { + "collapsed": false + }, + "id": "53d16d1dd5f753bf" + }, + { + "cell_type": "markdown", + "source": [ + "### Download required libraries\n" + ], + "metadata": { + "collapsed": false + }, + "id": "b03bd9af09661ed7" + }, + { + "cell_type": "code", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting dynamiq\r\n", + " Using cached dynamiq-0.4.1-py3-none-any.whl.metadata (14 kB)\r\n", + "Collecting pymilvus\r\n", + " Using cached pymilvus-2.4.9-py3-none-any.whl.metadata (5.6 kB)\r\n", + "Collecting RestrictedPython<7.2,>=7.1 (from dynamiq)\r\n", + " Downloading RestrictedPython-7.1-py3-none-any.whl.metadata (12 kB)\r\n", + "Collecting black<24.9.0,>=24.8.0 (from dynamiq)\r\n", + " Using cached black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (78 kB)\r\n", + "Collecting boto3<1.35.0,>=1.34.34 (from dynamiq)\r\n", + " Downloading boto3-1.34.162-py3-none-any.whl.metadata (6.6 kB)\r\n", + "Collecting chromadb-client<0.6.0,>=0.5.5.dev0 (from dynamiq)\r\n", + " Downloading chromadb_client-0.5.20-py3-none-any.whl.metadata (2.4 kB)\r\n", + "Collecting e2b<0.18.0,>=0.17.1 (from dynamiq)\r\n", + " Downloading e2b-0.17.1-py3-none-any.whl.metadata (3.2 kB)\r\n", + "Collecting e2b-code-interpreter<0.1.0,>=0.0.10 (from dynamiq)\r\n", + " Downloading e2b_code_interpreter-0.0.10-py3-none-any.whl.metadata (3.2 kB)\r\n", + "Collecting filetype<1.3.0,>=1.2.0 (from dynamiq)\r\n", + " Downloading filetype-1.2.0-py2.py3-none-any.whl.metadata (6.5 kB)\r\n", + "Collecting google-cloud-aiplatform<1.48.0,>=1.47.0 (from dynamiq)\r\n", + " Downloading google_cloud_aiplatform-1.47.0-py2.py3-none-any.whl.metadata (30 kB)\r\n", + "Collecting google-generativeai<0.6.0,>=0.5.0 (from dynamiq)\r\n", + " Downloading google_generativeai-0.5.4-py3-none-any.whl.metadata (3.9 kB)\r\n", + "Requirement already satisfied: jinja2<3.2.0,>=3.1.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.1.4)\r\n", + "Collecting jsonpath-ng<1.7.0,>=1.6.1 (from dynamiq)\r\n", + " Downloading jsonpath_ng-1.6.1-py3-none-any.whl.metadata (18 kB)\r\n", + "Collecting jsonpickle<3.1.0,>=3.0.3 (from dynamiq)\r\n", + " Downloading jsonpickle-3.0.4-py3-none-any.whl.metadata (2.6 kB)\r\n", + "Collecting litellm<1.47.0,>=1.46.0 (from dynamiq)\r\n", + " Downloading litellm-1.46.8-py3-none-any.whl.metadata (32 kB)\r\n", + "Collecting more-itertools<10.4.0,>=10.3.0 (from dynamiq)\r\n", + " Downloading more_itertools-10.3.0-py3-none-any.whl.metadata (36 kB)\r\n", + "Collecting omegaconf<2.4.0,>=2.3.0 (from dynamiq)\r\n", + " Downloading omegaconf-2.3.0-py3-none-any.whl.metadata (3.9 kB)\r\n", + "Collecting openai<1.46.0,>=1.45.0 (from dynamiq)\r\n", + " Downloading openai-1.45.1-py3-none-any.whl.metadata (22 kB)\r\n", + "Collecting pdf2image<1.18.0,>=1.17.0 (from dynamiq)\r\n", + " Downloading pdf2image-1.17.0-py3-none-any.whl.metadata (6.2 kB)\r\n", + "Collecting pinecone-client<3.3.0,>=3.2.2 (from dynamiq)\r\n", + " Downloading pinecone_client-3.2.2-py3-none-any.whl.metadata (16 kB)\r\n", + "Collecting pydantic<2.8.0,>=2.7.1 (from dynamiq)\r\n", + " Downloading pydantic-2.7.4-py3-none-any.whl.metadata (109 kB)\r\n", + "Collecting pypdf<4.4.0,>=4.3.1 (from dynamiq)\r\n", + " Downloading pypdf-4.3.1-py3-none-any.whl.metadata (7.4 kB)\r\n", + "Collecting python-pptx==1.0.2 (from dynamiq)\r\n", + " Downloading python_pptx-1.0.2-py3-none-any.whl.metadata (2.5 kB)\r\n", + "Collecting qdrant-client<1.12.0,>=1.11.3 (from dynamiq)\r\n", + " Downloading qdrant_client-1.11.3-py3-none-any.whl.metadata (10 kB)\r\n", + "Collecting redis<5.1.0,>=5.0.0 (from dynamiq)\r\n", + " Downloading redis-5.0.8-py3-none-any.whl.metadata (9.2 kB)\r\n", + "Collecting requests<2.32.0,>=2.31.0 (from dynamiq)\r\n", + " Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)\r\n", + "Collecting unstructured-client<0.19.0,>=0.18.0 (from dynamiq)\r\n", + " Downloading unstructured_client-0.18.0-py3-none-any.whl.metadata (4.9 kB)\r\n", + "Collecting weaviate-client<4.8.0,>=4.7.1 (from dynamiq)\r\n", + " Downloading weaviate_client-4.7.1-py3-none-any.whl.metadata (3.3 kB)\r\n", + "Collecting Pillow>=3.3.2 (from python-pptx==1.0.2->dynamiq)\r\n", + " Downloading pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (9.1 kB)\r\n", + "Collecting XlsxWriter>=0.5.7 (from python-pptx==1.0.2->dynamiq)\r\n", + " Downloading XlsxWriter-3.2.0-py3-none-any.whl.metadata (2.6 kB)\r\n", + "Collecting lxml>=3.1.0 (from python-pptx==1.0.2->dynamiq)\r\n", + " Downloading lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (3.8 kB)\r\n", + "Requirement already satisfied: typing-extensions>=4.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (4.11.0)\r\n", + "Requirement already satisfied: setuptools>69 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (75.1.0)\r\n", + "Collecting grpcio>=1.49.1 (from pymilvus)\r\n", + " Downloading grpcio-1.68.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (3.9 kB)\r\n", + "Collecting protobuf>=3.20.0 (from pymilvus)\r\n", + " Downloading protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl.metadata (592 bytes)\r\n", + "Collecting environs<=9.5.0 (from pymilvus)\r\n", + " Using cached environs-9.5.0-py2.py3-none-any.whl.metadata (14 kB)\r\n", + "Collecting ujson>=2.0.0 (from pymilvus)\r\n", + " Using cached ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (9.3 kB)\r\n", + "Collecting pandas>=1.2.4 (from pymilvus)\r\n", + " Using cached pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl.metadata (89 kB)\r\n", + "Collecting milvus-lite<2.5.0,>=2.4.0 (from pymilvus)\r\n", + " Using cached milvus_lite-2.4.10-py3-none-macosx_11_0_arm64.whl.metadata (9.0 kB)\r\n", + "Collecting click>=8.0.0 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", + " Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)\r\n", + "Collecting mypy-extensions>=0.4.3 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", + " Using cached mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "Requirement already satisfied: packaging>=22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (24.1)\r\n", + "Collecting pathspec>=0.9.0 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", + " Using cached pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)\r\n", + "Requirement already satisfied: platformdirs>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (3.10.0)\r\n", + "Collecting botocore<1.35.0,>=1.34.162 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", + " Downloading botocore-1.34.162-py3-none-any.whl.metadata (5.7 kB)\r\n", + "Collecting jmespath<2.0.0,>=0.7.1 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", + " Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\r\n", + "Collecting s3transfer<0.11.0,>=0.10.0 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", + " Downloading s3transfer-0.10.3-py3-none-any.whl.metadata (1.7 kB)\r\n", + "Collecting numpy<2.0.0,>=1.22.5 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Using cached numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl.metadata (114 kB)\r\n", + "Collecting opentelemetry-api>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_api-1.28.2-py3-none-any.whl.metadata (1.4 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.2-py3-none-any.whl.metadata (2.2 kB)\r\n", + "Collecting opentelemetry-sdk>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_sdk-1.28.2-py3-none-any.whl.metadata (1.5 kB)\r\n", + "Requirement already satisfied: overrides>=7.3.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (7.4.0)\r\n", + "Collecting posthog>=2.4.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading posthog-3.7.2-py2.py3-none-any.whl.metadata (2.0 kB)\r\n", + "Collecting tenacity>=8.2.3 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading tenacity-9.0.0-py3-none-any.whl.metadata (1.2 kB)\r\n", + "Requirement already satisfied: PyYAML>=6.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (6.0.2)\r\n", + "Collecting orjson>=3.9.12 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading orjson-3.10.11-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl.metadata (50 kB)\r\n", + "Requirement already satisfied: httpx>=0.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.27.0)\r\n", + "Collecting aenum>=3.1.11 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading aenum-3.1.15-py3-none-any.whl.metadata (3.7 kB)\r\n", + "Collecting aiohttp>=3.8.4 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading aiohttp-3.11.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.7 kB)\r\n", + "Collecting jsonrpcclient>=4.0.3 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading jsonrpcclient-4.0.3-py3-none-any.whl.metadata (3.2 kB)\r\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.9.0.post0)\r\n", + "Requirement already satisfied: urllib3>=1.25.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.2.3)\r\n", + "Collecting websockets>=11.0.3 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.7 kB)\r\n", + "Requirement already satisfied: websocket-client<2.0.0,>=1.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b-code-interpreter<0.1.0,>=0.0.10->dynamiq) (1.8.0)\r\n", + "Collecting marshmallow>=3.0.0 (from environs<=9.5.0->pymilvus)\r\n", + " Downloading marshmallow-3.23.1-py3-none-any.whl.metadata (7.5 kB)\r\n", + "Collecting python-dotenv (from environs<=9.5.0->pymilvus)\r\n", + " Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)\r\n", + "Collecting google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_api_core-2.23.0-py3-none-any.whl.metadata (3.0 kB)\r\n", + "Collecting google-auth<3.0.0dev,>=2.14.1 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_auth-2.36.0-py2.py3-none-any.whl.metadata (4.7 kB)\r\n", + "Collecting proto-plus<2.0.0dev,>=1.22.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading proto_plus-1.25.0-py3-none-any.whl.metadata (2.2 kB)\r\n", + "Collecting protobuf>=3.20.0 (from pymilvus)\r\n", + " Downloading protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl.metadata (541 bytes)\r\n", + "Collecting google-cloud-storage<3.0.0dev,>=1.32.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_cloud_storage-2.18.2-py2.py3-none-any.whl.metadata (9.1 kB)\r\n", + "Collecting google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_cloud_bigquery-3.27.0-py2.py3-none-any.whl.metadata (8.6 kB)\r\n", + "Collecting google-cloud-resource-manager<3.0.0dev,>=1.3.3 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_cloud_resource_manager-1.13.1-py2.py3-none-any.whl.metadata (5.4 kB)\r\n", + "Collecting shapely<3.0.0dev (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.0 kB)\r\n", + "Collecting docstring-parser<1 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading docstring_parser-0.16-py3-none-any.whl.metadata (3.0 kB)\r\n", + "Collecting google-ai-generativelanguage==0.6.4 (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Downloading google_ai_generativelanguage-0.6.4-py3-none-any.whl.metadata (5.6 kB)\r\n", + "Collecting google-api-python-client (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Downloading google_api_python_client-2.153.0-py2.py3-none-any.whl.metadata (6.7 kB)\r\n", + "Collecting tqdm (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Downloading tqdm-4.67.0-py3-none-any.whl.metadata (57 kB)\r\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jinja2<3.2.0,>=3.1.4->dynamiq) (2.1.3)\r\n", + "Requirement already satisfied: ply in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonpath-ng<1.7.0,>=1.6.1->dynamiq) (3.11)\r\n", + "Collecting importlib-metadata>=6.8.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Using cached importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)\r\n", + "Requirement already satisfied: jsonschema<5.0.0,>=4.22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (4.23.0)\r\n", + "Collecting tiktoken>=0.7.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.6 kB)\r\n", + "Collecting tokenizers (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading tokenizers-0.20.3-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.7 kB)\r\n", + "Collecting antlr4-python3-runtime==4.9.* (from omegaconf<2.4.0,>=2.3.0->dynamiq)\r\n", + " Using cached antlr4_python3_runtime-4.9.3-py3-none-any.whl\r\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (4.6.2)\r\n", + "Collecting distro<2,>=1.7.0 (from openai<1.46.0,>=1.45.0->dynamiq)\r\n", + " Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)\r\n", + "Collecting jiter<1,>=0.4.0 (from openai<1.46.0,>=1.45.0->dynamiq)\r\n", + " Downloading jiter-0.7.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (5.2 kB)\r\n", + "Requirement already satisfied: sniffio in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (1.3.0)\r\n", + "Requirement already satisfied: pytz>=2020.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pandas>=1.2.4->pymilvus) (2024.1)\r\n", + "Collecting tzdata>=2022.7 (from pandas>=1.2.4->pymilvus)\r\n", + " Using cached tzdata-2024.2-py2.py3-none-any.whl.metadata (1.4 kB)\r\n", + "Requirement already satisfied: certifi>=2019.11.17 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pinecone-client<3.3.0,>=3.2.2->dynamiq) (2024.8.30)\r\n", + "Collecting annotated-types>=0.4.0 (from pydantic<2.8.0,>=2.7.1->dynamiq)\r\n", + " Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\r\n", + "Collecting pydantic-core==2.18.4 (from pydantic<2.8.0,>=2.7.1->dynamiq)\r\n", + " Downloading pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.5 kB)\r\n", + "Collecting grpcio-tools>=1.41.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading grpcio_tools-1.68.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + "Collecting portalocker<3.0.0,>=2.7.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading portalocker-2.10.1-py3-none-any.whl.metadata (8.5 kB)\r\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.3.2)\r\n", + "Requirement already satisfied: idna<4,>=2.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.7)\r\n", + "Collecting dataclasses-json-speakeasy>=0.5.11 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", + " Downloading dataclasses_json_speakeasy-0.5.11-py3-none-any.whl.metadata (25 kB)\r\n", + "Collecting jsonpath-python>=1.0.6 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", + " Downloading jsonpath_python-1.0.6-py3-none-any.whl.metadata (12 kB)\r\n", + "Requirement already satisfied: six>=1.16.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (1.16.0)\r\n", + "Collecting typing-inspect>=0.9.0 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", + " Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)\r\n", + "Collecting validators==0.33.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", + " Downloading validators-0.33.0-py3-none-any.whl.metadata (3.8 kB)\r\n", + "Collecting authlib<2.0.0,>=1.2.1 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", + " Downloading Authlib-1.3.2-py2.py3-none-any.whl.metadata (3.9 kB)\r\n", + "Collecting grpcio-health-checking<2.0.0,>=1.57.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", + " Downloading grpcio_health_checking-1.68.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "Collecting aiohappyeyeballs>=2.3.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading aiohappyeyeballs-2.4.3-py3-none-any.whl.metadata (6.1 kB)\r\n", + "Collecting aiosignal>=1.1.2 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)\r\n", + "Requirement already satisfied: attrs>=17.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (24.2.0)\r\n", + "Collecting frozenlist>=1.1.1 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (13 kB)\r\n", + "Collecting multidict<7.0,>=4.5 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (5.0 kB)\r\n", + "Collecting propcache>=0.2.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.7 kB)\r\n", + "Collecting yarl<2.0,>=1.17.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", + " Downloading yarl-1.17.2-cp311-cp311-macosx_11_0_arm64.whl.metadata (66 kB)\r\n", + "Collecting cryptography (from authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", + " Downloading cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl.metadata (5.4 kB)\r\n", + "Collecting googleapis-common-protos<2.0.dev0,>=1.56.2 (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl.metadata (1.5 kB)\r\n", + "Collecting grpcio-status<2.0.dev0,>=1.33.2 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading grpcio_status-1.68.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "Collecting cachetools<6.0,>=2.0.0 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading cachetools-5.5.0-py3-none-any.whl.metadata (5.3 kB)\r\n", + "Collecting pyasn1-modules>=0.2.1 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading pyasn1_modules-0.4.1-py3-none-any.whl.metadata (3.5 kB)\r\n", + "Collecting rsa<5,>=3.1.4 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Using cached rsa-4.9-py3-none-any.whl.metadata (4.2 kB)\r\n", + "Collecting google-cloud-core<3.0.0dev,>=2.4.1 (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Using cached google_cloud_core-2.4.1-py2.py3-none-any.whl.metadata (2.7 kB)\r\n", + "Collecting google-resumable-media<3.0dev,>=2.0.0 (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl.metadata (2.2 kB)\r\n", + "Collecting grpc-google-iam-v1<1.0.0dev,>=0.12.4 (from google-cloud-resource-manager<3.0.0dev,>=1.3.3->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading grpc_google_iam_v1-0.13.1-py2.py3-none-any.whl.metadata (3.3 kB)\r\n", + "Collecting google-crc32c<2.0dev,>=1.0 (from google-cloud-storage<3.0.0dev,>=1.32.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl.metadata (2.3 kB)\r\n", + "INFO: pip is looking at multiple versions of grpcio-health-checking to determine which version is compatible with other requirements. This could take a while.\r\n", + "Collecting grpcio-health-checking<2.0.0,>=1.57.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", + " Downloading grpcio_health_checking-1.67.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.67.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.66.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.66.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.66.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.65.5-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.65.4-py3-none-any.whl.metadata (1.1 kB)\r\n", + "INFO: pip is still looking at multiple versions of grpcio-health-checking to determine which version is compatible with other requirements. This could take a while.\r\n", + " Downloading grpcio_health_checking-1.65.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.65.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.64.3-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.64.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.64.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", + " Downloading grpcio_health_checking-1.63.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.63.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_health_checking-1.62.3-py3-none-any.whl.metadata (1.3 kB)\r\n", + "INFO: pip is looking at multiple versions of grpcio-tools to determine which version is compatible with other requirements. This could take a while.\r\n", + "Collecting grpcio-tools>=1.41.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading grpcio_tools-1.67.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.67.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.66.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.66.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.66.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.65.5-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.65.4-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + "INFO: pip is still looking at multiple versions of grpcio-tools to determine which version is compatible with other requirements. This could take a while.\r\n", + " Downloading grpcio_tools-1.65.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.65.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.64.3-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.64.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.64.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", + " Downloading grpcio_tools-1.63.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.63.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", + " Downloading grpcio_tools-1.62.3-cp311-cp311-macosx_10_10_universal2.whl.metadata (6.2 kB)\r\n", + "Requirement already satisfied: httpcore==1.* in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.0.2)\r\n", + "Requirement already satisfied: h11<0.15,>=0.13 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.14.0)\r\n", + "Collecting h2<5,>=3 (from httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading h2-4.1.0-py3-none-any.whl.metadata (3.6 kB)\r\n", + "Collecting zipp>=3.20 (from importlib-metadata>=6.8.0->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)\r\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (2023.7.1)\r\n", + "Requirement already satisfied: referencing>=0.28.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.30.2)\r\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.10.6)\r\n", + "Collecting deprecated>=1.2.6 (from opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading Deprecated-1.2.15-py2.py3-none-any.whl.metadata (5.5 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-common==1.28.2 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_common-1.28.2-py3-none-any.whl.metadata (1.8 kB)\r\n", + "Collecting opentelemetry-proto==1.28.2 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_proto-1.28.2-py3-none-any.whl.metadata (2.3 kB)\r\n", + "INFO: pip is looking at multiple versions of opentelemetry-proto to determine which version is compatible with other requirements. This could take a while.\r\n", + "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.1-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-common==1.28.1 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_common-1.28.1-py3-none-any.whl.metadata (1.8 kB)\r\n", + "Collecting opentelemetry-proto==1.28.1 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_proto-1.28.1-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.0-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-common==1.28.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_common-1.28.0-py3-none-any.whl.metadata (1.8 kB)\r\n", + "Collecting opentelemetry-proto==1.28.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_proto-1.28.0-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_grpc-1.27.0-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-exporter-otlp-proto-common==1.27.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_exporter_otlp_proto_common-1.27.0-py3-none-any.whl.metadata (1.8 kB)\r\n", + "Collecting opentelemetry-proto==1.27.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_proto-1.27.0-py3-none-any.whl.metadata (2.3 kB)\r\n", + "Collecting opentelemetry-sdk>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_sdk-1.27.0-py3-none-any.whl.metadata (1.5 kB)\r\n", + "Collecting opentelemetry-api>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_api-1.27.0-py3-none-any.whl.metadata (1.4 kB)\r\n", + "Collecting opentelemetry-semantic-conventions==0.48b0 (from opentelemetry-sdk>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading opentelemetry_semantic_conventions-0.48b0-py3-none-any.whl.metadata (2.4 kB)\r\n", + "Collecting importlib-metadata>=6.8.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading importlib_metadata-8.4.0-py3-none-any.whl.metadata (4.7 kB)\r\n", + "Collecting monotonic>=1.5 (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Using cached monotonic-1.6-py2.py3-none-any.whl.metadata (1.5 kB)\r\n", + "Collecting backoff>=1.10.0 (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading backoff-2.2.1-py3-none-any.whl.metadata (14 kB)\r\n", + "Collecting regex>=2022.1.18 (from tiktoken>=0.7.0->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (40 kB)\r\n", + "Collecting httplib2<1.dev0,>=0.19.0 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Using cached httplib2-0.22.0-py3-none-any.whl.metadata (2.6 kB)\r\n", + "Collecting google-auth-httplib2<1.0.0,>=0.2.0 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Using cached google_auth_httplib2-0.2.0-py2.py3-none-any.whl.metadata (2.2 kB)\r\n", + "Collecting uritemplate<5,>=3.0.1 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Using cached uritemplate-4.1.1-py2.py3-none-any.whl.metadata (2.9 kB)\r\n", + "Collecting huggingface-hub<1.0,>=0.16.4 (from tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading huggingface_hub-0.26.2-py3-none-any.whl.metadata (13 kB)\r\n", + "Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", + " Downloading wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.6 kB)\r\n", + "INFO: pip is looking at multiple versions of grpcio-status to determine which version is compatible with other requirements. This could take a while.\r\n", + "Collecting grpcio-status<2.0.dev0,>=1.33.2 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading grpcio_status-1.67.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.67.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.66.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.66.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.66.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.65.5-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.65.4-py3-none-any.whl.metadata (1.1 kB)\r\n", + "INFO: pip is still looking at multiple versions of grpcio-status to determine which version is compatible with other requirements. This could take a while.\r\n", + " Downloading grpcio_status-1.65.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.65.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.64.3-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.64.1-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.64.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", + " Downloading grpcio_status-1.63.2-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.63.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + " Downloading grpcio_status-1.62.3-py3-none-any.whl.metadata (1.3 kB)\r\n", + "Collecting hyperframe<7,>=6.0 (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading hyperframe-6.0.1-py3-none-any.whl.metadata (2.7 kB)\r\n", + "Collecting hpack<5,>=4.0 (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", + " Downloading hpack-4.0.0-py3-none-any.whl.metadata (2.5 kB)\r\n", + "Collecting pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 (from httplib2<1.dev0,>=0.19.0->google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", + " Downloading pyparsing-3.2.0-py3-none-any.whl.metadata (5.0 kB)\r\n", + "Collecting filelock (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\r\n", + "Collecting fsspec>=2023.5.0 (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", + " Downloading fsspec-2024.10.0-py3-none-any.whl.metadata (11 kB)\r\n", + "Collecting pyasn1<0.7.0,>=0.4.6 (from pyasn1-modules>=0.2.1->google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", + " Downloading pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)\r\n", + "Requirement already satisfied: cffi>=1.12 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.17.1)\r\n", + "Requirement already satisfied: pycparser in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cffi>=1.12->cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (2.21)\r\n", + "Using cached dynamiq-0.4.1-py3-none-any.whl (256 kB)\r\n", + "Downloading python_pptx-1.0.2-py3-none-any.whl (472 kB)\r\n", + "Using cached pymilvus-2.4.9-py3-none-any.whl (201 kB)\r\n", + "Using cached black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB)\r\n", + "Downloading boto3-1.34.162-py3-none-any.whl (139 kB)\r\n", + "Downloading chromadb_client-0.5.20-py3-none-any.whl (615 kB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m615.9/615.9 kB\u001B[0m \u001B[31m11.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading e2b-0.17.1-py3-none-any.whl (102 kB)\r\n", + "Downloading e2b_code_interpreter-0.0.10-py3-none-any.whl (9.9 kB)\r\n", + "Using cached environs-9.5.0-py2.py3-none-any.whl (12 kB)\r\n", + "Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)\r\n", + "Downloading google_cloud_aiplatform-1.47.0-py2.py3-none-any.whl (4.8 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.8/4.8 MB\u001B[0m \u001B[31m18.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading google_generativeai-0.5.4-py3-none-any.whl (150 kB)\r\n", + "Downloading google_ai_generativelanguage-0.6.4-py3-none-any.whl (679 kB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m679.1/679.1 kB\u001B[0m \u001B[31m30.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading grpcio-1.68.0-cp311-cp311-macosx_10_9_universal2.whl (11.2 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m11.2/11.2 MB\u001B[0m \u001B[31m16.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading jsonpath_ng-1.6.1-py3-none-any.whl (29 kB)\r\n", + "Downloading jsonpickle-3.0.4-py3-none-any.whl (39 kB)\r\n", + "Downloading litellm-1.46.8-py3-none-any.whl (8.7 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m8.7/8.7 MB\u001B[0m \u001B[31m16.8 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hUsing cached milvus_lite-2.4.10-py3-none-macosx_11_0_arm64.whl (19.9 MB)\r\n", + "Downloading more_itertools-10.3.0-py3-none-any.whl (59 kB)\r\n", + "Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\r\n", + "Downloading openai-1.45.1-py3-none-any.whl (374 kB)\r\n", + "Using cached pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl (11.3 MB)\r\n", + "Downloading pdf2image-1.17.0-py3-none-any.whl (11 kB)\r\n", + "Downloading pinecone_client-3.2.2-py3-none-any.whl (215 kB)\r\n", + "Downloading protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl (394 kB)\r\n", + "Downloading pydantic-2.7.4-py3-none-any.whl (409 kB)\r\n", + "Downloading pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m1.8/1.8 MB\u001B[0m \u001B[31m31.7 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading pypdf-4.3.1-py3-none-any.whl (295 kB)\r\n", + "Downloading qdrant_client-1.11.3-py3-none-any.whl (258 kB)\r\n", + "Downloading redis-5.0.8-py3-none-any.whl (255 kB)\r\n", + "Using cached requests-2.31.0-py3-none-any.whl (62 kB)\r\n", + "Downloading RestrictedPython-7.1-py3-none-any.whl (26 kB)\r\n", + "Using cached ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl (51 kB)\r\n", + "Downloading unstructured_client-0.18.0-py3-none-any.whl (21 kB)\r\n", + "Downloading weaviate_client-4.7.1-py3-none-any.whl (368 kB)\r\n", + "Downloading validators-0.33.0-py3-none-any.whl (43 kB)\r\n", + "Downloading aenum-3.1.15-py3-none-any.whl (137 kB)\r\n", + "Downloading aiohttp-3.11.6-cp311-cp311-macosx_11_0_arm64.whl (454 kB)\r\n", + "Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\r\n", + "Downloading Authlib-1.3.2-py2.py3-none-any.whl (225 kB)\r\n", + "Downloading botocore-1.34.162-py3-none-any.whl (12.5 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m12.5/12.5 MB\u001B[0m \u001B[31m18.8 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hUsing cached click-8.1.7-py3-none-any.whl (97 kB)\r\n", + "Downloading dataclasses_json_speakeasy-0.5.11-py3-none-any.whl (28 kB)\r\n", + "Using cached distro-1.9.0-py3-none-any.whl (20 kB)\r\n", + "Downloading docstring_parser-0.16-py3-none-any.whl (36 kB)\r\n", + "Downloading google_api_core-2.23.0-py3-none-any.whl (156 kB)\r\n", + "Downloading google_auth-2.36.0-py2.py3-none-any.whl (209 kB)\r\n", + "Downloading google_cloud_bigquery-3.27.0-py2.py3-none-any.whl (240 kB)\r\n", + "Downloading google_cloud_resource_manager-1.13.1-py2.py3-none-any.whl (358 kB)\r\n", + "Downloading google_cloud_storage-2.18.2-py2.py3-none-any.whl (130 kB)\r\n", + "Downloading grpcio_health_checking-1.62.3-py3-none-any.whl (18 kB)\r\n", + "Downloading grpcio_tools-1.62.3-cp311-cp311-macosx_10_10_universal2.whl (5.1 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m5.1/5.1 MB\u001B[0m \u001B[31m23.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading jiter-0.7.1-cp311-cp311-macosx_11_0_arm64.whl (303 kB)\r\n", + "Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)\r\n", + "Downloading jsonpath_python-1.0.6-py3-none-any.whl (7.6 kB)\r\n", + "Downloading jsonrpcclient-4.0.3-py3-none-any.whl (7.0 kB)\r\n", + "Downloading lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl (8.1 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m8.1/8.1 MB\u001B[0m \u001B[31m17.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading marshmallow-3.23.1-py3-none-any.whl (49 kB)\r\n", + "Using cached mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)\r\n", + "Using cached numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl (14.0 MB)\r\n", + "Downloading opentelemetry_exporter_otlp_proto_grpc-1.27.0-py3-none-any.whl (18 kB)\r\n", + "Downloading opentelemetry_proto-1.27.0-py3-none-any.whl (52 kB)\r\n", + "Downloading opentelemetry_exporter_otlp_proto_common-1.27.0-py3-none-any.whl (17 kB)\r\n", + "Downloading opentelemetry_sdk-1.27.0-py3-none-any.whl (110 kB)\r\n", + "Downloading opentelemetry_api-1.27.0-py3-none-any.whl (63 kB)\r\n", + "Downloading opentelemetry_semantic_conventions-0.48b0-py3-none-any.whl (149 kB)\r\n", + "Downloading importlib_metadata-8.4.0-py3-none-any.whl (26 kB)\r\n", + "Downloading orjson-3.10.11-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl (266 kB)\r\n", + "Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)\r\n", + "Downloading pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m3.0/3.0 MB\u001B[0m \u001B[31m26.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading portalocker-2.10.1-py3-none-any.whl (18 kB)\r\n", + "Downloading posthog-3.7.2-py2.py3-none-any.whl (54 kB)\r\n", + "Downloading proto_plus-1.25.0-py3-none-any.whl (50 kB)\r\n", + "Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB)\r\n", + "Downloading s3transfer-0.10.3-py3-none-any.whl (82 kB)\r\n", + "Downloading shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m1.3/1.3 MB\u001B[0m \u001B[31m30.5 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading tenacity-9.0.0-py3-none-any.whl (28 kB)\r\n", + "Downloading tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (982 kB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m982.4/982.4 kB\u001B[0m \u001B[31m17.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading tqdm-4.67.0-py3-none-any.whl (78 kB)\r\n", + "Downloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\r\n", + "Using cached tzdata-2024.2-py2.py3-none-any.whl (346 kB)\r\n", + "Downloading websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl (159 kB)\r\n", + "Downloading XlsxWriter-3.2.0-py3-none-any.whl (159 kB)\r\n", + "Downloading google_api_python_client-2.153.0-py2.py3-none-any.whl (12.6 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m12.6/12.6 MB\u001B[0m \u001B[31m18.2 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading tokenizers-0.20.3-cp311-cp311-macosx_11_0_arm64.whl (2.6 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.6/2.6 MB\u001B[0m \u001B[31m14.3 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", + "\u001B[?25hDownloading aiohappyeyeballs-2.4.3-py3-none-any.whl (14 kB)\r\n", + "Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)\r\n", + "Downloading backoff-2.2.1-py3-none-any.whl (15 kB)\r\n", + "Downloading cachetools-5.5.0-py3-none-any.whl (9.5 kB)\r\n", + "Downloading Deprecated-1.2.15-py2.py3-none-any.whl (9.9 kB)\r\n", + "Downloading frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl (52 kB)\r\n", + "Using cached google_auth_httplib2-0.2.0-py2.py3-none-any.whl (9.3 kB)\r\n", + "Using cached google_cloud_core-2.4.1-py2.py3-none-any.whl (29 kB)\r\n", + "Downloading google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl (30 kB)\r\n", + "Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl (81 kB)\r\n", + "Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl (221 kB)\r\n", + "Downloading grpc_google_iam_v1-0.13.1-py2.py3-none-any.whl (24 kB)\r\n", + "Downloading grpcio_status-1.62.3-py3-none-any.whl (14 kB)\r\n", + "Downloading h2-4.1.0-py3-none-any.whl (57 kB)\r\n", + "Using cached httplib2-0.22.0-py3-none-any.whl (96 kB)\r\n", + "Downloading huggingface_hub-0.26.2-py3-none-any.whl (447 kB)\r\n", + "Using cached monotonic-1.6-py2.py3-none-any.whl (8.2 kB)\r\n", + "Downloading multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl (29 kB)\r\n", + "Downloading propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (45 kB)\r\n", + "Downloading pyasn1_modules-0.4.1-py3-none-any.whl (181 kB)\r\n", + "Downloading regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl (284 kB)\r\n", + "Using cached rsa-4.9-py3-none-any.whl (34 kB)\r\n", + "Using cached uritemplate-4.1.1-py2.py3-none-any.whl (10 kB)\r\n", + "Downloading yarl-1.17.2-cp311-cp311-macosx_11_0_arm64.whl (91 kB)\r\n", + "Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)\r\n", + "Downloading cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl (6.2 MB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m6.2/6.2 MB\u001B[0m \u001B[31m18.6 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hDownloading fsspec-2024.10.0-py3-none-any.whl (179 kB)\r\n", + "Downloading hpack-4.0.0-py3-none-any.whl (32 kB)\r\n", + "Downloading hyperframe-6.0.1-py3-none-any.whl (12 kB)\r\n", + "Downloading pyasn1-0.6.1-py3-none-any.whl (83 kB)\r\n", + "Downloading pyparsing-3.2.0-py3-none-any.whl (106 kB)\r\n", + "Downloading wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl (38 kB)\r\n", + "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\r\n", + "Installing collected packages: monotonic, filetype, antlr4-python3-runtime, aenum, zipp, XlsxWriter, wrapt, websockets, validators, uritemplate, ujson, tzdata, tqdm, tenacity, RestrictedPython, requests, regex, redis, python-dotenv, pypdf, pyparsing, pydantic-core, pyasn1, protobuf, propcache, portalocker, Pillow, pathspec, orjson, omegaconf, numpy, mypy-extensions, multidict, more-itertools, marshmallow, lxml, jsonrpcclient, jsonpickle, jsonpath-python, jsonpath-ng, jmespath, jiter, hyperframe, hpack, grpcio, google-crc32c, fsspec, frozenlist, filelock, docstring-parser, distro, click, cachetools, backoff, annotated-types, aiohappyeyeballs, yarl, typing-inspect, tiktoken, shapely, rsa, python-pptx, pydantic, pyasn1-modules, proto-plus, posthog, pinecone-client, pdf2image, pandas, opentelemetry-proto, milvus-lite, importlib-metadata, huggingface-hub, httplib2, h2, grpcio-tools, grpcio-health-checking, googleapis-common-protos, google-resumable-media, environs, deprecated, cryptography, botocore, black, aiosignal, tokenizers, s3transfer, pymilvus, opentelemetry-exporter-otlp-proto-common, opentelemetry-api, openai, grpcio-status, google-auth, dataclasses-json-speakeasy, authlib, aiohttp, weaviate-client, unstructured-client, qdrant-client, opentelemetry-semantic-conventions, litellm, grpc-google-iam-v1, google-auth-httplib2, google-api-core, e2b, boto3, opentelemetry-sdk, google-cloud-core, google-api-python-client, e2b-code-interpreter, opentelemetry-exporter-otlp-proto-grpc, google-cloud-storage, google-cloud-resource-manager, google-cloud-bigquery, google-ai-generativelanguage, google-generativeai, google-cloud-aiplatform, chromadb-client, dynamiq\r\n", + " Attempting uninstall: requests\r\n", + " Found existing installation: requests 2.32.3\r\n", + " Uninstalling requests-2.32.3:\r\n", + " Successfully uninstalled requests-2.32.3\r\n", + "Successfully installed Pillow-11.0.0 RestrictedPython-7.1 XlsxWriter-3.2.0 aenum-3.1.15 aiohappyeyeballs-2.4.3 aiohttp-3.11.6 aiosignal-1.3.1 annotated-types-0.7.0 antlr4-python3-runtime-4.9.3 authlib-1.3.2 backoff-2.2.1 black-24.8.0 boto3-1.34.162 botocore-1.34.162 cachetools-5.5.0 chromadb-client-0.5.20 click-8.1.7 cryptography-43.0.3 dataclasses-json-speakeasy-0.5.11 deprecated-1.2.15 distro-1.9.0 docstring-parser-0.16 dynamiq-0.4.1 e2b-0.17.1 e2b-code-interpreter-0.0.10 environs-9.5.0 filelock-3.16.1 filetype-1.2.0 frozenlist-1.5.0 fsspec-2024.10.0 google-ai-generativelanguage-0.6.4 google-api-core-2.23.0 google-api-python-client-2.153.0 google-auth-2.36.0 google-auth-httplib2-0.2.0 google-cloud-aiplatform-1.47.0 google-cloud-bigquery-3.27.0 google-cloud-core-2.4.1 google-cloud-resource-manager-1.13.1 google-cloud-storage-2.18.2 google-crc32c-1.6.0 google-generativeai-0.5.4 google-resumable-media-2.7.2 googleapis-common-protos-1.66.0 grpc-google-iam-v1-0.13.1 grpcio-1.68.0 grpcio-health-checking-1.62.3 grpcio-status-1.62.3 grpcio-tools-1.62.3 h2-4.1.0 hpack-4.0.0 httplib2-0.22.0 huggingface-hub-0.26.2 hyperframe-6.0.1 importlib-metadata-8.4.0 jiter-0.7.1 jmespath-1.0.1 jsonpath-ng-1.6.1 jsonpath-python-1.0.6 jsonpickle-3.0.4 jsonrpcclient-4.0.3 litellm-1.46.8 lxml-5.3.0 marshmallow-3.23.1 milvus-lite-2.4.10 monotonic-1.6 more-itertools-10.3.0 multidict-6.1.0 mypy-extensions-1.0.0 numpy-1.26.4 omegaconf-2.3.0 openai-1.45.1 opentelemetry-api-1.27.0 opentelemetry-exporter-otlp-proto-common-1.27.0 opentelemetry-exporter-otlp-proto-grpc-1.27.0 opentelemetry-proto-1.27.0 opentelemetry-sdk-1.27.0 opentelemetry-semantic-conventions-0.48b0 orjson-3.10.11 pandas-2.2.3 pathspec-0.12.1 pdf2image-1.17.0 pinecone-client-3.2.2 portalocker-2.10.1 posthog-3.7.2 propcache-0.2.0 proto-plus-1.25.0 protobuf-4.25.5 pyasn1-0.6.1 pyasn1-modules-0.4.1 pydantic-2.7.4 pydantic-core-2.18.4 pymilvus-2.4.9 pyparsing-3.2.0 pypdf-4.3.1 python-dotenv-1.0.1 python-pptx-1.0.2 qdrant-client-1.11.3 redis-5.0.8 regex-2024.11.6 requests-2.31.0 rsa-4.9 s3transfer-0.10.3 shapely-2.0.6 tenacity-9.0.0 tiktoken-0.8.0 tokenizers-0.20.3 tqdm-4.67.0 typing-inspect-0.9.0 tzdata-2024.2 ujson-5.10.0 unstructured-client-0.18.0 uritemplate-4.1.1 validators-0.33.0 weaviate-client-4.7.1 websockets-14.1 wrapt-1.16.0 yarl-1.17.2 zipp-3.21.0\r\n" + ] + } + ], + "source": [ + "! pip install dynamiq pymilvus\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T02:21:25.544822Z", + "start_time": "2024-11-20T02:20:41.221804Z" + } + }, + "id": "82bdf922095fd55b", + "execution_count": 1 + }, + { + "cell_type": "markdown", + "source": [ + "> If you are using Google Colab, to enable dependencies just installed, you may need to **restart the runtime** (click on the \"Runtime\" menu at the top of the screen, and select \"Restart session\" from the dropdown menu)." + ], + "metadata": { + "collapsed": false + }, + "id": "59c95741251895fe" + }, + { + "cell_type": "markdown", + "source": [ + "### Configure the LLM agent\n", + "\n", + "We will use OpenAI as the LLM in this example. You should prepare the [api key](https://platform.openai.com/docs/quickstart) `OPENAI_API_KEY` as an environment variable.\n" + ], + "metadata": { + "collapsed": false + }, + "id": "38e2801395f2273d" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"sk-***********\"" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T02:24:22.962495Z", + "start_time": "2024-11-20T02:24:22.955589Z" + } + }, + "id": "b21542ec470b7f5a", + "execution_count": 15 + }, + { + "cell_type": "markdown", + "source": [ + "## RAG - Document Indexing Flow\n", + "\n", + "This tutorial demonstrates a Retrieval-Augmented Generation (RAG) workflow for indexing documents with Milvus as the vector database. The workflow takes input PDF files, processes them into smaller chunks, generates vector embeddings using OpenAI's embedding model, and stores the embeddings in a Milvus collection for efficient retrieval.\n", + "\n", + "By the end of this workflow, you will have a scalable and efficient document indexing system that supports future RAG tasks like semantic search and question answering." + ], + "metadata": { + "collapsed": false + }, + "id": "dc932e415c8f00a7" + }, + { + "cell_type": "markdown", + "source": [ + "### Import Required Libraries and Initialize Workflow" + ], + "metadata": { + "collapsed": false + }, + "id": "34fbf9e90c227bcb" + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-11-20T02:24:24.350345Z", + "start_time": "2024-11-20T02:24:24.346665Z" + } + }, + "outputs": [], + "source": [ + "# Importing necessary libraries for the workflow\n", + "from io import BytesIO\n", + "from dynamiq import Workflow\n", + "from dynamiq.nodes import InputTransformer\n", + "from dynamiq.connections import OpenAI as OpenAIConnection, Milvus as MilvusConnection, MilvusDeploymentType\n", + "from dynamiq.nodes.converters import PyPDFConverter\n", + "from dynamiq.nodes.splitters.document import DocumentSplitter\n", + "from dynamiq.nodes.embedders import OpenAIDocumentEmbedder\n", + "from dynamiq.nodes.writers import MilvusDocumentWriter\n", + "\n", + "# Initialize the workflow\n", + "rag_wf = Workflow()\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Define PDF Converter Node" + ], + "metadata": { + "collapsed": false + }, + "id": "808a4ba11a5c65e7" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "converter = PyPDFConverter(document_creation_mode=\"one-doc-per-page\")\n", + "rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "c7406f09f125695c", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Define Document Splitter Node" + ], + "metadata": { + "collapsed": false + }, + "id": "13b5959b723534b8" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "document_splitter = DocumentSplitter(\n", + " split_by=\"sentence\", # Splits documents into sentences\n", + " split_length=10, \n", + " split_overlap=1, \n", + " input_transformer=InputTransformer(\n", + " selector={\n", + " \"documents\": f\"${[converter.id]}.output.documents\", \n", + " },\n", + " ),\n", + ").depends_on(converter) # Set dependency on the PDF converter\n", + "rag_wf.flow.add_nodes(document_splitter) # Add to the DAG\n" + ], + "metadata": { + "collapsed": false + }, + "id": "13085207a0f67a9b", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Define Embedding Node" + ], + "metadata": { + "collapsed": false + }, + "id": "cde92302e3e22c77" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "embedder = OpenAIDocumentEmbedder(\n", + " connection=OpenAIConnection(api_key=os.environ[\"OPENAI_API_KEY\"]), \n", + " input_transformer=InputTransformer(\n", + " selector={\n", + " \"documents\": f\"${[document_splitter.id]}.output.documents\", \n", + " },\n", + " ),\n", + ").depends_on(document_splitter) # Set dependency on the splitter\n", + "rag_wf.flow.add_nodes(embedder) # Add to the DAG\n" + ], + "metadata": { + "collapsed": false + }, + "id": "441d5a0746540497", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Define Milvus Vector Store Node" + ], + "metadata": { + "collapsed": false + }, + "id": "3c2d4ad79cfa7254" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "vector_store = (\n", + " MilvusDocumentWriter(\n", + " connection=MilvusConnection(deployment_type=MilvusDeploymentType.FILE, uri=\"./milvus.db\"),\n", + " index_name=\"my_milvus_collection\", \n", + " dimension=1536, \n", + " create_if_not_exist=True, \n", + " metric_type=\"COSINE\" \n", + " )\n", + " .inputs(documents=embedder.outputs.documents) # Connect to embedder output\n", + " .depends_on(embedder) # Set dependency on the embedder\n", + ")\n", + "rag_wf.flow.add_nodes(vector_store) # Add to the DAG\n" + ], + "metadata": { + "collapsed": false + }, + "id": "49d19a8f959e81f1", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "> # Milvus Deployment Types\n", + ">\n", + "> Milvus offers two deployment types, catering to different use cases:\n", + ">\n", + ">\n", + "> ## 1. **MilvusDeploymentType.FILE**\n", + ">\n", + "> - Ideal for **local prototyping** or **small-scale data** storage.\n", + "> - Set the `uri` to a local file path (e.g., `./milvus.db`) to leverage [Milvus Lite](https://milvus.io/docs/milvus_lite.md), which automatically stores all data in the specified file.\n", + "> - This is a convenient option for **quick setup** and **experimentation**.\n", + ">\n", + ">\n", + "> ## 2. **MilvusDeploymentType.HOST**\n", + ">\n", + "> - Designed for **large-scale data** scenarios, such as managing over a million vectors.\n", + ">\n", + "> ### **Self-Hosted Server**\n", + "> - Deploy a high-performance Milvus server using [Docker or Kubernetes](https://milvus.io/docs/quickstart.md).\n", + "> - Configure the server’s address and port as the `uri` (e.g., `http://localhost:19530`).\n", + "> - If authentication is enabled:\n", + "> - Provide `:` as the `token`.\n", + "> - If authentication is disabled:\n", + "> - Leave the `token` unset.\n", + ">\n", + "> ### **Zilliz Cloud (Managed Service)**\n", + "> - For a fully managed, cloud-based Milvus experience, use [Zilliz Cloud](https://zilliz.com/cloud).\n", + "> - Set the `uri` and `token` according to the [Public Endpoint and API key](https://docs.zilliz.com/docs/on-zilliz-cloud-console#cluster-details) provided in the Zilliz Cloud console." + ], + "metadata": { + "collapsed": false + }, + "id": "2e00a00b250c7f02" + }, + { + "cell_type": "markdown", + "source": [ + "### Define Input Data and Run the Workflow" + ], + "metadata": { + "collapsed": false + }, + "id": "ad82067568805962" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "file_paths = [\"./pdf_files/WhatisMilvus.pdf\"]\n", + "input_data = {\n", + " \"files\": [\n", + " BytesIO(open(path, \"rb\").read()) for path in file_paths \n", + " ],\n", + " \"metadata\": [\n", + " {\"filename\": path} for path in file_paths \n", + " ],\n", + "}\n", + "\n", + "# Run the workflow with the prepared input data\n", + "rag_wf.run(input_data=input_data)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "99e53f536d7b5274", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "Through this workflow, we have successfully implemented a document indexing pipeline using Milvus as the vector database and OpenAI's embedding model for semantic representation. This setup enables fast and accurate vector-based retrieval, forming the foundation for RAG workflows like semantic search, document retrieval, and contextual AI-driven interactions.\n", + "\n", + "With Milvus's scalable storage capabilities and Dynamiq's orchestration, this solution is ready for both prototyping and large-scale production deployments. You can now extend this pipeline to include additional tasks like retrieval-based question answering or AI-driven content generation." + ], + "metadata": { + "collapsed": false + }, + "id": "b3fa6c0cdf9906ab" + }, + { + "cell_type": "markdown", + "source": [ + "## RAG Document Retrieval Flow\n", + "\n", + "In this tutorial, we implement a Retrieval-Augmented Generation (RAG) document retrieval workflow. This workflow takes a user query, generates a vector embedding for it, retrieves the most relevant documents from a Milvus vector database, and uses a large language model (LLM) to generate a detailed and context-aware answer based on the retrieved documents.\n", + "\n", + "By following this workflow, you will create an end-to-end solution for semantic search and question answering, combining the power of vector-based document retrieval with the capabilities of OpenAI’s advanced LLMs. This approach enables efficient and intelligent responses to user queries by leveraging the stored knowledge in your document database." + ], + "metadata": { + "collapsed": false + }, + "id": "945e58305b89d696" + }, + { + "cell_type": "markdown", + "source": [ + "### Import Required Libraries and Initialize Workflow" + ], + "metadata": { + "collapsed": false + }, + "id": "1083f8e11a0b6ce7" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "from dynamiq import Workflow\n", + "from dynamiq.connections import OpenAI as OpenAIConnection, Milvus as MilvusConnection, MilvusDeploymentType\n", + "from dynamiq.nodes.embedders import OpenAITextEmbedder\n", + "from dynamiq.nodes.retrievers import MilvusDocumentRetriever\n", + "from dynamiq.nodes.llms import OpenAI\n", + "from dynamiq.prompts import Message, Prompt\n", + "\n", + "# Initialize the workflow\n", + "retrieval_wf = Workflow()\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T02:24:30.178036Z", + "start_time": "2024-11-20T02:24:30.145675Z" + } + }, + "id": "baa49fec5d55f96d", + "execution_count": 22 + }, + { + "cell_type": "markdown", + "source": [ + "### Define OpenAI Connection and Text Embedder" + ], + "metadata": { + "collapsed": false + }, + "id": "f1cd8035d05e713f" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "# Establish OpenAI connection\n", + "openai_connection = OpenAIConnection(api_key=os.environ[\"OPENAI_API_KEY\"])\n", + "\n", + "# Define the text embedder node\n", + "embedder = OpenAITextEmbedder(\n", + " connection=openai_connection,\n", + " model=\"text-embedding-3-small\", \n", + ")\n", + "\n", + "# Add the embedder node to the workflow\n", + "retrieval_wf.flow.add_nodes(embedder)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "ec1ca65ca47b05ed", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Define Milvus Document Retriever" + ], + "metadata": { + "collapsed": false + }, + "id": "86a8dcb5193d0c25" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "document_retriever = (\n", + " MilvusDocumentRetriever(\n", + " connection=MilvusConnection(\n", + " deployment_type=MilvusDeploymentType.FILE,\n", + " uri=\"./milvus.db\" \n", + " ),\n", + " index_name=\"my_milvus_collection\", \n", + " dimension=1536, \n", + " top_k=5, \n", + " )\n", + " .inputs(embedding=embedder.outputs.embedding) # Connect to embedder output\n", + " .depends_on(embedder) # Dependency on the embedder node\n", + ")\n", + "\n", + "# Add the retriever node to the workflow\n", + "retrieval_wf.flow.add_nodes(document_retriever)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "8678b57edb214fba", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Define the Prompt Template" + ], + "metadata": { + "collapsed": false + }, + "id": "72d314d217c9879e" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "# Define the prompt template for the LLM\n", + "prompt_template = \"\"\"\n", + "Please answer the question based on the provided context.\n", + "\n", + "Question: {{ query }}\n", + "\n", + "Context:\n", + "{% for document in documents %}\n", + "- {{ document.content }}\n", + "{% endfor %}\n", + "\"\"\"\n", + "\n", + "# Create the prompt object\n", + "prompt = Prompt(messages=[Message(content=prompt_template, role=\"user\")])\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T02:24:33.666448Z", + "start_time": "2024-11-20T02:24:33.662766Z" + } + }, + "id": "d945959c4b8a9eb2", + "execution_count": 25 + }, + { + "cell_type": "markdown", + "source": [ + "### Define the Answer Generator\n" + ], + "metadata": { + "collapsed": false + }, + "id": "a55e4885ab22e31d" + }, + { + "cell_type": "code", + "outputs": [], + "source": [ + "answer_generator = (\n", + " OpenAI(\n", + " connection=openai_connection,\n", + " model=\"gpt-4o\", \n", + " prompt=prompt, \n", + " )\n", + " .inputs(\n", + " documents=document_retriever.outputs.documents, \n", + " query=embedder.outputs.query, \n", + " )\n", + " .depends_on([document_retriever, embedder]) # Dependencies on retriever and embedder\n", + ")\n", + "\n", + "# Add the answer generator node to the workflow\n", + "retrieval_wf.flow.add_nodes(answer_generator)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "7bf82309937abf31", + "execution_count": null + }, + { + "cell_type": "markdown", + "source": [ + "### Run the Workflow" + ], + "metadata": { + "collapsed": false + }, + "id": "81495d9e624282ac" + }, + { + "cell_type": "code", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 21:24:35 - INFO - Workflow 6776bf57-6268-4f25-8ba1-3b31c5dd5ba7: execution started.\n", + "2024-11-19 21:24:35 - INFO - Flow 250ce928-69e7-4fc0-bd01-36da6c98d664: execution started.\n", + "2024-11-19 21:24:35 - INFO - Node OpenAITextEmbedder - c6baa96d-ca9c-48db-be2b-5edf82beaba3: execution started.\n", + "2024-11-19 21:24:35 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 21:24:35 - INFO - Node OpenAITextEmbedder - c6baa96d-ca9c-48db-be2b-5edf82beaba3: execution succeeded in 349ms.\n", + "2024-11-19 21:24:35 - INFO - Node MilvusDocumentRetriever - 16db67fc-c669-4473-9e9d-5454ee3575cf: execution started.\n", + "2024-11-19 21:24:35 - INFO - Node MilvusDocumentRetriever - 16db67fc-c669-4473-9e9d-5454ee3575cf: execution succeeded in 17ms.\n", + "2024-11-19 21:24:35 - INFO - Node LLM - 2d4cda84-dc73-4fe7-a420-aeddc9f6c3fc: execution started.\n", + "2024-11-19 21:24:38 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2024-11-19 21:24:38 - INFO - Node LLM - 2d4cda84-dc73-4fe7-a420-aeddc9f6c3fc: execution succeeded in 2.8s.\n", + "2024-11-19 21:24:38 - INFO - Flow 250ce928-69e7-4fc0-bd01-36da6c98d664: execution succeeded in 3.2s.\n", + "2024-11-19 21:24:38 - INFO - Workflow 6776bf57-6268-4f25-8ba1-3b31c5dd5ba7: execution succeeded in 3.2s.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The advanced search algorithms in Milvus include a wide range of in-memory and on-disk indexing/search algorithms such as IVF (Inverted File), HNSW (Hierarchical Navigable Small World), and DiskANN. These algorithms have been deeply optimized to deliver high performance, with Milvus reportedly achieving 30%-70% better performance compared to popular implementations like FAISS and HNSWLib. These optimizations are part of Milvus's hardware-aware design, which leverages various hardware architectures and platforms to enhance search efficiency.\n" + ] + } + ], + "source": [ + "# Run the workflow with a sample query\n", + "sample_query = \"What is the Advanced Search Algorithms in Milvus?\"\n", + "\n", + "result = retrieval_wf.run(input_data={\"query\": sample_query})\n", + "\n", + "answer = result.output.get(answer_generator.id).get(\"output\", {}).get(\"content\")\n", + "print(answer)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T02:24:38.830034Z", + "start_time": "2024-11-20T02:24:35.626078Z" + } + }, + "id": "2b0de8620a3079a", + "execution_count": 27 + }, + { + "cell_type": "markdown", + "source": [ + "This RAG document retrieval workflow effectively combines state-of-the-art technologies for query understanding, document retrieval, and natural language generation. By embedding queries, retrieving contextually relevant documents, and generating insightful answers, this workflow enables intelligent and context-aware interactions. This workflow can be extended to handle complex multi-document queries, knowledge-based systems, and intelligent assistants, making it a foundational building block for advanced AI applications." + ], + "metadata": { + "collapsed": false + }, + "id": "969bf96ad89b4f65" + }, + { + "cell_type": "code", + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + }, + "id": "34e2e7c0bcaf1158" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 02d77d5e365d74a479a071716b554c54b69109d0 Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 22:06:04 -0500 Subject: [PATCH 2/6] Tutorial: Milvus rag with Dynamiq --- .../integration/milvus_rag_with_dynamiq.ipynb | 792 ++++++------------ 1 file changed, 271 insertions(+), 521 deletions(-) diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb index 31cacb1cc..f0aa466cd 100644 --- a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -62,496 +62,154 @@ "name": "stdout", "output_type": "stream", "text": [ - "Collecting dynamiq\r\n", - " Using cached dynamiq-0.4.1-py3-none-any.whl.metadata (14 kB)\r\n", - "Collecting pymilvus\r\n", - " Using cached pymilvus-2.4.9-py3-none-any.whl.metadata (5.6 kB)\r\n", - "Collecting RestrictedPython<7.2,>=7.1 (from dynamiq)\r\n", - " Downloading RestrictedPython-7.1-py3-none-any.whl.metadata (12 kB)\r\n", - "Collecting black<24.9.0,>=24.8.0 (from dynamiq)\r\n", - " Using cached black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (78 kB)\r\n", - "Collecting boto3<1.35.0,>=1.34.34 (from dynamiq)\r\n", - " Downloading boto3-1.34.162-py3-none-any.whl.metadata (6.6 kB)\r\n", - "Collecting chromadb-client<0.6.0,>=0.5.5.dev0 (from dynamiq)\r\n", - " Downloading chromadb_client-0.5.20-py3-none-any.whl.metadata (2.4 kB)\r\n", - "Collecting e2b<0.18.0,>=0.17.1 (from dynamiq)\r\n", - " Downloading e2b-0.17.1-py3-none-any.whl.metadata (3.2 kB)\r\n", - "Collecting e2b-code-interpreter<0.1.0,>=0.0.10 (from dynamiq)\r\n", - " Downloading e2b_code_interpreter-0.0.10-py3-none-any.whl.metadata (3.2 kB)\r\n", - "Collecting filetype<1.3.0,>=1.2.0 (from dynamiq)\r\n", - " Downloading filetype-1.2.0-py2.py3-none-any.whl.metadata (6.5 kB)\r\n", - "Collecting google-cloud-aiplatform<1.48.0,>=1.47.0 (from dynamiq)\r\n", - " Downloading google_cloud_aiplatform-1.47.0-py2.py3-none-any.whl.metadata (30 kB)\r\n", - "Collecting google-generativeai<0.6.0,>=0.5.0 (from dynamiq)\r\n", - " Downloading google_generativeai-0.5.4-py3-none-any.whl.metadata (3.9 kB)\r\n", + "Requirement already satisfied: dynamiq in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (0.4.1)\r\n", + "Requirement already satisfied: pymilvus in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (2.4.9)\r\n", + "Requirement already satisfied: RestrictedPython<7.2,>=7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (7.1)\r\n", + "Requirement already satisfied: black<24.9.0,>=24.8.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (24.8.0)\r\n", + "Requirement already satisfied: boto3<1.35.0,>=1.34.34 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.34.162)\r\n", + "Requirement already satisfied: chromadb-client<0.6.0,>=0.5.5.dev0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.5.20)\r\n", + "Requirement already satisfied: e2b<0.18.0,>=0.17.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.17.1)\r\n", + "Requirement already satisfied: e2b-code-interpreter<0.1.0,>=0.0.10 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.0.10)\r\n", + "Requirement already satisfied: filetype<1.3.0,>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.2.0)\r\n", + "Requirement already satisfied: google-cloud-aiplatform<1.48.0,>=1.47.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.47.0)\r\n", + "Requirement already satisfied: google-generativeai<0.6.0,>=0.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.5.4)\r\n", "Requirement already satisfied: jinja2<3.2.0,>=3.1.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.1.4)\r\n", - "Collecting jsonpath-ng<1.7.0,>=1.6.1 (from dynamiq)\r\n", - " Downloading jsonpath_ng-1.6.1-py3-none-any.whl.metadata (18 kB)\r\n", - "Collecting jsonpickle<3.1.0,>=3.0.3 (from dynamiq)\r\n", - " Downloading jsonpickle-3.0.4-py3-none-any.whl.metadata (2.6 kB)\r\n", - "Collecting litellm<1.47.0,>=1.46.0 (from dynamiq)\r\n", - " Downloading litellm-1.46.8-py3-none-any.whl.metadata (32 kB)\r\n", - "Collecting more-itertools<10.4.0,>=10.3.0 (from dynamiq)\r\n", - " Downloading more_itertools-10.3.0-py3-none-any.whl.metadata (36 kB)\r\n", - "Collecting omegaconf<2.4.0,>=2.3.0 (from dynamiq)\r\n", - " Downloading omegaconf-2.3.0-py3-none-any.whl.metadata (3.9 kB)\r\n", - "Collecting openai<1.46.0,>=1.45.0 (from dynamiq)\r\n", - " Downloading openai-1.45.1-py3-none-any.whl.metadata (22 kB)\r\n", - "Collecting pdf2image<1.18.0,>=1.17.0 (from dynamiq)\r\n", - " Downloading pdf2image-1.17.0-py3-none-any.whl.metadata (6.2 kB)\r\n", - "Collecting pinecone-client<3.3.0,>=3.2.2 (from dynamiq)\r\n", - " Downloading pinecone_client-3.2.2-py3-none-any.whl.metadata (16 kB)\r\n", - "Collecting pydantic<2.8.0,>=2.7.1 (from dynamiq)\r\n", - " Downloading pydantic-2.7.4-py3-none-any.whl.metadata (109 kB)\r\n", - "Collecting pypdf<4.4.0,>=4.3.1 (from dynamiq)\r\n", - " Downloading pypdf-4.3.1-py3-none-any.whl.metadata (7.4 kB)\r\n", - "Collecting python-pptx==1.0.2 (from dynamiq)\r\n", - " Downloading python_pptx-1.0.2-py3-none-any.whl.metadata (2.5 kB)\r\n", - "Collecting qdrant-client<1.12.0,>=1.11.3 (from dynamiq)\r\n", - " Downloading qdrant_client-1.11.3-py3-none-any.whl.metadata (10 kB)\r\n", - "Collecting redis<5.1.0,>=5.0.0 (from dynamiq)\r\n", - " Downloading redis-5.0.8-py3-none-any.whl.metadata (9.2 kB)\r\n", - "Collecting requests<2.32.0,>=2.31.0 (from dynamiq)\r\n", - " Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)\r\n", - "Collecting unstructured-client<0.19.0,>=0.18.0 (from dynamiq)\r\n", - " Downloading unstructured_client-0.18.0-py3-none-any.whl.metadata (4.9 kB)\r\n", - "Collecting weaviate-client<4.8.0,>=4.7.1 (from dynamiq)\r\n", - " Downloading weaviate_client-4.7.1-py3-none-any.whl.metadata (3.3 kB)\r\n", - "Collecting Pillow>=3.3.2 (from python-pptx==1.0.2->dynamiq)\r\n", - " Downloading pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (9.1 kB)\r\n", - "Collecting XlsxWriter>=0.5.7 (from python-pptx==1.0.2->dynamiq)\r\n", - " Downloading XlsxWriter-3.2.0-py3-none-any.whl.metadata (2.6 kB)\r\n", - "Collecting lxml>=3.1.0 (from python-pptx==1.0.2->dynamiq)\r\n", - " Downloading lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (3.8 kB)\r\n", + "Requirement already satisfied: jsonpath-ng<1.7.0,>=1.6.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.6.1)\r\n", + "Requirement already satisfied: jsonpickle<3.1.0,>=3.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.0.4)\r\n", + "Requirement already satisfied: litellm<1.47.0,>=1.46.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.46.8)\r\n", + "Requirement already satisfied: more-itertools<10.4.0,>=10.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (10.3.0)\r\n", + "Requirement already satisfied: omegaconf<2.4.0,>=2.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.3.0)\r\n", + "Requirement already satisfied: openai<1.46.0,>=1.45.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.45.1)\r\n", + "Requirement already satisfied: pdf2image<1.18.0,>=1.17.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.17.0)\r\n", + "Requirement already satisfied: pinecone-client<3.3.0,>=3.2.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.2.2)\r\n", + "Requirement already satisfied: pydantic<2.8.0,>=2.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.7.4)\r\n", + "Requirement already satisfied: pypdf<4.4.0,>=4.3.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (4.3.1)\r\n", + "Requirement already satisfied: python-pptx==1.0.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.0.2)\r\n", + "Requirement already satisfied: qdrant-client<1.12.0,>=1.11.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.11.3)\r\n", + "Requirement already satisfied: redis<5.1.0,>=5.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (5.0.8)\r\n", + "Requirement already satisfied: requests<2.32.0,>=2.31.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.31.0)\r\n", + "Requirement already satisfied: unstructured-client<0.19.0,>=0.18.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.18.0)\r\n", + "Requirement already satisfied: weaviate-client<4.8.0,>=4.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (4.7.1)\r\n", + "Requirement already satisfied: Pillow>=3.3.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (11.0.0)\r\n", + "Requirement already satisfied: XlsxWriter>=0.5.7 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (3.2.0)\r\n", + "Requirement already satisfied: lxml>=3.1.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (5.3.0)\r\n", "Requirement already satisfied: typing-extensions>=4.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (4.11.0)\r\n", "Requirement already satisfied: setuptools>69 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (75.1.0)\r\n", - "Collecting grpcio>=1.49.1 (from pymilvus)\r\n", - " Downloading grpcio-1.68.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (3.9 kB)\r\n", - "Collecting protobuf>=3.20.0 (from pymilvus)\r\n", - " Downloading protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl.metadata (592 bytes)\r\n", - "Collecting environs<=9.5.0 (from pymilvus)\r\n", - " Using cached environs-9.5.0-py2.py3-none-any.whl.metadata (14 kB)\r\n", - "Collecting ujson>=2.0.0 (from pymilvus)\r\n", - " Using cached ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (9.3 kB)\r\n", - "Collecting pandas>=1.2.4 (from pymilvus)\r\n", - " Using cached pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl.metadata (89 kB)\r\n", - "Collecting milvus-lite<2.5.0,>=2.4.0 (from pymilvus)\r\n", - " Using cached milvus_lite-2.4.10-py3-none-macosx_11_0_arm64.whl.metadata (9.0 kB)\r\n", - "Collecting click>=8.0.0 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", - " Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)\r\n", - "Collecting mypy-extensions>=0.4.3 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", - " Using cached mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB)\r\n", + "Requirement already satisfied: grpcio>=1.49.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (1.68.0)\r\n", + "Requirement already satisfied: protobuf>=3.20.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (4.25.5)\r\n", + "Requirement already satisfied: environs<=9.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (9.5.0)\r\n", + "Requirement already satisfied: ujson>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (5.10.0)\r\n", + "Requirement already satisfied: pandas>=1.2.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (2.2.3)\r\n", + "Requirement already satisfied: milvus-lite<2.5.0,>=2.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (2.4.10)\r\n", + "Requirement already satisfied: click>=8.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (8.1.7)\r\n", + "Requirement already satisfied: mypy-extensions>=0.4.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (1.0.0)\r\n", "Requirement already satisfied: packaging>=22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (24.1)\r\n", - "Collecting pathspec>=0.9.0 (from black<24.9.0,>=24.8.0->dynamiq)\r\n", - " Using cached pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)\r\n", + "Requirement already satisfied: pathspec>=0.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (0.12.1)\r\n", "Requirement already satisfied: platformdirs>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (3.10.0)\r\n", - "Collecting botocore<1.35.0,>=1.34.162 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", - " Downloading botocore-1.34.162-py3-none-any.whl.metadata (5.7 kB)\r\n", - "Collecting jmespath<2.0.0,>=0.7.1 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", - " Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\r\n", - "Collecting s3transfer<0.11.0,>=0.10.0 (from boto3<1.35.0,>=1.34.34->dynamiq)\r\n", - " Downloading s3transfer-0.10.3-py3-none-any.whl.metadata (1.7 kB)\r\n", - "Collecting numpy<2.0.0,>=1.22.5 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Using cached numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl.metadata (114 kB)\r\n", - "Collecting opentelemetry-api>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_api-1.28.2-py3-none-any.whl.metadata (1.4 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.2-py3-none-any.whl.metadata (2.2 kB)\r\n", - "Collecting opentelemetry-sdk>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_sdk-1.28.2-py3-none-any.whl.metadata (1.5 kB)\r\n", + "Requirement already satisfied: botocore<1.35.0,>=1.34.162 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (1.34.162)\r\n", + "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (1.0.1)\r\n", + "Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (0.10.3)\r\n", + "Requirement already satisfied: numpy<2.0.0,>=1.22.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.26.4)\r\n", + "Requirement already satisfied: opentelemetry-api>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", + "Requirement already satisfied: opentelemetry-sdk>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", "Requirement already satisfied: overrides>=7.3.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (7.4.0)\r\n", - "Collecting posthog>=2.4.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading posthog-3.7.2-py2.py3-none-any.whl.metadata (2.0 kB)\r\n", - "Collecting tenacity>=8.2.3 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading tenacity-9.0.0-py3-none-any.whl.metadata (1.2 kB)\r\n", + "Requirement already satisfied: posthog>=2.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (3.7.2)\r\n", + "Requirement already satisfied: tenacity>=8.2.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (9.0.0)\r\n", "Requirement already satisfied: PyYAML>=6.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (6.0.2)\r\n", - "Collecting orjson>=3.9.12 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading orjson-3.10.11-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl.metadata (50 kB)\r\n", + "Requirement already satisfied: orjson>=3.9.12 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (3.10.11)\r\n", "Requirement already satisfied: httpx>=0.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.27.0)\r\n", - "Collecting aenum>=3.1.11 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading aenum-3.1.15-py3-none-any.whl.metadata (3.7 kB)\r\n", - "Collecting aiohttp>=3.8.4 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading aiohttp-3.11.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.7 kB)\r\n", - "Collecting jsonrpcclient>=4.0.3 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading jsonrpcclient-4.0.3-py3-none-any.whl.metadata (3.2 kB)\r\n", + "Requirement already satisfied: aenum>=3.1.11 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (3.1.15)\r\n", + "Requirement already satisfied: aiohttp>=3.8.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (3.11.6)\r\n", + "Requirement already satisfied: jsonrpcclient>=4.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (4.0.3)\r\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.9.0.post0)\r\n", "Requirement already satisfied: urllib3>=1.25.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.2.3)\r\n", - "Collecting websockets>=11.0.3 (from e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.7 kB)\r\n", + "Requirement already satisfied: websockets>=11.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (14.1)\r\n", "Requirement already satisfied: websocket-client<2.0.0,>=1.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b-code-interpreter<0.1.0,>=0.0.10->dynamiq) (1.8.0)\r\n", - "Collecting marshmallow>=3.0.0 (from environs<=9.5.0->pymilvus)\r\n", - " Downloading marshmallow-3.23.1-py3-none-any.whl.metadata (7.5 kB)\r\n", - "Collecting python-dotenv (from environs<=9.5.0->pymilvus)\r\n", - " Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)\r\n", - "Collecting google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_api_core-2.23.0-py3-none-any.whl.metadata (3.0 kB)\r\n", - "Collecting google-auth<3.0.0dev,>=2.14.1 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_auth-2.36.0-py2.py3-none-any.whl.metadata (4.7 kB)\r\n", - "Collecting proto-plus<2.0.0dev,>=1.22.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading proto_plus-1.25.0-py3-none-any.whl.metadata (2.2 kB)\r\n", - "Collecting protobuf>=3.20.0 (from pymilvus)\r\n", - " Downloading protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl.metadata (541 bytes)\r\n", - "Collecting google-cloud-storage<3.0.0dev,>=1.32.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_cloud_storage-2.18.2-py2.py3-none-any.whl.metadata (9.1 kB)\r\n", - "Collecting google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_cloud_bigquery-3.27.0-py2.py3-none-any.whl.metadata (8.6 kB)\r\n", - "Collecting google-cloud-resource-manager<3.0.0dev,>=1.3.3 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_cloud_resource_manager-1.13.1-py2.py3-none-any.whl.metadata (5.4 kB)\r\n", - "Collecting shapely<3.0.0dev (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.0 kB)\r\n", - "Collecting docstring-parser<1 (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading docstring_parser-0.16-py3-none-any.whl.metadata (3.0 kB)\r\n", - "Collecting google-ai-generativelanguage==0.6.4 (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Downloading google_ai_generativelanguage-0.6.4-py3-none-any.whl.metadata (5.6 kB)\r\n", - "Collecting google-api-python-client (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Downloading google_api_python_client-2.153.0-py2.py3-none-any.whl.metadata (6.7 kB)\r\n", - "Collecting tqdm (from google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Downloading tqdm-4.67.0-py3-none-any.whl.metadata (57 kB)\r\n", + "Requirement already satisfied: marshmallow>=3.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from environs<=9.5.0->pymilvus) (3.23.1)\r\n", + "Requirement already satisfied: python-dotenv in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from environs<=9.5.0->pymilvus) (1.0.1)\r\n", + "Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.23.0)\r\n", + "Requirement already satisfied: google-auth<3.0.0dev,>=2.14.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.36.0)\r\n", + "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.25.0)\r\n", + "Requirement already satisfied: google-cloud-storage<3.0.0dev,>=1.32.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.18.2)\r\n", + "Requirement already satisfied: google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (3.27.0)\r\n", + "Requirement already satisfied: google-cloud-resource-manager<3.0.0dev,>=1.3.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.13.1)\r\n", + "Requirement already satisfied: shapely<3.0.0dev in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.0.6)\r\n", + "Requirement already satisfied: docstring-parser<1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.16)\r\n", + "Requirement already satisfied: google-ai-generativelanguage==0.6.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.6.4)\r\n", + "Requirement already satisfied: google-api-python-client in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (2.153.0)\r\n", + "Requirement already satisfied: tqdm in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (4.67.0)\r\n", "Requirement already satisfied: MarkupSafe>=2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jinja2<3.2.0,>=3.1.4->dynamiq) (2.1.3)\r\n", "Requirement already satisfied: ply in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonpath-ng<1.7.0,>=1.6.1->dynamiq) (3.11)\r\n", - "Collecting importlib-metadata>=6.8.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Using cached importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)\r\n", + "Requirement already satisfied: importlib-metadata>=6.8.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (8.4.0)\r\n", "Requirement already satisfied: jsonschema<5.0.0,>=4.22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (4.23.0)\r\n", - "Collecting tiktoken>=0.7.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.6 kB)\r\n", - "Collecting tokenizers (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading tokenizers-0.20.3-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.7 kB)\r\n", - "Collecting antlr4-python3-runtime==4.9.* (from omegaconf<2.4.0,>=2.3.0->dynamiq)\r\n", - " Using cached antlr4_python3_runtime-4.9.3-py3-none-any.whl\r\n", + "Requirement already satisfied: tiktoken>=0.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (0.8.0)\r\n", + "Requirement already satisfied: tokenizers in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (0.20.3)\r\n", + "Requirement already satisfied: antlr4-python3-runtime==4.9.* in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from omegaconf<2.4.0,>=2.3.0->dynamiq) (4.9.3)\r\n", "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (4.6.2)\r\n", - "Collecting distro<2,>=1.7.0 (from openai<1.46.0,>=1.45.0->dynamiq)\r\n", - " Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)\r\n", - "Collecting jiter<1,>=0.4.0 (from openai<1.46.0,>=1.45.0->dynamiq)\r\n", - " Downloading jiter-0.7.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (5.2 kB)\r\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (1.9.0)\r\n", + "Requirement already satisfied: jiter<1,>=0.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (0.7.1)\r\n", "Requirement already satisfied: sniffio in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (1.3.0)\r\n", "Requirement already satisfied: pytz>=2020.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pandas>=1.2.4->pymilvus) (2024.1)\r\n", - "Collecting tzdata>=2022.7 (from pandas>=1.2.4->pymilvus)\r\n", - " Using cached tzdata-2024.2-py2.py3-none-any.whl.metadata (1.4 kB)\r\n", + "Requirement already satisfied: tzdata>=2022.7 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pandas>=1.2.4->pymilvus) (2024.2)\r\n", "Requirement already satisfied: certifi>=2019.11.17 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pinecone-client<3.3.0,>=3.2.2->dynamiq) (2024.8.30)\r\n", - "Collecting annotated-types>=0.4.0 (from pydantic<2.8.0,>=2.7.1->dynamiq)\r\n", - " Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)\r\n", - "Collecting pydantic-core==2.18.4 (from pydantic<2.8.0,>=2.7.1->dynamiq)\r\n", - " Downloading pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.5 kB)\r\n", - "Collecting grpcio-tools>=1.41.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading grpcio_tools-1.68.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - "Collecting portalocker<3.0.0,>=2.7.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading portalocker-2.10.1-py3-none-any.whl.metadata (8.5 kB)\r\n", + "Requirement already satisfied: annotated-types>=0.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pydantic<2.8.0,>=2.7.1->dynamiq) (0.7.0)\r\n", + "Requirement already satisfied: pydantic-core==2.18.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pydantic<2.8.0,>=2.7.1->dynamiq) (2.18.4)\r\n", + "Requirement already satisfied: grpcio-tools>=1.41.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from qdrant-client<1.12.0,>=1.11.3->dynamiq) (1.62.3)\r\n", + "Requirement already satisfied: portalocker<3.0.0,>=2.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from qdrant-client<1.12.0,>=1.11.3->dynamiq) (2.10.1)\r\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.3.2)\r\n", "Requirement already satisfied: idna<4,>=2.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.7)\r\n", - "Collecting dataclasses-json-speakeasy>=0.5.11 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", - " Downloading dataclasses_json_speakeasy-0.5.11-py3-none-any.whl.metadata (25 kB)\r\n", - "Collecting jsonpath-python>=1.0.6 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", - " Downloading jsonpath_python-1.0.6-py3-none-any.whl.metadata (12 kB)\r\n", + "Requirement already satisfied: dataclasses-json-speakeasy>=0.5.11 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (0.5.11)\r\n", + "Requirement already satisfied: jsonpath-python>=1.0.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (1.0.6)\r\n", "Requirement already satisfied: six>=1.16.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (1.16.0)\r\n", - "Collecting typing-inspect>=0.9.0 (from unstructured-client<0.19.0,>=0.18.0->dynamiq)\r\n", - " Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)\r\n", - "Collecting validators==0.33.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", - " Downloading validators-0.33.0-py3-none-any.whl.metadata (3.8 kB)\r\n", - "Collecting authlib<2.0.0,>=1.2.1 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", - " Downloading Authlib-1.3.2-py2.py3-none-any.whl.metadata (3.9 kB)\r\n", - "Collecting grpcio-health-checking<2.0.0,>=1.57.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", - " Downloading grpcio_health_checking-1.68.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - "Collecting aiohappyeyeballs>=2.3.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading aiohappyeyeballs-2.4.3-py3-none-any.whl.metadata (6.1 kB)\r\n", - "Collecting aiosignal>=1.1.2 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)\r\n", + "Requirement already satisfied: typing-inspect>=0.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (0.9.0)\r\n", + "Requirement already satisfied: validators==0.33.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (0.33.0)\r\n", + "Requirement already satisfied: authlib<2.0.0,>=1.2.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.3.2)\r\n", + "Requirement already satisfied: grpcio-health-checking<2.0.0,>=1.57.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.62.3)\r\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (2.4.3)\r\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.3.1)\r\n", "Requirement already satisfied: attrs>=17.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (24.2.0)\r\n", - "Collecting frozenlist>=1.1.1 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (13 kB)\r\n", - "Collecting multidict<7.0,>=4.5 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (5.0 kB)\r\n", - "Collecting propcache>=0.2.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (7.7 kB)\r\n", - "Collecting yarl<2.0,>=1.17.0 (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq)\r\n", - " Downloading yarl-1.17.2-cp311-cp311-macosx_11_0_arm64.whl.metadata (66 kB)\r\n", - "Collecting cryptography (from authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", - " Downloading cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl.metadata (5.4 kB)\r\n", - "Collecting googleapis-common-protos<2.0.dev0,>=1.56.2 (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl.metadata (1.5 kB)\r\n", - "Collecting grpcio-status<2.0.dev0,>=1.33.2 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading grpcio_status-1.68.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - "Collecting cachetools<6.0,>=2.0.0 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading cachetools-5.5.0-py3-none-any.whl.metadata (5.3 kB)\r\n", - "Collecting pyasn1-modules>=0.2.1 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading pyasn1_modules-0.4.1-py3-none-any.whl.metadata (3.5 kB)\r\n", - "Collecting rsa<5,>=3.1.4 (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Using cached rsa-4.9-py3-none-any.whl.metadata (4.2 kB)\r\n", - "Collecting google-cloud-core<3.0.0dev,>=2.4.1 (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Using cached google_cloud_core-2.4.1-py2.py3-none-any.whl.metadata (2.7 kB)\r\n", - "Collecting google-resumable-media<3.0dev,>=2.0.0 (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl.metadata (2.2 kB)\r\n", - "Collecting grpc-google-iam-v1<1.0.0dev,>=0.12.4 (from google-cloud-resource-manager<3.0.0dev,>=1.3.3->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading grpc_google_iam_v1-0.13.1-py2.py3-none-any.whl.metadata (3.3 kB)\r\n", - "Collecting google-crc32c<2.0dev,>=1.0 (from google-cloud-storage<3.0.0dev,>=1.32.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl.metadata (2.3 kB)\r\n", - "INFO: pip is looking at multiple versions of grpcio-health-checking to determine which version is compatible with other requirements. This could take a while.\r\n", - "Collecting grpcio-health-checking<2.0.0,>=1.57.0 (from weaviate-client<4.8.0,>=4.7.1->dynamiq)\r\n", - " Downloading grpcio_health_checking-1.67.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.67.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.66.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.66.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.66.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.65.5-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.65.4-py3-none-any.whl.metadata (1.1 kB)\r\n", - "INFO: pip is still looking at multiple versions of grpcio-health-checking to determine which version is compatible with other requirements. This could take a while.\r\n", - " Downloading grpcio_health_checking-1.65.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.65.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.64.3-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.64.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.64.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", - " Downloading grpcio_health_checking-1.63.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.63.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_health_checking-1.62.3-py3-none-any.whl.metadata (1.3 kB)\r\n", - "INFO: pip is looking at multiple versions of grpcio-tools to determine which version is compatible with other requirements. This could take a while.\r\n", - "Collecting grpcio-tools>=1.41.0 (from qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading grpcio_tools-1.67.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.67.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.66.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.66.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.66.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.65.5-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.65.4-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - "INFO: pip is still looking at multiple versions of grpcio-tools to determine which version is compatible with other requirements. This could take a while.\r\n", - " Downloading grpcio_tools-1.65.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.65.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.64.3-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.64.1-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.64.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", - " Downloading grpcio_tools-1.63.2-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.63.0-cp311-cp311-macosx_10_9_universal2.whl.metadata (5.3 kB)\r\n", - " Downloading grpcio_tools-1.62.3-cp311-cp311-macosx_10_10_universal2.whl.metadata (6.2 kB)\r\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.5.0)\r\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (6.1.0)\r\n", + "Requirement already satisfied: propcache>=0.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (0.2.0)\r\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.17.2)\r\n", + "Requirement already satisfied: cryptography in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (43.0.3)\r\n", + "Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.66.0)\r\n", + "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.62.3)\r\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (5.5.0)\r\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.4.1)\r\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (4.9)\r\n", + "Requirement already satisfied: google-cloud-core<3.0.0dev,>=2.4.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.4.1)\r\n", + "Requirement already satisfied: google-resumable-media<3.0dev,>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.7.2)\r\n", + "Requirement already satisfied: grpc-google-iam-v1<1.0.0dev,>=0.12.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-resource-manager<3.0.0dev,>=1.3.3->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.13.1)\r\n", + "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-storage<3.0.0dev,>=1.32.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.6.0)\r\n", "Requirement already satisfied: httpcore==1.* in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.0.2)\r\n", "Requirement already satisfied: h11<0.15,>=0.13 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.14.0)\r\n", - "Collecting h2<5,>=3 (from httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading h2-4.1.0-py3-none-any.whl.metadata (3.6 kB)\r\n", - "Collecting zipp>=3.20 (from importlib-metadata>=6.8.0->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)\r\n", + "Requirement already satisfied: h2<5,>=3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (4.1.0)\r\n", + "Requirement already satisfied: zipp>=0.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from importlib-metadata>=6.8.0->litellm<1.47.0,>=1.46.0->dynamiq) (3.21.0)\r\n", "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (2023.7.1)\r\n", "Requirement already satisfied: referencing>=0.28.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.30.2)\r\n", "Requirement already satisfied: rpds-py>=0.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.10.6)\r\n", - "Collecting deprecated>=1.2.6 (from opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading Deprecated-1.2.15-py2.py3-none-any.whl.metadata (5.5 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-common==1.28.2 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_common-1.28.2-py3-none-any.whl.metadata (1.8 kB)\r\n", - "Collecting opentelemetry-proto==1.28.2 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_proto-1.28.2-py3-none-any.whl.metadata (2.3 kB)\r\n", - "INFO: pip is looking at multiple versions of opentelemetry-proto to determine which version is compatible with other requirements. This could take a while.\r\n", - "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.1-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-common==1.28.1 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_common-1.28.1-py3-none-any.whl.metadata (1.8 kB)\r\n", - "Collecting opentelemetry-proto==1.28.1 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_proto-1.28.1-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_grpc-1.28.0-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-common==1.28.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_common-1.28.0-py3-none-any.whl.metadata (1.8 kB)\r\n", - "Collecting opentelemetry-proto==1.28.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_proto-1.28.0-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_grpc-1.27.0-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-exporter-otlp-proto-common==1.27.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_exporter_otlp_proto_common-1.27.0-py3-none-any.whl.metadata (1.8 kB)\r\n", - "Collecting opentelemetry-proto==1.27.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_proto-1.27.0-py3-none-any.whl.metadata (2.3 kB)\r\n", - "Collecting opentelemetry-sdk>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_sdk-1.27.0-py3-none-any.whl.metadata (1.5 kB)\r\n", - "Collecting opentelemetry-api>=1.2.0 (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_api-1.27.0-py3-none-any.whl.metadata (1.4 kB)\r\n", - "Collecting opentelemetry-semantic-conventions==0.48b0 (from opentelemetry-sdk>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading opentelemetry_semantic_conventions-0.48b0-py3-none-any.whl.metadata (2.4 kB)\r\n", - "Collecting importlib-metadata>=6.8.0 (from litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading importlib_metadata-8.4.0-py3-none-any.whl.metadata (4.7 kB)\r\n", - "Collecting monotonic>=1.5 (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Using cached monotonic-1.6-py2.py3-none-any.whl.metadata (1.5 kB)\r\n", - "Collecting backoff>=1.10.0 (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading backoff-2.2.1-py3-none-any.whl.metadata (14 kB)\r\n", - "Collecting regex>=2022.1.18 (from tiktoken>=0.7.0->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl.metadata (40 kB)\r\n", - "Collecting httplib2<1.dev0,>=0.19.0 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Using cached httplib2-0.22.0-py3-none-any.whl.metadata (2.6 kB)\r\n", - "Collecting google-auth-httplib2<1.0.0,>=0.2.0 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Using cached google_auth_httplib2-0.2.0-py2.py3-none-any.whl.metadata (2.2 kB)\r\n", - "Collecting uritemplate<5,>=3.0.1 (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Using cached uritemplate-4.1.1-py2.py3-none-any.whl.metadata (2.9 kB)\r\n", - "Collecting huggingface-hub<1.0,>=0.16.4 (from tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading huggingface_hub-0.26.2-py3-none-any.whl.metadata (13 kB)\r\n", - "Collecting wrapt<2,>=1.10 (from deprecated>=1.2.6->opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq)\r\n", - " Downloading wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (6.6 kB)\r\n", - "INFO: pip is looking at multiple versions of grpcio-status to determine which version is compatible with other requirements. This could take a while.\r\n", - "Collecting grpcio-status<2.0.dev0,>=1.33.2 (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading grpcio_status-1.67.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.67.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.66.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.66.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.66.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.65.5-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.65.4-py3-none-any.whl.metadata (1.1 kB)\r\n", - "INFO: pip is still looking at multiple versions of grpcio-status to determine which version is compatible with other requirements. This could take a while.\r\n", - " Downloading grpcio_status-1.65.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.65.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.64.3-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.64.1-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.64.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\r\n", - " Downloading grpcio_status-1.63.2-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.63.0-py3-none-any.whl.metadata (1.1 kB)\r\n", - " Downloading grpcio_status-1.62.3-py3-none-any.whl.metadata (1.3 kB)\r\n", - "Collecting hyperframe<7,>=6.0 (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading hyperframe-6.0.1-py3-none-any.whl.metadata (2.7 kB)\r\n", - "Collecting hpack<5,>=4.0 (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq)\r\n", - " Downloading hpack-4.0.0-py3-none-any.whl.metadata (2.5 kB)\r\n", - "Collecting pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 (from httplib2<1.dev0,>=0.19.0->google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq)\r\n", - " Downloading pyparsing-3.2.0-py3-none-any.whl.metadata (5.0 kB)\r\n", - "Collecting filelock (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\r\n", - "Collecting fsspec>=2023.5.0 (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq)\r\n", - " Downloading fsspec-2024.10.0-py3-none-any.whl.metadata (11 kB)\r\n", - "Collecting pyasn1<0.7.0,>=0.4.6 (from pyasn1-modules>=0.2.1->google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq)\r\n", - " Downloading pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)\r\n", + "Requirement already satisfied: deprecated>=1.2.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.2.15)\r\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", + "Requirement already satisfied: opentelemetry-proto==1.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", + "Requirement already satisfied: opentelemetry-semantic-conventions==0.48b0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-sdk>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.48b0)\r\n", + "Requirement already satisfied: monotonic>=1.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.6)\r\n", + "Requirement already satisfied: backoff>=1.10.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (2.2.1)\r\n", + "Requirement already satisfied: regex>=2022.1.18 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from tiktoken>=0.7.0->litellm<1.47.0,>=1.46.0->dynamiq) (2024.11.6)\r\n", + "Requirement already satisfied: httplib2<1.dev0,>=0.19.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.22.0)\r\n", + "Requirement already satisfied: google-auth-httplib2<1.0.0,>=0.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.2.0)\r\n", + "Requirement already satisfied: uritemplate<5,>=3.0.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (4.1.1)\r\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (0.26.2)\r\n", + "Requirement already satisfied: wrapt<2,>=1.10 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from deprecated>=1.2.6->opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.16.0)\r\n", + "Requirement already satisfied: hyperframe<7,>=6.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (6.0.1)\r\n", + "Requirement already satisfied: hpack<5,>=4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (4.0.0)\r\n", + "Requirement already satisfied: pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httplib2<1.dev0,>=0.19.0->google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (3.2.0)\r\n", + "Requirement already satisfied: filelock in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (3.16.1)\r\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (2024.10.0)\r\n", + "Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pyasn1-modules>=0.2.1->google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.6.1)\r\n", "Requirement already satisfied: cffi>=1.12 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.17.1)\r\n", - "Requirement already satisfied: pycparser in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cffi>=1.12->cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (2.21)\r\n", - "Using cached dynamiq-0.4.1-py3-none-any.whl (256 kB)\r\n", - "Downloading python_pptx-1.0.2-py3-none-any.whl (472 kB)\r\n", - "Using cached pymilvus-2.4.9-py3-none-any.whl (201 kB)\r\n", - "Using cached black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB)\r\n", - "Downloading boto3-1.34.162-py3-none-any.whl (139 kB)\r\n", - "Downloading chromadb_client-0.5.20-py3-none-any.whl (615 kB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m615.9/615.9 kB\u001B[0m \u001B[31m11.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading e2b-0.17.1-py3-none-any.whl (102 kB)\r\n", - "Downloading e2b_code_interpreter-0.0.10-py3-none-any.whl (9.9 kB)\r\n", - "Using cached environs-9.5.0-py2.py3-none-any.whl (12 kB)\r\n", - "Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)\r\n", - "Downloading google_cloud_aiplatform-1.47.0-py2.py3-none-any.whl (4.8 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.8/4.8 MB\u001B[0m \u001B[31m18.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading google_generativeai-0.5.4-py3-none-any.whl (150 kB)\r\n", - "Downloading google_ai_generativelanguage-0.6.4-py3-none-any.whl (679 kB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m679.1/679.1 kB\u001B[0m \u001B[31m30.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading grpcio-1.68.0-cp311-cp311-macosx_10_9_universal2.whl (11.2 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m11.2/11.2 MB\u001B[0m \u001B[31m16.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading jsonpath_ng-1.6.1-py3-none-any.whl (29 kB)\r\n", - "Downloading jsonpickle-3.0.4-py3-none-any.whl (39 kB)\r\n", - "Downloading litellm-1.46.8-py3-none-any.whl (8.7 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m8.7/8.7 MB\u001B[0m \u001B[31m16.8 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hUsing cached milvus_lite-2.4.10-py3-none-macosx_11_0_arm64.whl (19.9 MB)\r\n", - "Downloading more_itertools-10.3.0-py3-none-any.whl (59 kB)\r\n", - "Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\r\n", - "Downloading openai-1.45.1-py3-none-any.whl (374 kB)\r\n", - "Using cached pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl (11.3 MB)\r\n", - "Downloading pdf2image-1.17.0-py3-none-any.whl (11 kB)\r\n", - "Downloading pinecone_client-3.2.2-py3-none-any.whl (215 kB)\r\n", - "Downloading protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl (394 kB)\r\n", - "Downloading pydantic-2.7.4-py3-none-any.whl (409 kB)\r\n", - "Downloading pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m1.8/1.8 MB\u001B[0m \u001B[31m31.7 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading pypdf-4.3.1-py3-none-any.whl (295 kB)\r\n", - "Downloading qdrant_client-1.11.3-py3-none-any.whl (258 kB)\r\n", - "Downloading redis-5.0.8-py3-none-any.whl (255 kB)\r\n", - "Using cached requests-2.31.0-py3-none-any.whl (62 kB)\r\n", - "Downloading RestrictedPython-7.1-py3-none-any.whl (26 kB)\r\n", - "Using cached ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl (51 kB)\r\n", - "Downloading unstructured_client-0.18.0-py3-none-any.whl (21 kB)\r\n", - "Downloading weaviate_client-4.7.1-py3-none-any.whl (368 kB)\r\n", - "Downloading validators-0.33.0-py3-none-any.whl (43 kB)\r\n", - "Downloading aenum-3.1.15-py3-none-any.whl (137 kB)\r\n", - "Downloading aiohttp-3.11.6-cp311-cp311-macosx_11_0_arm64.whl (454 kB)\r\n", - "Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\r\n", - "Downloading Authlib-1.3.2-py2.py3-none-any.whl (225 kB)\r\n", - "Downloading botocore-1.34.162-py3-none-any.whl (12.5 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m12.5/12.5 MB\u001B[0m \u001B[31m18.8 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hUsing cached click-8.1.7-py3-none-any.whl (97 kB)\r\n", - "Downloading dataclasses_json_speakeasy-0.5.11-py3-none-any.whl (28 kB)\r\n", - "Using cached distro-1.9.0-py3-none-any.whl (20 kB)\r\n", - "Downloading docstring_parser-0.16-py3-none-any.whl (36 kB)\r\n", - "Downloading google_api_core-2.23.0-py3-none-any.whl (156 kB)\r\n", - "Downloading google_auth-2.36.0-py2.py3-none-any.whl (209 kB)\r\n", - "Downloading google_cloud_bigquery-3.27.0-py2.py3-none-any.whl (240 kB)\r\n", - "Downloading google_cloud_resource_manager-1.13.1-py2.py3-none-any.whl (358 kB)\r\n", - "Downloading google_cloud_storage-2.18.2-py2.py3-none-any.whl (130 kB)\r\n", - "Downloading grpcio_health_checking-1.62.3-py3-none-any.whl (18 kB)\r\n", - "Downloading grpcio_tools-1.62.3-cp311-cp311-macosx_10_10_universal2.whl (5.1 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m5.1/5.1 MB\u001B[0m \u001B[31m23.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading jiter-0.7.1-cp311-cp311-macosx_11_0_arm64.whl (303 kB)\r\n", - "Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)\r\n", - "Downloading jsonpath_python-1.0.6-py3-none-any.whl (7.6 kB)\r\n", - "Downloading jsonrpcclient-4.0.3-py3-none-any.whl (7.0 kB)\r\n", - "Downloading lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl (8.1 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m8.1/8.1 MB\u001B[0m \u001B[31m17.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading marshmallow-3.23.1-py3-none-any.whl (49 kB)\r\n", - "Using cached mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)\r\n", - "Using cached numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl (14.0 MB)\r\n", - "Downloading opentelemetry_exporter_otlp_proto_grpc-1.27.0-py3-none-any.whl (18 kB)\r\n", - "Downloading opentelemetry_proto-1.27.0-py3-none-any.whl (52 kB)\r\n", - "Downloading opentelemetry_exporter_otlp_proto_common-1.27.0-py3-none-any.whl (17 kB)\r\n", - "Downloading opentelemetry_sdk-1.27.0-py3-none-any.whl (110 kB)\r\n", - "Downloading opentelemetry_api-1.27.0-py3-none-any.whl (63 kB)\r\n", - "Downloading opentelemetry_semantic_conventions-0.48b0-py3-none-any.whl (149 kB)\r\n", - "Downloading importlib_metadata-8.4.0-py3-none-any.whl (26 kB)\r\n", - "Downloading orjson-3.10.11-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl (266 kB)\r\n", - "Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)\r\n", - "Downloading pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m3.0/3.0 MB\u001B[0m \u001B[31m26.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading portalocker-2.10.1-py3-none-any.whl (18 kB)\r\n", - "Downloading posthog-3.7.2-py2.py3-none-any.whl (54 kB)\r\n", - "Downloading proto_plus-1.25.0-py3-none-any.whl (50 kB)\r\n", - "Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB)\r\n", - "Downloading s3transfer-0.10.3-py3-none-any.whl (82 kB)\r\n", - "Downloading shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m1.3/1.3 MB\u001B[0m \u001B[31m30.5 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading tenacity-9.0.0-py3-none-any.whl (28 kB)\r\n", - "Downloading tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (982 kB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m982.4/982.4 kB\u001B[0m \u001B[31m17.4 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading tqdm-4.67.0-py3-none-any.whl (78 kB)\r\n", - "Downloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\r\n", - "Using cached tzdata-2024.2-py2.py3-none-any.whl (346 kB)\r\n", - "Downloading websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl (159 kB)\r\n", - "Downloading XlsxWriter-3.2.0-py3-none-any.whl (159 kB)\r\n", - "Downloading google_api_python_client-2.153.0-py2.py3-none-any.whl (12.6 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m12.6/12.6 MB\u001B[0m \u001B[31m18.2 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading tokenizers-0.20.3-cp311-cp311-macosx_11_0_arm64.whl (2.6 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.6/2.6 MB\u001B[0m \u001B[31m14.3 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n", - "\u001B[?25hDownloading aiohappyeyeballs-2.4.3-py3-none-any.whl (14 kB)\r\n", - "Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)\r\n", - "Downloading backoff-2.2.1-py3-none-any.whl (15 kB)\r\n", - "Downloading cachetools-5.5.0-py3-none-any.whl (9.5 kB)\r\n", - "Downloading Deprecated-1.2.15-py2.py3-none-any.whl (9.9 kB)\r\n", - "Downloading frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl (52 kB)\r\n", - "Using cached google_auth_httplib2-0.2.0-py2.py3-none-any.whl (9.3 kB)\r\n", - "Using cached google_cloud_core-2.4.1-py2.py3-none-any.whl (29 kB)\r\n", - "Downloading google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl (30 kB)\r\n", - "Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl (81 kB)\r\n", - "Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl (221 kB)\r\n", - "Downloading grpc_google_iam_v1-0.13.1-py2.py3-none-any.whl (24 kB)\r\n", - "Downloading grpcio_status-1.62.3-py3-none-any.whl (14 kB)\r\n", - "Downloading h2-4.1.0-py3-none-any.whl (57 kB)\r\n", - "Using cached httplib2-0.22.0-py3-none-any.whl (96 kB)\r\n", - "Downloading huggingface_hub-0.26.2-py3-none-any.whl (447 kB)\r\n", - "Using cached monotonic-1.6-py2.py3-none-any.whl (8.2 kB)\r\n", - "Downloading multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl (29 kB)\r\n", - "Downloading propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (45 kB)\r\n", - "Downloading pyasn1_modules-0.4.1-py3-none-any.whl (181 kB)\r\n", - "Downloading regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl (284 kB)\r\n", - "Using cached rsa-4.9-py3-none-any.whl (34 kB)\r\n", - "Using cached uritemplate-4.1.1-py2.py3-none-any.whl (10 kB)\r\n", - "Downloading yarl-1.17.2-cp311-cp311-macosx_11_0_arm64.whl (91 kB)\r\n", - "Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)\r\n", - "Downloading cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl (6.2 MB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m6.2/6.2 MB\u001B[0m \u001B[31m18.6 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hDownloading fsspec-2024.10.0-py3-none-any.whl (179 kB)\r\n", - "Downloading hpack-4.0.0-py3-none-any.whl (32 kB)\r\n", - "Downloading hyperframe-6.0.1-py3-none-any.whl (12 kB)\r\n", - "Downloading pyasn1-0.6.1-py3-none-any.whl (83 kB)\r\n", - "Downloading pyparsing-3.2.0-py3-none-any.whl (106 kB)\r\n", - "Downloading wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl (38 kB)\r\n", - "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\r\n", - "Installing collected packages: monotonic, filetype, antlr4-python3-runtime, aenum, zipp, XlsxWriter, wrapt, websockets, validators, uritemplate, ujson, tzdata, tqdm, tenacity, RestrictedPython, requests, regex, redis, python-dotenv, pypdf, pyparsing, pydantic-core, pyasn1, protobuf, propcache, portalocker, Pillow, pathspec, orjson, omegaconf, numpy, mypy-extensions, multidict, more-itertools, marshmallow, lxml, jsonrpcclient, jsonpickle, jsonpath-python, jsonpath-ng, jmespath, jiter, hyperframe, hpack, grpcio, google-crc32c, fsspec, frozenlist, filelock, docstring-parser, distro, click, cachetools, backoff, annotated-types, aiohappyeyeballs, yarl, typing-inspect, tiktoken, shapely, rsa, python-pptx, pydantic, pyasn1-modules, proto-plus, posthog, pinecone-client, pdf2image, pandas, opentelemetry-proto, milvus-lite, importlib-metadata, huggingface-hub, httplib2, h2, grpcio-tools, grpcio-health-checking, googleapis-common-protos, google-resumable-media, environs, deprecated, cryptography, botocore, black, aiosignal, tokenizers, s3transfer, pymilvus, opentelemetry-exporter-otlp-proto-common, opentelemetry-api, openai, grpcio-status, google-auth, dataclasses-json-speakeasy, authlib, aiohttp, weaviate-client, unstructured-client, qdrant-client, opentelemetry-semantic-conventions, litellm, grpc-google-iam-v1, google-auth-httplib2, google-api-core, e2b, boto3, opentelemetry-sdk, google-cloud-core, google-api-python-client, e2b-code-interpreter, opentelemetry-exporter-otlp-proto-grpc, google-cloud-storage, google-cloud-resource-manager, google-cloud-bigquery, google-ai-generativelanguage, google-generativeai, google-cloud-aiplatform, chromadb-client, dynamiq\r\n", - " Attempting uninstall: requests\r\n", - " Found existing installation: requests 2.32.3\r\n", - " Uninstalling requests-2.32.3:\r\n", - " Successfully uninstalled requests-2.32.3\r\n", - "Successfully installed Pillow-11.0.0 RestrictedPython-7.1 XlsxWriter-3.2.0 aenum-3.1.15 aiohappyeyeballs-2.4.3 aiohttp-3.11.6 aiosignal-1.3.1 annotated-types-0.7.0 antlr4-python3-runtime-4.9.3 authlib-1.3.2 backoff-2.2.1 black-24.8.0 boto3-1.34.162 botocore-1.34.162 cachetools-5.5.0 chromadb-client-0.5.20 click-8.1.7 cryptography-43.0.3 dataclasses-json-speakeasy-0.5.11 deprecated-1.2.15 distro-1.9.0 docstring-parser-0.16 dynamiq-0.4.1 e2b-0.17.1 e2b-code-interpreter-0.0.10 environs-9.5.0 filelock-3.16.1 filetype-1.2.0 frozenlist-1.5.0 fsspec-2024.10.0 google-ai-generativelanguage-0.6.4 google-api-core-2.23.0 google-api-python-client-2.153.0 google-auth-2.36.0 google-auth-httplib2-0.2.0 google-cloud-aiplatform-1.47.0 google-cloud-bigquery-3.27.0 google-cloud-core-2.4.1 google-cloud-resource-manager-1.13.1 google-cloud-storage-2.18.2 google-crc32c-1.6.0 google-generativeai-0.5.4 google-resumable-media-2.7.2 googleapis-common-protos-1.66.0 grpc-google-iam-v1-0.13.1 grpcio-1.68.0 grpcio-health-checking-1.62.3 grpcio-status-1.62.3 grpcio-tools-1.62.3 h2-4.1.0 hpack-4.0.0 httplib2-0.22.0 huggingface-hub-0.26.2 hyperframe-6.0.1 importlib-metadata-8.4.0 jiter-0.7.1 jmespath-1.0.1 jsonpath-ng-1.6.1 jsonpath-python-1.0.6 jsonpickle-3.0.4 jsonrpcclient-4.0.3 litellm-1.46.8 lxml-5.3.0 marshmallow-3.23.1 milvus-lite-2.4.10 monotonic-1.6 more-itertools-10.3.0 multidict-6.1.0 mypy-extensions-1.0.0 numpy-1.26.4 omegaconf-2.3.0 openai-1.45.1 opentelemetry-api-1.27.0 opentelemetry-exporter-otlp-proto-common-1.27.0 opentelemetry-exporter-otlp-proto-grpc-1.27.0 opentelemetry-proto-1.27.0 opentelemetry-sdk-1.27.0 opentelemetry-semantic-conventions-0.48b0 orjson-3.10.11 pandas-2.2.3 pathspec-0.12.1 pdf2image-1.17.0 pinecone-client-3.2.2 portalocker-2.10.1 posthog-3.7.2 propcache-0.2.0 proto-plus-1.25.0 protobuf-4.25.5 pyasn1-0.6.1 pyasn1-modules-0.4.1 pydantic-2.7.4 pydantic-core-2.18.4 pymilvus-2.4.9 pyparsing-3.2.0 pypdf-4.3.1 python-dotenv-1.0.1 python-pptx-1.0.2 qdrant-client-1.11.3 redis-5.0.8 regex-2024.11.6 requests-2.31.0 rsa-4.9 s3transfer-0.10.3 shapely-2.0.6 tenacity-9.0.0 tiktoken-0.8.0 tokenizers-0.20.3 tqdm-4.67.0 typing-inspect-0.9.0 tzdata-2024.2 ujson-5.10.0 unstructured-client-0.18.0 uritemplate-4.1.1 validators-0.33.0 weaviate-client-4.7.1 websockets-14.1 wrapt-1.16.0 yarl-1.17.2 zipp-3.21.0\r\n" + "Requirement already satisfied: pycparser in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cffi>=1.12->cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (2.21)\r\n" ] } ], @@ -561,8 +219,8 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T02:21:25.544822Z", - "start_time": "2024-11-20T02:20:41.221804Z" + "end_time": "2024-11-20T03:04:01.321970Z", + "start_time": "2024-11-20T03:04:00.429160Z" } }, "id": "82bdf922095fd55b", @@ -595,18 +253,17 @@ "outputs": [], "source": [ "import os\n", - "\n", "os.environ[\"OPENAI_API_KEY\"] = \"sk-***********\"" ], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T02:24:22.962495Z", - "start_time": "2024-11-20T02:24:22.955589Z" + "end_time": "2024-11-20T03:04:02.922145Z", + "start_time": "2024-11-20T03:04:02.915275Z" } }, - "id": "b21542ec470b7f5a", - "execution_count": 15 + "id": "bb7edf4a4296dfcd", + "execution_count": 2 }, { "cell_type": "markdown", @@ -634,13 +291,13 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 3, "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2024-11-20T02:24:24.350345Z", - "start_time": "2024-11-20T02:24:24.346665Z" + "end_time": "2024-11-20T03:04:06.141672Z", + "start_time": "2024-11-20T03:04:04.544700Z" } }, "outputs": [], @@ -674,13 +331,17 @@ "outputs": [], "source": [ "converter = PyPDFConverter(document_creation_mode=\"one-doc-per-page\")\n", - "rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" + "converter_added = rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:06.142089Z", + "start_time": "2024-11-20T03:04:06.067279Z" + } }, "id": "c7406f09f125695c", - "execution_count": null + "execution_count": 4 }, { "cell_type": "markdown", @@ -706,13 +367,17 @@ " },\n", " ),\n", ").depends_on(converter) # Set dependency on the PDF converter\n", - "rag_wf.flow.add_nodes(document_splitter) # Add to the DAG\n" + "splitter_added = rag_wf.flow.add_nodes(document_splitter) # Add to the DAG\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:06.715686Z", + "start_time": "2024-11-20T03:04:06.683516Z" + } }, "id": "13085207a0f67a9b", - "execution_count": null + "execution_count": 5 }, { "cell_type": "markdown", @@ -736,13 +401,17 @@ " },\n", " ),\n", ").depends_on(document_splitter) # Set dependency on the splitter\n", - "rag_wf.flow.add_nodes(embedder) # Add to the DAG\n" + "document_embedder_added = rag_wf.flow.add_nodes(embedder) # Add to the DAG\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:12.516267Z", + "start_time": "2024-11-20T03:04:12.484456Z" + } }, "id": "441d5a0746540497", - "execution_count": null + "execution_count": 8 }, { "cell_type": "markdown", @@ -756,7 +425,18 @@ }, { "cell_type": "code", - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 22:04:20 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", + "2024-11-19 22:04:20 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", + "2024-11-19 22:04:20 - DEBUG - Created new connection using: 6f60987938684f109995723a3579d247\n", + "2024-11-19 22:04:20 - INFO - Collection my_milvus_collection already exists. Skipping creation.\n" + ] + } + ], "source": [ "vector_store = (\n", " MilvusDocumentWriter(\n", @@ -769,13 +449,17 @@ " .inputs(documents=embedder.outputs.documents) # Connect to embedder output\n", " .depends_on(embedder) # Set dependency on the embedder\n", ")\n", - "rag_wf.flow.add_nodes(vector_store) # Add to the DAG\n" + "milvus_writer_added = rag_wf.flow.add_nodes(vector_store) # Add to the DAG\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:20.092532Z", + "start_time": "2024-11-20T03:04:20.084931Z" + } }, "id": "49d19a8f959e81f1", - "execution_count": null + "execution_count": 9 }, { "cell_type": "markdown", @@ -825,7 +509,35 @@ }, { "cell_type": "code", - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/09/d0hx80nj35sb5hxb5cpc1q180000gn/T/ipykernel_31159/3145804345.py:4: ResourceWarning: unclosed file <_io.BufferedReader name='./pdf_files/WhatisMilvus.pdf'>\n", + " BytesIO(open(path, \"rb\").read()) for path in file_paths\n", + "ResourceWarning: Enable tracemalloc to get the object allocation traceback\n", + "2024-11-19 22:04:47 - INFO - Workflow a85f89a9-3dc3-4f00-8cef-9e415146a085: execution started.\n", + "2024-11-19 22:04:47 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution started.\n", + "2024-11-19 22:04:47 - INFO - Node PyPDF File Converter - f2f04013-a27f-4adb-89f7-7a10e269ff8a: execution started.\n", + "2024-11-19 22:04:47 - INFO - Node PyPDF File Converter - f2f04013-a27f-4adb-89f7-7a10e269ff8a: execution succeeded in 59ms.\n", + "2024-11-19 22:04:47 - INFO - Node DocumentSplitter - fd0fe4a4-490a-4963-b712-848c7b6b05b8: execution started.\n", + "2024-11-19 22:04:47 - INFO - Node DocumentSplitter - fd0fe4a4-490a-4963-b712-848c7b6b05b8: execution succeeded in 6ms.\n", + "2024-11-19 22:04:47 - INFO - Node OpenAIDocumentEmbedder - a718a942-0780-463c-8b54-5cea9288bbbd: execution started.\n", + "2024-11-19 22:04:47 - INFO - Node OpenAIDocumentEmbedder - 3afd4333-7a3f-4066-a7ca-c70b4c9dd20d: execution started.\n", + "2024-11-19 22:04:48 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:04:48 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:04:48 - INFO - Node OpenAIDocumentEmbedder - a718a942-0780-463c-8b54-5cea9288bbbd: execution succeeded in 908ms.\n", + "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - bd847a12-156e-4ff1-977b-93f2af5310c8: execution started.\n", + "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - bd847a12-156e-4ff1-977b-93f2af5310c8: execution succeeded in 11ms.\n", + "2024-11-19 22:04:48 - INFO - Node OpenAIDocumentEmbedder - 3afd4333-7a3f-4066-a7ca-c70b4c9dd20d: execution succeeded in 981ms.\n", + "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - b244de44-7610-41d9-9ba6-780f239447a0: execution started.\n", + "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - b244de44-7610-41d9-9ba6-780f239447a0: execution succeeded in 7ms.\n", + "2024-11-19 22:04:48 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution succeeded in 1.1s.\n", + "2024-11-19 22:04:48 - INFO - Workflow a85f89a9-3dc3-4f00-8cef-9e415146a085: execution succeeded in 1.1s.\n" + ] + } + ], "source": [ "file_paths = [\"./pdf_files/WhatisMilvus.pdf\"]\n", "input_data = {\n", @@ -838,13 +550,17 @@ "}\n", "\n", "# Run the workflow with the prepared input data\n", - "rag_wf.run(input_data=input_data)\n" + "inserted_data = rag_wf.run(input_data=input_data)\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:48.838237Z", + "start_time": "2024-11-20T03:04:47.757467Z" + } }, "id": "99e53f536d7b5274", - "execution_count": null + "execution_count": 11 }, { "cell_type": "markdown", @@ -899,12 +615,12 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T02:24:30.178036Z", - "start_time": "2024-11-20T02:24:30.145675Z" + "end_time": "2024-11-20T03:04:53.738476Z", + "start_time": "2024-11-20T03:04:53.628877Z" } }, "id": "baa49fec5d55f96d", - "execution_count": 22 + "execution_count": 12 }, { "cell_type": "markdown", @@ -930,13 +646,17 @@ ")\n", "\n", "# Add the embedder node to the workflow\n", - "retrieval_wf.flow.add_nodes(embedder)\n" + "embedder_added = retrieval_wf.flow.add_nodes(embedder)\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:54.970064Z", + "start_time": "2024-11-20T03:04:54.949752Z" + } }, "id": "ec1ca65ca47b05ed", - "execution_count": null + "execution_count": 13 }, { "cell_type": "markdown", @@ -950,7 +670,18 @@ }, { "cell_type": "code", - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 22:04:55 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", + "2024-11-19 22:04:55 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", + "2024-11-19 22:04:55 - DEBUG - Created new connection using: 24547e0ab0c84d858a935b9373c59e77\n", + "2024-11-19 22:04:55 - INFO - Collection my_milvus_collection already exists. Skipping creation.\n" + ] + } + ], "source": [ "document_retriever = (\n", " MilvusDocumentRetriever(\n", @@ -967,13 +698,17 @@ ")\n", "\n", "# Add the retriever node to the workflow\n", - "retrieval_wf.flow.add_nodes(document_retriever)\n" + "milvus_retriever_added = retrieval_wf.flow.add_nodes(document_retriever)\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:04:55.987565Z", + "start_time": "2024-11-20T03:04:55.981296Z" + } }, "id": "8678b57edb214fba", - "execution_count": null + "execution_count": 14 }, { "cell_type": "markdown", @@ -1007,12 +742,12 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T02:24:33.666448Z", - "start_time": "2024-11-20T02:24:33.662766Z" + "end_time": "2024-11-20T03:04:57.694090Z", + "start_time": "2024-11-20T03:04:57.687984Z" } }, "id": "d945959c4b8a9eb2", - "execution_count": 25 + "execution_count": 15 }, { "cell_type": "markdown", @@ -1042,13 +777,17 @@ ")\n", "\n", "# Add the answer generator node to the workflow\n", - "retrieval_wf.flow.add_nodes(answer_generator)\n" + "answer_generator_added = retrieval_wf.flow.add_nodes(answer_generator)\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:05:02.759819Z", + "start_time": "2024-11-20T03:05:02.737933Z" + } }, "id": "7bf82309937abf31", - "execution_count": null + "execution_count": 16 }, { "cell_type": "markdown", @@ -1067,25 +806,36 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-11-19 21:24:35 - INFO - Workflow 6776bf57-6268-4f25-8ba1-3b31c5dd5ba7: execution started.\n", - "2024-11-19 21:24:35 - INFO - Flow 250ce928-69e7-4fc0-bd01-36da6c98d664: execution started.\n", - "2024-11-19 21:24:35 - INFO - Node OpenAITextEmbedder - c6baa96d-ca9c-48db-be2b-5edf82beaba3: execution started.\n", - "2024-11-19 21:24:35 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", - "2024-11-19 21:24:35 - INFO - Node OpenAITextEmbedder - c6baa96d-ca9c-48db-be2b-5edf82beaba3: execution succeeded in 349ms.\n", - "2024-11-19 21:24:35 - INFO - Node MilvusDocumentRetriever - 16db67fc-c669-4473-9e9d-5454ee3575cf: execution started.\n", - "2024-11-19 21:24:35 - INFO - Node MilvusDocumentRetriever - 16db67fc-c669-4473-9e9d-5454ee3575cf: execution succeeded in 17ms.\n", - "2024-11-19 21:24:35 - INFO - Node LLM - 2d4cda84-dc73-4fe7-a420-aeddc9f6c3fc: execution started.\n", - "2024-11-19 21:24:38 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2024-11-19 21:24:38 - INFO - Node LLM - 2d4cda84-dc73-4fe7-a420-aeddc9f6c3fc: execution succeeded in 2.8s.\n", - "2024-11-19 21:24:38 - INFO - Flow 250ce928-69e7-4fc0-bd01-36da6c98d664: execution succeeded in 3.2s.\n", - "2024-11-19 21:24:38 - INFO - Workflow 6776bf57-6268-4f25-8ba1-3b31c5dd5ba7: execution succeeded in 3.2s.\n" + "2024-11-19 22:05:45 - INFO - Workflow cf4022d8-8576-441d-bd7e-9d94c2c79194: execution started.\n", + "2024-11-19 22:05:45 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution started.\n", + "2024-11-19 22:05:45 - INFO - Node OpenAITextEmbedder - c8919acd-eb18-48b1-b9c6-f0e51375b804: execution started.\n", + "2024-11-19 22:05:45 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:05:45 - INFO - Node OpenAITextEmbedder - c8919acd-eb18-48b1-b9c6-f0e51375b804: execution succeeded in 339ms.\n", + "2024-11-19 22:05:45 - INFO - Node MilvusDocumentRetriever - 90168362-225b-4c78-b69e-38a582debb3c: execution started.\n", + "2024-11-19 22:05:45 - INFO - Node MilvusDocumentRetriever - 90168362-225b-4c78-b69e-38a582debb3c: execution succeeded in 6ms.\n", + "2024-11-19 22:05:45 - INFO - Node LLM - 2ca62c70-20ff-4875-8f89-66df656f91f6: execution started.\n", + "2024-11-19 22:05:48 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:05:48 - INFO - Node LLM - 2ca62c70-20ff-4875-8f89-66df656f91f6: execution succeeded in 2.5s.\n", + "2024-11-19 22:05:48 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution succeeded in 2.9s.\n", + "2024-11-19 22:05:48 - INFO - Workflow cf4022d8-8576-441d-bd7e-9d94c2c79194: execution succeeded in 2.9s.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "The advanced search algorithms in Milvus include a wide range of in-memory and on-disk indexing/search algorithms such as IVF (Inverted File), HNSW (Hierarchical Navigable Small World), and DiskANN. These algorithms have been deeply optimized to deliver high performance, with Milvus reportedly achieving 30%-70% better performance compared to popular implementations like FAISS and HNSWLib. These optimizations are part of Milvus's hardware-aware design, which leverages various hardware architectures and platforms to enhance search efficiency.\n" + "The advanced search algorithms in Milvus include several types of searches designed to meet different use case demands. These are:\n", + "\n", + "1. **ANN Search**: Finds the top K vectors closest to your query vector.\n", + "2. **Filtering Search**: Performs ANN search under specified filtering conditions.\n", + "3. **Range Search**: Finds vectors within a specified radius from your query vector.\n", + "4. **Hybrid Search**: Conducts ANN search based on multiple vector fields.\n", + "5. **Keyword Search**: Keyword search based on BM25.\n", + "6. **Reranking**: Adjusts the order of search results based on additional criteria or a secondary algorithm, refining the initial ANN search results.\n", + "7. **Fetch**: Retrieves data by their primary keys.\n", + "8. **Query**: Retrieves data using specific expressions.\n", + "\n", + "These algorithms are part of Milvus's robust capabilities to handle complex search requirements efficiently.\n" ] } ], @@ -1101,12 +851,12 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T02:24:38.830034Z", - "start_time": "2024-11-20T02:24:35.626078Z" + "end_time": "2024-11-20T03:05:48.167137Z", + "start_time": "2024-11-20T03:05:45.237519Z" } }, "id": "2b0de8620a3079a", - "execution_count": 27 + "execution_count": 20 }, { "cell_type": "markdown", From 24dbd83428750fffa1be2f7374ee14af40b3b6e9 Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 22:14:42 -0500 Subject: [PATCH 3/6] Tutorial: Milvus rag with Dynamiq --- .../integration/milvus_rag_with_dynamiq.ipynb | 573 +++++++++--------- 1 file changed, 286 insertions(+), 287 deletions(-) diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb index f0aa466cd..1eb9fe1c1 100644 --- a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -2,17 +2,21 @@ "cells": [ { "cell_type": "markdown", - "source": [ - "\"Open \n", - " \"GitHub" - ], + "id": "a2e712bd7d3cfee8", "metadata": { "collapsed": false }, - "id": "a2e712bd7d3cfee8" + "source": [ + "\"Open \n", + " \"GitHub" + ] }, { "cell_type": "markdown", + "id": "a7efdd76efcc0e4e", + "metadata": { + "collapsed": false + }, "source": [ "# Getting Started with Dynamiq and Milvus\n", "\n", @@ -29,34 +33,39 @@ "- **Document Retrieval Flow**: Discover how to query Milvus for relevant document embeddings and use them to generate insightful, context-aware responses with Dynamiq’s LLM agents, creating a seamless AI-powered user experience.\n", "\n", "By the end of this tutorial, you’ll gain a solid understanding of how Milvus and Dynamiq work together to build scalable, context-aware AI systems tailored to your needs." - ], - "metadata": { - "collapsed": false - }, - "id": "a7efdd76efcc0e4e" + ] }, { "cell_type": "markdown", - "source": [ - "## Preparation\n" - ], + "id": "53d16d1dd5f753bf", "metadata": { "collapsed": false }, - "id": "53d16d1dd5f753bf" + "source": [ + "## Preparation\n" + ] }, { "cell_type": "markdown", - "source": [ - "### Download required libraries\n" - ], + "id": "b03bd9af09661ed7", "metadata": { "collapsed": false }, - "id": "b03bd9af09661ed7" + "source": [ + "### Download required libraries\n" + ] }, { "cell_type": "code", + "execution_count": 1, + "id": "82bdf922095fd55b", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:13:32.554349Z", + "start_time": "2024-11-20T03:13:31.412389Z" + } + }, "outputs": [ { "name": "stdout", @@ -215,79 +224,71 @@ ], "source": [ "! pip install dynamiq pymilvus\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:01.321970Z", - "start_time": "2024-11-20T03:04:00.429160Z" - } - }, - "id": "82bdf922095fd55b", - "execution_count": 1 + ] }, { "cell_type": "markdown", - "source": [ - "> If you are using Google Colab, to enable dependencies just installed, you may need to **restart the runtime** (click on the \"Runtime\" menu at the top of the screen, and select \"Restart session\" from the dropdown menu)." - ], + "id": "59c95741251895fe", "metadata": { "collapsed": false }, - "id": "59c95741251895fe" + "source": [ + "> If you are using Google Colab, to enable dependencies just installed, you may need to **restart the runtime** (click on the \"Runtime\" menu at the top of the screen, and select \"Restart session\" from the dropdown menu)." + ] }, { "cell_type": "markdown", + "id": "38e2801395f2273d", + "metadata": { + "collapsed": false + }, "source": [ "### Configure the LLM agent\n", "\n", "We will use OpenAI as the LLM in this example. You should prepare the [api key](https://platform.openai.com/docs/quickstart) `OPENAI_API_KEY` as an environment variable.\n" - ], - "metadata": { - "collapsed": false - }, - "id": "38e2801395f2273d" + ] }, { "cell_type": "code", - "outputs": [], - "source": [ - "import os\n", - "os.environ[\"OPENAI_API_KEY\"] = \"sk-***********\"" - ], + "execution_count": 2, + "id": "2daf83743889cb73", "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T03:04:02.922145Z", - "start_time": "2024-11-20T03:04:02.915275Z" + "end_time": "2024-11-20T03:13:53.013034Z", + "start_time": "2024-11-20T03:13:53.009842Z" } }, - "id": "bb7edf4a4296dfcd", - "execution_count": 2 + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"sk-***********\"" + ] }, { "cell_type": "markdown", + "id": "dc932e415c8f00a7", + "metadata": { + "collapsed": false + }, "source": [ "## RAG - Document Indexing Flow\n", "\n", "This tutorial demonstrates a Retrieval-Augmented Generation (RAG) workflow for indexing documents with Milvus as the vector database. The workflow takes input PDF files, processes them into smaller chunks, generates vector embeddings using OpenAI's embedding model, and stores the embeddings in a Milvus collection for efficient retrieval.\n", "\n", "By the end of this workflow, you will have a scalable and efficient document indexing system that supports future RAG tasks like semantic search and question answering." - ], - "metadata": { - "collapsed": false - }, - "id": "dc932e415c8f00a7" + ] }, { "cell_type": "markdown", - "source": [ - "### Import Required Libraries and Initialize Workflow" - ], + "id": "34fbf9e90c227bcb", "metadata": { "collapsed": false }, - "id": "34fbf9e90c227bcb" + "source": [ + "### Import Required Libraries and Initialize Workflow" + ] }, { "cell_type": "code", @@ -295,9 +296,12 @@ "id": "initial_id", "metadata": { "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, "ExecuteTime": { - "end_time": "2024-11-20T03:04:06.141672Z", - "start_time": "2024-11-20T03:04:04.544700Z" + "end_time": "2024-11-20T03:13:56.478488Z", + "start_time": "2024-11-20T03:13:54.716225Z" } }, "outputs": [], @@ -318,43 +322,52 @@ }, { "cell_type": "markdown", - "source": [ - "### Define PDF Converter Node" - ], + "id": "808a4ba11a5c65e7", "metadata": { "collapsed": false }, - "id": "808a4ba11a5c65e7" + "source": [ + "### Define PDF Converter Node" + ] }, { "cell_type": "code", - "outputs": [], - "source": [ - "converter = PyPDFConverter(document_creation_mode=\"one-doc-per-page\")\n", - "converter_added = rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" - ], + "execution_count": 4, + "id": "c7406f09f125695c", "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-11-20T03:04:06.142089Z", - "start_time": "2024-11-20T03:04:06.067279Z" + "end_time": "2024-11-20T03:13:57.175380Z", + "start_time": "2024-11-20T03:13:57.172991Z" } }, - "id": "c7406f09f125695c", - "execution_count": 4 + "outputs": [], + "source": [ + "converter = PyPDFConverter(document_creation_mode=\"one-doc-per-page\")\n", + "converter_added = rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" + ] }, { "cell_type": "markdown", - "source": [ - "### Define Document Splitter Node" - ], + "id": "13b5959b723534b8", "metadata": { "collapsed": false }, - "id": "13b5959b723534b8" + "source": [ + "### Define Document Splitter Node" + ] }, { "cell_type": "code", + "execution_count": 5, + "id": "13085207a0f67a9b", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:13:58.155849Z", + "start_time": "2024-11-20T03:13:58.152563Z" + } + }, "outputs": [], "source": [ "document_splitter = DocumentSplitter(\n", @@ -368,29 +381,29 @@ " ),\n", ").depends_on(converter) # Set dependency on the PDF converter\n", "splitter_added = rag_wf.flow.add_nodes(document_splitter) # Add to the DAG\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:06.715686Z", - "start_time": "2024-11-20T03:04:06.683516Z" - } - }, - "id": "13085207a0f67a9b", - "execution_count": 5 + ] }, { "cell_type": "markdown", - "source": [ - "### Define Embedding Node" - ], + "id": "cde92302e3e22c77", "metadata": { "collapsed": false }, - "id": "cde92302e3e22c77" + "source": [ + "### Define Embedding Node" + ] }, { "cell_type": "code", + "execution_count": 7, + "id": "441d5a0746540497", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:02.040469Z", + "start_time": "2024-11-20T03:14:02.012285Z" + } + }, "outputs": [], "source": [ "embedder = OpenAIDocumentEmbedder(\n", @@ -402,38 +415,41 @@ " ),\n", ").depends_on(document_splitter) # Set dependency on the splitter\n", "document_embedder_added = rag_wf.flow.add_nodes(embedder) # Add to the DAG\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:12.516267Z", - "start_time": "2024-11-20T03:04:12.484456Z" - } - }, - "id": "441d5a0746540497", - "execution_count": 8 + ] }, { "cell_type": "markdown", - "source": [ - "### Define Milvus Vector Store Node" - ], + "id": "3c2d4ad79cfa7254", "metadata": { "collapsed": false }, - "id": "3c2d4ad79cfa7254" + "source": [ + "### Define Milvus Vector Store Node" + ] }, { "cell_type": "code", + "execution_count": 8, + "id": "49d19a8f959e81f1", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:05.588159Z", + "start_time": "2024-11-20T03:14:03.387110Z" + } + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "2024-11-19 22:04:20 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", - "2024-11-19 22:04:20 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", - "2024-11-19 22:04:20 - DEBUG - Created new connection using: 6f60987938684f109995723a3579d247\n", - "2024-11-19 22:04:20 - INFO - Collection my_milvus_collection already exists. Skipping creation.\n" + "2024-11-19 22:14:03 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", + "2024-11-19 22:14:03 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", + "2024-11-19 22:14:04 - DEBUG - Created new connection using: 0bef2849fdb1458a85df8bb9dd27f51d\n", + "2024-11-19 22:14:04 - INFO - Collection my_milvus_collection does not exist. Creating a new collection.\n", + "2024-11-19 22:14:04 - DEBUG - Successfully created collection: my_milvus_collection\n", + "2024-11-19 22:14:05 - DEBUG - Successfully created an index on collection: my_milvus_collection\n", + "2024-11-19 22:14:05 - DEBUG - Successfully created an index on collection: my_milvus_collection\n" ] } ], @@ -450,19 +466,14 @@ " .depends_on(embedder) # Set dependency on the embedder\n", ")\n", "milvus_writer_added = rag_wf.flow.add_nodes(vector_store) # Add to the DAG\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:20.092532Z", - "start_time": "2024-11-20T03:04:20.084931Z" - } - }, - "id": "49d19a8f959e81f1", - "execution_count": 9 + ] }, { "cell_type": "markdown", + "id": "2e00a00b250c7f02", + "metadata": { + "collapsed": false + }, "source": [ "> # Milvus Deployment Types\n", ">\n", @@ -491,50 +502,57 @@ "> ### **Zilliz Cloud (Managed Service)**\n", "> - For a fully managed, cloud-based Milvus experience, use [Zilliz Cloud](https://zilliz.com/cloud).\n", "> - Set the `uri` and `token` according to the [Public Endpoint and API key](https://docs.zilliz.com/docs/on-zilliz-cloud-console#cluster-details) provided in the Zilliz Cloud console." - ], - "metadata": { - "collapsed": false - }, - "id": "2e00a00b250c7f02" + ] }, { "cell_type": "markdown", - "source": [ - "### Define Input Data and Run the Workflow" - ], + "id": "ad82067568805962", "metadata": { "collapsed": false }, - "id": "ad82067568805962" + "source": [ + "### Define Input Data and Run the Workflow" + ] }, { "cell_type": "code", + "execution_count": 9, + "id": "99e53f536d7b5274", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:10.638574Z", + "start_time": "2024-11-20T03:14:09.373090Z" + } + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/09/d0hx80nj35sb5hxb5cpc1q180000gn/T/ipykernel_31159/3145804345.py:4: ResourceWarning: unclosed file <_io.BufferedReader name='./pdf_files/WhatisMilvus.pdf'>\n", + "/var/folders/09/d0hx80nj35sb5hxb5cpc1q180000gn/T/ipykernel_31319/3145804345.py:4: ResourceWarning: unclosed file <_io.BufferedReader name='./pdf_files/WhatisMilvus.pdf'>\n", " BytesIO(open(path, \"rb\").read()) for path in file_paths\n", "ResourceWarning: Enable tracemalloc to get the object allocation traceback\n", - "2024-11-19 22:04:47 - INFO - Workflow a85f89a9-3dc3-4f00-8cef-9e415146a085: execution started.\n", - "2024-11-19 22:04:47 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution started.\n", - "2024-11-19 22:04:47 - INFO - Node PyPDF File Converter - f2f04013-a27f-4adb-89f7-7a10e269ff8a: execution started.\n", - "2024-11-19 22:04:47 - INFO - Node PyPDF File Converter - f2f04013-a27f-4adb-89f7-7a10e269ff8a: execution succeeded in 59ms.\n", - "2024-11-19 22:04:47 - INFO - Node DocumentSplitter - fd0fe4a4-490a-4963-b712-848c7b6b05b8: execution started.\n", - "2024-11-19 22:04:47 - INFO - Node DocumentSplitter - fd0fe4a4-490a-4963-b712-848c7b6b05b8: execution succeeded in 6ms.\n", - "2024-11-19 22:04:47 - INFO - Node OpenAIDocumentEmbedder - a718a942-0780-463c-8b54-5cea9288bbbd: execution started.\n", - "2024-11-19 22:04:47 - INFO - Node OpenAIDocumentEmbedder - 3afd4333-7a3f-4066-a7ca-c70b4c9dd20d: execution started.\n", - "2024-11-19 22:04:48 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", - "2024-11-19 22:04:48 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", - "2024-11-19 22:04:48 - INFO - Node OpenAIDocumentEmbedder - a718a942-0780-463c-8b54-5cea9288bbbd: execution succeeded in 908ms.\n", - "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - bd847a12-156e-4ff1-977b-93f2af5310c8: execution started.\n", - "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - bd847a12-156e-4ff1-977b-93f2af5310c8: execution succeeded in 11ms.\n", - "2024-11-19 22:04:48 - INFO - Node OpenAIDocumentEmbedder - 3afd4333-7a3f-4066-a7ca-c70b4c9dd20d: execution succeeded in 981ms.\n", - "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - b244de44-7610-41d9-9ba6-780f239447a0: execution started.\n", - "2024-11-19 22:04:48 - INFO - Node MilvusDocumentWriter - b244de44-7610-41d9-9ba6-780f239447a0: execution succeeded in 7ms.\n", - "2024-11-19 22:04:48 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution succeeded in 1.1s.\n", - "2024-11-19 22:04:48 - INFO - Workflow a85f89a9-3dc3-4f00-8cef-9e415146a085: execution succeeded in 1.1s.\n" + "2024-11-19 22:14:09 - INFO - Workflow 87878444-6a3d-43f3-ae32-0127564a959f: execution started.\n", + "2024-11-19 22:14:09 - INFO - Flow b30b48ec-d5d2-4e4c-8e25-d6976c8a9c17: execution started.\n", + "2024-11-19 22:14:09 - INFO - Node PyPDF File Converter - 6eb42b1f-7637-407b-a3ac-4167bcf3b5c4: execution started.\n", + "2024-11-19 22:14:09 - INFO - Node PyPDF File Converter - 6eb42b1f-7637-407b-a3ac-4167bcf3b5c4: execution succeeded in 58ms.\n", + "2024-11-19 22:14:09 - INFO - Node DocumentSplitter - 5baed580-6de0-4dcd-bace-d7d947ab6c7f: execution started.\n", + "/Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions\n", + " warnings.warn( # deprecated in 14.0 - 2024-11-09\n", + "/Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages/pydantic/fields.py:804: PydanticDeprecatedSince20: Using extra keyword arguments on `Field` is deprecated and will be removed. Use `json_schema_extra` instead. (Extra keys: 'is_accessible_to_agent'). Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.7/migration/\n", + " warn(\n", + "2024-11-19 22:14:09 - INFO - Node DocumentSplitter - 5baed580-6de0-4dcd-bace-d7d947ab6c7f: execution succeeded in 104ms.\n", + "2024-11-19 22:14:09 - INFO - Node OpenAIDocumentEmbedder - 91928f67-a00f-48f6-a864-f6e21672ec7e: execution started.\n", + "2024-11-19 22:14:09 - INFO - Node OpenAIDocumentEmbedder - d30a4cdc-0fab-4aff-b2e5-6161a62cb6fd: execution started.\n", + "2024-11-19 22:14:10 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:14:10 - INFO - Node OpenAIDocumentEmbedder - d30a4cdc-0fab-4aff-b2e5-6161a62cb6fd: execution succeeded in 724ms.\n", + "2024-11-19 22:14:10 - INFO - Node MilvusDocumentWriter - dddab4cc-1dae-4e7e-9101-1ec353f530da: execution started.\n", + "2024-11-19 22:14:10 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:14:10 - INFO - Node MilvusDocumentWriter - dddab4cc-1dae-4e7e-9101-1ec353f530da: execution succeeded in 66ms.\n", + "2024-11-19 22:14:10 - INFO - Node OpenAIDocumentEmbedder - 91928f67-a00f-48f6-a864-f6e21672ec7e: execution succeeded in 961ms.\n", + "2024-11-19 22:14:10 - INFO - Flow b30b48ec-d5d2-4e4c-8e25-d6976c8a9c17: execution succeeded in 1.3s.\n", + "2024-11-19 22:14:10 - INFO - Workflow 87878444-6a3d-43f3-ae32-0127564a959f: execution succeeded in 1.3s.\n" ] } ], @@ -551,55 +569,55 @@ "\n", "# Run the workflow with the prepared input data\n", "inserted_data = rag_wf.run(input_data=input_data)\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:48.838237Z", - "start_time": "2024-11-20T03:04:47.757467Z" - } - }, - "id": "99e53f536d7b5274", - "execution_count": 11 + ] }, { "cell_type": "markdown", + "id": "b3fa6c0cdf9906ab", + "metadata": { + "collapsed": false + }, "source": [ "Through this workflow, we have successfully implemented a document indexing pipeline using Milvus as the vector database and OpenAI's embedding model for semantic representation. This setup enables fast and accurate vector-based retrieval, forming the foundation for RAG workflows like semantic search, document retrieval, and contextual AI-driven interactions.\n", "\n", "With Milvus's scalable storage capabilities and Dynamiq's orchestration, this solution is ready for both prototyping and large-scale production deployments. You can now extend this pipeline to include additional tasks like retrieval-based question answering or AI-driven content generation." - ], - "metadata": { - "collapsed": false - }, - "id": "b3fa6c0cdf9906ab" + ] }, { "cell_type": "markdown", + "id": "945e58305b89d696", + "metadata": { + "collapsed": false + }, "source": [ "## RAG Document Retrieval Flow\n", "\n", "In this tutorial, we implement a Retrieval-Augmented Generation (RAG) document retrieval workflow. This workflow takes a user query, generates a vector embedding for it, retrieves the most relevant documents from a Milvus vector database, and uses a large language model (LLM) to generate a detailed and context-aware answer based on the retrieved documents.\n", "\n", "By following this workflow, you will create an end-to-end solution for semantic search and question answering, combining the power of vector-based document retrieval with the capabilities of OpenAI’s advanced LLMs. This approach enables efficient and intelligent responses to user queries by leveraging the stored knowledge in your document database." - ], - "metadata": { - "collapsed": false - }, - "id": "945e58305b89d696" + ] }, { "cell_type": "markdown", - "source": [ - "### Import Required Libraries and Initialize Workflow" - ], + "id": "1083f8e11a0b6ce7", "metadata": { "collapsed": false }, - "id": "1083f8e11a0b6ce7" + "source": [ + "### Import Required Libraries and Initialize Workflow" + ] }, { "cell_type": "code", + "execution_count": 10, + "id": "baa49fec5d55f96d", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:17.397269Z", + "start_time": "2024-11-20T03:14:17.283322Z" + } + }, "outputs": [], "source": [ "from dynamiq import Workflow\n", @@ -611,29 +629,29 @@ "\n", "# Initialize the workflow\n", "retrieval_wf = Workflow()\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:53.738476Z", - "start_time": "2024-11-20T03:04:53.628877Z" - } - }, - "id": "baa49fec5d55f96d", - "execution_count": 12 + ] }, { "cell_type": "markdown", - "source": [ - "### Define OpenAI Connection and Text Embedder" - ], + "id": "f1cd8035d05e713f", "metadata": { "collapsed": false }, - "id": "f1cd8035d05e713f" + "source": [ + "### Define OpenAI Connection and Text Embedder" + ] }, { "cell_type": "code", + "execution_count": 11, + "id": "ec1ca65ca47b05ed", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:18.567693Z", + "start_time": "2024-11-20T03:14:18.542199Z" + } + }, "outputs": [], "source": [ "# Establish OpenAI connection\n", @@ -647,38 +665,38 @@ "\n", "# Add the embedder node to the workflow\n", "embedder_added = retrieval_wf.flow.add_nodes(embedder)\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:54.970064Z", - "start_time": "2024-11-20T03:04:54.949752Z" - } - }, - "id": "ec1ca65ca47b05ed", - "execution_count": 13 + ] }, { "cell_type": "markdown", - "source": [ - "### Define Milvus Document Retriever" - ], + "id": "86a8dcb5193d0c25", "metadata": { "collapsed": false }, - "id": "86a8dcb5193d0c25" + "source": [ + "### Define Milvus Document Retriever" + ] }, { "cell_type": "code", + "execution_count": 12, + "id": "8678b57edb214fba", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:19.488137Z", + "start_time": "2024-11-20T03:14:19.478935Z" + } + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "2024-11-19 22:04:55 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", - "2024-11-19 22:04:55 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", - "2024-11-19 22:04:55 - DEBUG - Created new connection using: 24547e0ab0c84d858a935b9373c59e77\n", - "2024-11-19 22:04:55 - INFO - Collection my_milvus_collection already exists. Skipping creation.\n" + "2024-11-19 22:14:19 - WARNING - Environment variable 'MILVUS_API_TOKEN' not found\n", + "2024-11-19 22:14:19 - INFO - Pass in the local path ./milvus.db, and run it using milvus-lite\n", + "2024-11-19 22:14:19 - DEBUG - Created new connection using: 98d1132773af4298a894ad5925845fd2\n", + "2024-11-19 22:14:19 - INFO - Collection my_milvus_collection already exists. Skipping creation.\n" ] } ], @@ -699,29 +717,29 @@ "\n", "# Add the retriever node to the workflow\n", "milvus_retriever_added = retrieval_wf.flow.add_nodes(document_retriever)\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:55.987565Z", - "start_time": "2024-11-20T03:04:55.981296Z" - } - }, - "id": "8678b57edb214fba", - "execution_count": 14 + ] }, { "cell_type": "markdown", - "source": [ - "### Define the Prompt Template" - ], + "id": "72d314d217c9879e", "metadata": { "collapsed": false }, - "id": "72d314d217c9879e" + "source": [ + "### Define the Prompt Template" + ] }, { "cell_type": "code", + "execution_count": 13, + "id": "d945959c4b8a9eb2", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:20.747799Z", + "start_time": "2024-11-20T03:14:20.743238Z" + } + }, "outputs": [], "source": [ "# Define the prompt template for the LLM\n", @@ -738,29 +756,29 @@ "\n", "# Create the prompt object\n", "prompt = Prompt(messages=[Message(content=prompt_template, role=\"user\")])\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:04:57.694090Z", - "start_time": "2024-11-20T03:04:57.687984Z" - } - }, - "id": "d945959c4b8a9eb2", - "execution_count": 15 + ] }, { "cell_type": "markdown", - "source": [ - "### Define the Answer Generator\n" - ], + "id": "a55e4885ab22e31d", "metadata": { "collapsed": false }, - "id": "a55e4885ab22e31d" + "source": [ + "### Define the Answer Generator\n" + ] }, { "cell_type": "code", + "execution_count": 14, + "id": "7bf82309937abf31", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:21.709200Z", + "start_time": "2024-11-20T03:14:21.689787Z" + } + }, "outputs": [], "source": [ "answer_generator = (\n", @@ -778,64 +796,53 @@ "\n", "# Add the answer generator node to the workflow\n", "answer_generator_added = retrieval_wf.flow.add_nodes(answer_generator)\n" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:05:02.759819Z", - "start_time": "2024-11-20T03:05:02.737933Z" - } - }, - "id": "7bf82309937abf31", - "execution_count": 16 + ] }, { "cell_type": "markdown", - "source": [ - "### Run the Workflow" - ], + "id": "81495d9e624282ac", "metadata": { "collapsed": false }, - "id": "81495d9e624282ac" + "source": [ + "### Run the Workflow" + ] }, { "cell_type": "code", + "execution_count": 15, + "id": "2b0de8620a3079a", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-11-20T03:14:25.014389Z", + "start_time": "2024-11-20T03:14:22.658375Z" + } + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "2024-11-19 22:05:45 - INFO - Workflow cf4022d8-8576-441d-bd7e-9d94c2c79194: execution started.\n", - "2024-11-19 22:05:45 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution started.\n", - "2024-11-19 22:05:45 - INFO - Node OpenAITextEmbedder - c8919acd-eb18-48b1-b9c6-f0e51375b804: execution started.\n", - "2024-11-19 22:05:45 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", - "2024-11-19 22:05:45 - INFO - Node OpenAITextEmbedder - c8919acd-eb18-48b1-b9c6-f0e51375b804: execution succeeded in 339ms.\n", - "2024-11-19 22:05:45 - INFO - Node MilvusDocumentRetriever - 90168362-225b-4c78-b69e-38a582debb3c: execution started.\n", - "2024-11-19 22:05:45 - INFO - Node MilvusDocumentRetriever - 90168362-225b-4c78-b69e-38a582debb3c: execution succeeded in 6ms.\n", - "2024-11-19 22:05:45 - INFO - Node LLM - 2ca62c70-20ff-4875-8f89-66df656f91f6: execution started.\n", - "2024-11-19 22:05:48 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", - "2024-11-19 22:05:48 - INFO - Node LLM - 2ca62c70-20ff-4875-8f89-66df656f91f6: execution succeeded in 2.5s.\n", - "2024-11-19 22:05:48 - INFO - Flow 4a40047b-6fd4-4fd8-9131-b90be506a1c6: execution succeeded in 2.9s.\n", - "2024-11-19 22:05:48 - INFO - Workflow cf4022d8-8576-441d-bd7e-9d94c2c79194: execution succeeded in 2.9s.\n" + "2024-11-19 22:14:22 - INFO - Workflow f4a073fb-dfb6-499c-8cac-5710a7ad6d47: execution started.\n", + "2024-11-19 22:14:22 - INFO - Flow b30b48ec-d5d2-4e4c-8e25-d6976c8a9c17: execution started.\n", + "2024-11-19 22:14:22 - INFO - Node OpenAITextEmbedder - 47afb0bc-cf96-429d-b58f-11b6c935fec3: execution started.\n", + "2024-11-19 22:14:23 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:14:23 - INFO - Node OpenAITextEmbedder - 47afb0bc-cf96-429d-b58f-11b6c935fec3: execution succeeded in 474ms.\n", + "2024-11-19 22:14:23 - INFO - Node MilvusDocumentRetriever - 51c8311b-4837-411f-ba42-21e28239a2ee: execution started.\n", + "2024-11-19 22:14:23 - INFO - Node MilvusDocumentRetriever - 51c8311b-4837-411f-ba42-21e28239a2ee: execution succeeded in 23ms.\n", + "2024-11-19 22:14:23 - INFO - Node LLM - ac722325-bece-453f-a2ed-135b0749ee7a: execution started.\n", + "2024-11-19 22:14:24 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n", + "2024-11-19 22:14:24 - INFO - Node LLM - ac722325-bece-453f-a2ed-135b0749ee7a: execution succeeded in 1.8s.\n", + "2024-11-19 22:14:25 - INFO - Flow b30b48ec-d5d2-4e4c-8e25-d6976c8a9c17: execution succeeded in 2.4s.\n", + "2024-11-19 22:14:25 - INFO - Workflow f4a073fb-dfb6-499c-8cac-5710a7ad6d47: execution succeeded in 2.4s.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "The advanced search algorithms in Milvus include several types of searches designed to meet different use case demands. These are:\n", - "\n", - "1. **ANN Search**: Finds the top K vectors closest to your query vector.\n", - "2. **Filtering Search**: Performs ANN search under specified filtering conditions.\n", - "3. **Range Search**: Finds vectors within a specified radius from your query vector.\n", - "4. **Hybrid Search**: Conducts ANN search based on multiple vector fields.\n", - "5. **Keyword Search**: Keyword search based on BM25.\n", - "6. **Reranking**: Adjusts the order of search results based on additional criteria or a secondary algorithm, refining the initial ANN search results.\n", - "7. **Fetch**: Retrieves data by their primary keys.\n", - "8. **Query**: Retrieves data using specific expressions.\n", - "\n", - "These algorithms are part of Milvus's robust capabilities to handle complex search requirements efficiently.\n" + "The advanced search algorithms in Milvus include a variety of in-memory and on-disk indexing/search algorithms such as IVF (Inverted File), HNSW (Hierarchical Navigable Small World), and DiskANN. These algorithms have been deeply optimized to enhance performance, delivering 30%-70% better performance compared to popular implementations like FAISS and HNSWLib. These optimizations are part of Milvus's design to ensure high efficiency and scalability in handling vector data.\n" ] } ], @@ -847,54 +854,46 @@ "\n", "answer = result.output.get(answer_generator.id).get(\"output\", {}).get(\"content\")\n", "print(answer)" - ], - "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:05:48.167137Z", - "start_time": "2024-11-20T03:05:45.237519Z" - } - }, - "id": "2b0de8620a3079a", - "execution_count": 20 + ] }, { "cell_type": "markdown", - "source": [ - "This RAG document retrieval workflow effectively combines state-of-the-art technologies for query understanding, document retrieval, and natural language generation. By embedding queries, retrieving contextually relevant documents, and generating insightful answers, this workflow enables intelligent and context-aware interactions. This workflow can be extended to handle complex multi-document queries, knowledge-based systems, and intelligent assistants, making it a foundational building block for advanced AI applications." - ], + "id": "969bf96ad89b4f65", "metadata": { "collapsed": false }, - "id": "969bf96ad89b4f65" + "source": [ + "This RAG document retrieval workflow effectively combines state-of-the-art technologies for query understanding, document retrieval, and natural language generation. By embedding queries, retrieving contextually relevant documents, and generating insightful answers, this workflow enables intelligent and context-aware interactions. This workflow can be extended to handle complex multi-document queries, knowledge-based systems, and intelligent assistants, making it a foundational building block for advanced AI applications." + ] }, { "cell_type": "code", - "outputs": [], - "source": [], + "execution_count": null, + "id": "34e2e7c0bcaf1158", "metadata": { "collapsed": false }, - "id": "34e2e7c0bcaf1158" + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.11.10" } }, "nbformat": 4, From 086bd8d2a88b1fee18cf835be8aa9ccf364043de Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 22:15:57 -0500 Subject: [PATCH 4/6] Tutorial: Milvus rag with Dynamiq --- .../integration/milvus_rag_with_dynamiq.ipynb | 185 +----------------- 1 file changed, 3 insertions(+), 182 deletions(-) diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb index 1eb9fe1c1..7f149da43 100644 --- a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -57,171 +57,12 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "82bdf922095fd55b", "metadata": { - "collapsed": false, - "ExecuteTime": { - "end_time": "2024-11-20T03:13:32.554349Z", - "start_time": "2024-11-20T03:13:31.412389Z" - } + "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: dynamiq in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (0.4.1)\r\n", - "Requirement already satisfied: pymilvus in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (2.4.9)\r\n", - "Requirement already satisfied: RestrictedPython<7.2,>=7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (7.1)\r\n", - "Requirement already satisfied: black<24.9.0,>=24.8.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (24.8.0)\r\n", - "Requirement already satisfied: boto3<1.35.0,>=1.34.34 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.34.162)\r\n", - "Requirement already satisfied: chromadb-client<0.6.0,>=0.5.5.dev0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.5.20)\r\n", - "Requirement already satisfied: e2b<0.18.0,>=0.17.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.17.1)\r\n", - "Requirement already satisfied: e2b-code-interpreter<0.1.0,>=0.0.10 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.0.10)\r\n", - "Requirement already satisfied: filetype<1.3.0,>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.2.0)\r\n", - "Requirement already satisfied: google-cloud-aiplatform<1.48.0,>=1.47.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.47.0)\r\n", - "Requirement already satisfied: google-generativeai<0.6.0,>=0.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.5.4)\r\n", - "Requirement already satisfied: jinja2<3.2.0,>=3.1.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.1.4)\r\n", - "Requirement already satisfied: jsonpath-ng<1.7.0,>=1.6.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.6.1)\r\n", - "Requirement already satisfied: jsonpickle<3.1.0,>=3.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.0.4)\r\n", - "Requirement already satisfied: litellm<1.47.0,>=1.46.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.46.8)\r\n", - "Requirement already satisfied: more-itertools<10.4.0,>=10.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (10.3.0)\r\n", - "Requirement already satisfied: omegaconf<2.4.0,>=2.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.3.0)\r\n", - "Requirement already satisfied: openai<1.46.0,>=1.45.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.45.1)\r\n", - "Requirement already satisfied: pdf2image<1.18.0,>=1.17.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.17.0)\r\n", - "Requirement already satisfied: pinecone-client<3.3.0,>=3.2.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (3.2.2)\r\n", - "Requirement already satisfied: pydantic<2.8.0,>=2.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.7.4)\r\n", - "Requirement already satisfied: pypdf<4.4.0,>=4.3.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (4.3.1)\r\n", - "Requirement already satisfied: python-pptx==1.0.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.0.2)\r\n", - "Requirement already satisfied: qdrant-client<1.12.0,>=1.11.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (1.11.3)\r\n", - "Requirement already satisfied: redis<5.1.0,>=5.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (5.0.8)\r\n", - "Requirement already satisfied: requests<2.32.0,>=2.31.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (2.31.0)\r\n", - "Requirement already satisfied: unstructured-client<0.19.0,>=0.18.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (0.18.0)\r\n", - "Requirement already satisfied: weaviate-client<4.8.0,>=4.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from dynamiq) (4.7.1)\r\n", - "Requirement already satisfied: Pillow>=3.3.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (11.0.0)\r\n", - "Requirement already satisfied: XlsxWriter>=0.5.7 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (3.2.0)\r\n", - "Requirement already satisfied: lxml>=3.1.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (5.3.0)\r\n", - "Requirement already satisfied: typing-extensions>=4.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from python-pptx==1.0.2->dynamiq) (4.11.0)\r\n", - "Requirement already satisfied: setuptools>69 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (75.1.0)\r\n", - "Requirement already satisfied: grpcio>=1.49.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (1.68.0)\r\n", - "Requirement already satisfied: protobuf>=3.20.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (4.25.5)\r\n", - "Requirement already satisfied: environs<=9.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (9.5.0)\r\n", - "Requirement already satisfied: ujson>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (5.10.0)\r\n", - "Requirement already satisfied: pandas>=1.2.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (2.2.3)\r\n", - "Requirement already satisfied: milvus-lite<2.5.0,>=2.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pymilvus) (2.4.10)\r\n", - "Requirement already satisfied: click>=8.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (8.1.7)\r\n", - "Requirement already satisfied: mypy-extensions>=0.4.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (1.0.0)\r\n", - "Requirement already satisfied: packaging>=22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (24.1)\r\n", - "Requirement already satisfied: pathspec>=0.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (0.12.1)\r\n", - "Requirement already satisfied: platformdirs>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from black<24.9.0,>=24.8.0->dynamiq) (3.10.0)\r\n", - "Requirement already satisfied: botocore<1.35.0,>=1.34.162 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (1.34.162)\r\n", - "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (1.0.1)\r\n", - "Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from boto3<1.35.0,>=1.34.34->dynamiq) (0.10.3)\r\n", - "Requirement already satisfied: numpy<2.0.0,>=1.22.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.26.4)\r\n", - "Requirement already satisfied: opentelemetry-api>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", - "Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", - "Requirement already satisfied: opentelemetry-sdk>=1.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", - "Requirement already satisfied: overrides>=7.3.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (7.4.0)\r\n", - "Requirement already satisfied: posthog>=2.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (3.7.2)\r\n", - "Requirement already satisfied: tenacity>=8.2.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (9.0.0)\r\n", - "Requirement already satisfied: PyYAML>=6.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (6.0.2)\r\n", - "Requirement already satisfied: orjson>=3.9.12 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (3.10.11)\r\n", - "Requirement already satisfied: httpx>=0.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.27.0)\r\n", - "Requirement already satisfied: aenum>=3.1.11 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (3.1.15)\r\n", - "Requirement already satisfied: aiohttp>=3.8.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (3.11.6)\r\n", - "Requirement already satisfied: jsonrpcclient>=4.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (4.0.3)\r\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.9.0.post0)\r\n", - "Requirement already satisfied: urllib3>=1.25.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (2.2.3)\r\n", - "Requirement already satisfied: websockets>=11.0.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b<0.18.0,>=0.17.1->dynamiq) (14.1)\r\n", - "Requirement already satisfied: websocket-client<2.0.0,>=1.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from e2b-code-interpreter<0.1.0,>=0.0.10->dynamiq) (1.8.0)\r\n", - "Requirement already satisfied: marshmallow>=3.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from environs<=9.5.0->pymilvus) (3.23.1)\r\n", - "Requirement already satisfied: python-dotenv in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from environs<=9.5.0->pymilvus) (1.0.1)\r\n", - "Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.23.0)\r\n", - "Requirement already satisfied: google-auth<3.0.0dev,>=2.14.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.36.0)\r\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.25.0)\r\n", - "Requirement already satisfied: google-cloud-storage<3.0.0dev,>=1.32.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.18.2)\r\n", - "Requirement already satisfied: google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (3.27.0)\r\n", - "Requirement already satisfied: google-cloud-resource-manager<3.0.0dev,>=1.3.3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.13.1)\r\n", - "Requirement already satisfied: shapely<3.0.0dev in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.0.6)\r\n", - "Requirement already satisfied: docstring-parser<1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.16)\r\n", - "Requirement already satisfied: google-ai-generativelanguage==0.6.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.6.4)\r\n", - "Requirement already satisfied: google-api-python-client in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (2.153.0)\r\n", - "Requirement already satisfied: tqdm in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-generativeai<0.6.0,>=0.5.0->dynamiq) (4.67.0)\r\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jinja2<3.2.0,>=3.1.4->dynamiq) (2.1.3)\r\n", - "Requirement already satisfied: ply in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonpath-ng<1.7.0,>=1.6.1->dynamiq) (3.11)\r\n", - "Requirement already satisfied: importlib-metadata>=6.8.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (8.4.0)\r\n", - "Requirement already satisfied: jsonschema<5.0.0,>=4.22.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (4.23.0)\r\n", - "Requirement already satisfied: tiktoken>=0.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (0.8.0)\r\n", - "Requirement already satisfied: tokenizers in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from litellm<1.47.0,>=1.46.0->dynamiq) (0.20.3)\r\n", - "Requirement already satisfied: antlr4-python3-runtime==4.9.* in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from omegaconf<2.4.0,>=2.3.0->dynamiq) (4.9.3)\r\n", - "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (4.6.2)\r\n", - "Requirement already satisfied: distro<2,>=1.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (1.9.0)\r\n", - "Requirement already satisfied: jiter<1,>=0.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (0.7.1)\r\n", - "Requirement already satisfied: sniffio in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from openai<1.46.0,>=1.45.0->dynamiq) (1.3.0)\r\n", - "Requirement already satisfied: pytz>=2020.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pandas>=1.2.4->pymilvus) (2024.1)\r\n", - "Requirement already satisfied: tzdata>=2022.7 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pandas>=1.2.4->pymilvus) (2024.2)\r\n", - "Requirement already satisfied: certifi>=2019.11.17 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pinecone-client<3.3.0,>=3.2.2->dynamiq) (2024.8.30)\r\n", - "Requirement already satisfied: annotated-types>=0.4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pydantic<2.8.0,>=2.7.1->dynamiq) (0.7.0)\r\n", - "Requirement already satisfied: pydantic-core==2.18.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pydantic<2.8.0,>=2.7.1->dynamiq) (2.18.4)\r\n", - "Requirement already satisfied: grpcio-tools>=1.41.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from qdrant-client<1.12.0,>=1.11.3->dynamiq) (1.62.3)\r\n", - "Requirement already satisfied: portalocker<3.0.0,>=2.7.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from qdrant-client<1.12.0,>=1.11.3->dynamiq) (2.10.1)\r\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.3.2)\r\n", - "Requirement already satisfied: idna<4,>=2.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from requests<2.32.0,>=2.31.0->dynamiq) (3.7)\r\n", - "Requirement already satisfied: dataclasses-json-speakeasy>=0.5.11 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (0.5.11)\r\n", - "Requirement already satisfied: jsonpath-python>=1.0.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (1.0.6)\r\n", - "Requirement already satisfied: six>=1.16.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (1.16.0)\r\n", - "Requirement already satisfied: typing-inspect>=0.9.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from unstructured-client<0.19.0,>=0.18.0->dynamiq) (0.9.0)\r\n", - "Requirement already satisfied: validators==0.33.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (0.33.0)\r\n", - "Requirement already satisfied: authlib<2.0.0,>=1.2.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.3.2)\r\n", - "Requirement already satisfied: grpcio-health-checking<2.0.0,>=1.57.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.62.3)\r\n", - "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (2.4.3)\r\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.3.1)\r\n", - "Requirement already satisfied: attrs>=17.3.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (24.2.0)\r\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.5.0)\r\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (6.1.0)\r\n", - "Requirement already satisfied: propcache>=0.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (0.2.0)\r\n", - "Requirement already satisfied: yarl<2.0,>=1.17.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from aiohttp>=3.8.4->e2b<0.18.0,>=0.17.1->dynamiq) (1.17.2)\r\n", - "Requirement already satisfied: cryptography in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (43.0.3)\r\n", - "Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.66.0)\r\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.62.3)\r\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (5.5.0)\r\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.4.1)\r\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (4.9)\r\n", - "Requirement already satisfied: google-cloud-core<3.0.0dev,>=2.4.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.4.1)\r\n", - "Requirement already satisfied: google-resumable-media<3.0dev,>=2.0.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (2.7.2)\r\n", - "Requirement already satisfied: grpc-google-iam-v1<1.0.0dev,>=0.12.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-resource-manager<3.0.0dev,>=1.3.3->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.13.1)\r\n", - "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-cloud-storage<3.0.0dev,>=1.32.0->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (1.6.0)\r\n", - "Requirement already satisfied: httpcore==1.* in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.0.2)\r\n", - "Requirement already satisfied: h11<0.15,>=0.13 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.27.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.14.0)\r\n", - "Requirement already satisfied: h2<5,>=3 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (4.1.0)\r\n", - "Requirement already satisfied: zipp>=0.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from importlib-metadata>=6.8.0->litellm<1.47.0,>=1.46.0->dynamiq) (3.21.0)\r\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (2023.7.1)\r\n", - "Requirement already satisfied: referencing>=0.28.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.30.2)\r\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm<1.47.0,>=1.46.0->dynamiq) (0.10.6)\r\n", - "Requirement already satisfied: deprecated>=1.2.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.2.15)\r\n", - "Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", - "Requirement already satisfied: opentelemetry-proto==1.27.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.27.0)\r\n", - "Requirement already satisfied: opentelemetry-semantic-conventions==0.48b0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from opentelemetry-sdk>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (0.48b0)\r\n", - "Requirement already satisfied: monotonic>=1.5 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.6)\r\n", - "Requirement already satisfied: backoff>=1.10.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (2.2.1)\r\n", - "Requirement already satisfied: regex>=2022.1.18 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from tiktoken>=0.7.0->litellm<1.47.0,>=1.46.0->dynamiq) (2024.11.6)\r\n", - "Requirement already satisfied: httplib2<1.dev0,>=0.19.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.22.0)\r\n", - "Requirement already satisfied: google-auth-httplib2<1.0.0,>=0.2.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (0.2.0)\r\n", - "Requirement already satisfied: uritemplate<5,>=3.0.1 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (4.1.1)\r\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (0.26.2)\r\n", - "Requirement already satisfied: wrapt<2,>=1.10 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from deprecated>=1.2.6->opentelemetry-api>=1.2.0->chromadb-client<0.6.0,>=0.5.5.dev0->dynamiq) (1.16.0)\r\n", - "Requirement already satisfied: hyperframe<7,>=6.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (6.0.1)\r\n", - "Requirement already satisfied: hpack<5,>=4.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from h2<5,>=3->httpx[http2]>=0.20.0->qdrant-client<1.12.0,>=1.11.3->dynamiq) (4.0.0)\r\n", - "Requirement already satisfied: pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from httplib2<1.dev0,>=0.19.0->google-api-python-client->google-generativeai<0.6.0,>=0.5.0->dynamiq) (3.2.0)\r\n", - "Requirement already satisfied: filelock in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (3.16.1)\r\n", - "Requirement already satisfied: fsspec>=2023.5.0 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm<1.47.0,>=1.46.0->dynamiq) (2024.10.0)\r\n", - "Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from pyasn1-modules>=0.2.1->google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform<1.48.0,>=1.47.0->dynamiq) (0.6.1)\r\n", - "Requirement already satisfied: cffi>=1.12 in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (1.17.1)\r\n", - "Requirement already satisfied: pycparser in /Users/jinhonglin/anaconda3/envs/myenv/lib/python3.11/site-packages (from cffi>=1.12->cryptography->authlib<2.0.0,>=1.2.1->weaviate-client<4.8.0,>=4.7.1->dynamiq) (2.21)\r\n" - ] - } - ], + "outputs": [], "source": [ "! pip install dynamiq pymilvus\n" ] @@ -855,26 +696,6 @@ "answer = result.output.get(answer_generator.id).get(\"output\", {}).get(\"content\")\n", "print(answer)" ] - }, - { - "cell_type": "markdown", - "id": "969bf96ad89b4f65", - "metadata": { - "collapsed": false - }, - "source": [ - "This RAG document retrieval workflow effectively combines state-of-the-art technologies for query understanding, document retrieval, and natural language generation. By embedding queries, retrieving contextually relevant documents, and generating insightful answers, this workflow enables intelligent and context-aware interactions. This workflow can be extended to handle complex multi-document queries, knowledge-based systems, and intelligent assistants, making it a foundational building block for advanced AI applications." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34e2e7c0bcaf1158", - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [] } ], "metadata": { From f5019b391d8fc31584a7551c4ede253ad88926d1 Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 22:17:01 -0500 Subject: [PATCH 5/6] Tutorial: Milvus rag with Dynamiq, font changed --- .../integration/milvus_rag_with_dynamiq.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb index 7f149da43..c714130d3 100644 --- a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -316,23 +316,23 @@ "collapsed": false }, "source": [ - "> # Milvus Deployment Types\n", + "> #### Milvus Deployment Types\n", ">\n", "> Milvus offers two deployment types, catering to different use cases:\n", ">\n", ">\n", - "> ## 1. **MilvusDeploymentType.FILE**\n", + "> ##### 1. **MilvusDeploymentType.FILE**\n", ">\n", "> - Ideal for **local prototyping** or **small-scale data** storage.\n", "> - Set the `uri` to a local file path (e.g., `./milvus.db`) to leverage [Milvus Lite](https://milvus.io/docs/milvus_lite.md), which automatically stores all data in the specified file.\n", "> - This is a convenient option for **quick setup** and **experimentation**.\n", ">\n", ">\n", - "> ## 2. **MilvusDeploymentType.HOST**\n", + "> ##### 2. **MilvusDeploymentType.HOST**\n", ">\n", "> - Designed for **large-scale data** scenarios, such as managing over a million vectors.\n", ">\n", - "> ### **Self-Hosted Server**\n", + "> ##### **Self-Hosted Server**\n", "> - Deploy a high-performance Milvus server using [Docker or Kubernetes](https://milvus.io/docs/quickstart.md).\n", "> - Configure the server’s address and port as the `uri` (e.g., `http://localhost:19530`).\n", "> - If authentication is enabled:\n", @@ -340,7 +340,7 @@ "> - If authentication is disabled:\n", "> - Leave the `token` unset.\n", ">\n", - "> ### **Zilliz Cloud (Managed Service)**\n", + "> ##### **Zilliz Cloud (Managed Service)**\n", "> - For a fully managed, cloud-based Milvus experience, use [Zilliz Cloud](https://zilliz.com/cloud).\n", "> - Set the `uri` and `token` according to the [Public Endpoint and API key](https://docs.zilliz.com/docs/on-zilliz-cloud-console#cluster-details) provided in the Zilliz Cloud console." ] From 569e532fbf0a97f15f1bccc6d40fa1ddf41e9ca1 Mon Sep 17 00:00:00 2001 From: Ryan Lin Date: Tue, 19 Nov 2024 22:19:12 -0500 Subject: [PATCH 6/6] Tutorial: Milvus rag with Dynamiq, run black --- .../integration/milvus_rag_with_dynamiq.ipynb | 99 +++++++++++-------- 1 file changed, 56 insertions(+), 43 deletions(-) diff --git a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb index c714130d3..5fcfb0b6a 100644 --- a/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb +++ b/bootcamp/tutorials/integration/milvus_rag_with_dynamiq.ipynb @@ -64,7 +64,7 @@ }, "outputs": [], "source": [ - "! pip install dynamiq pymilvus\n" + "! pip install dynamiq pymilvus" ] }, { @@ -151,14 +151,18 @@ "from io import BytesIO\n", "from dynamiq import Workflow\n", "from dynamiq.nodes import InputTransformer\n", - "from dynamiq.connections import OpenAI as OpenAIConnection, Milvus as MilvusConnection, MilvusDeploymentType\n", + "from dynamiq.connections import (\n", + " OpenAI as OpenAIConnection,\n", + " Milvus as MilvusConnection,\n", + " MilvusDeploymentType,\n", + ")\n", "from dynamiq.nodes.converters import PyPDFConverter\n", "from dynamiq.nodes.splitters.document import DocumentSplitter\n", "from dynamiq.nodes.embedders import OpenAIDocumentEmbedder\n", "from dynamiq.nodes.writers import MilvusDocumentWriter\n", "\n", "# Initialize the workflow\n", - "rag_wf = Workflow()\n" + "rag_wf = Workflow()" ] }, { @@ -185,7 +189,9 @@ "outputs": [], "source": [ "converter = PyPDFConverter(document_creation_mode=\"one-doc-per-page\")\n", - "converter_added = rag_wf.flow.add_nodes(converter) # Add node to the DAG (Directed Acyclic Graph)\n" + "converter_added = rag_wf.flow.add_nodes(\n", + " converter\n", + ") # Add node to the DAG (Directed Acyclic Graph)" ] }, { @@ -213,15 +219,17 @@ "source": [ "document_splitter = DocumentSplitter(\n", " split_by=\"sentence\", # Splits documents into sentences\n", - " split_length=10, \n", - " split_overlap=1, \n", + " split_length=10,\n", + " split_overlap=1,\n", " input_transformer=InputTransformer(\n", " selector={\n", - " \"documents\": f\"${[converter.id]}.output.documents\", \n", + " \"documents\": f\"${[converter.id]}.output.documents\",\n", " },\n", " ),\n", - ").depends_on(converter) # Set dependency on the PDF converter\n", - "splitter_added = rag_wf.flow.add_nodes(document_splitter) # Add to the DAG\n" + ").depends_on(\n", + " converter\n", + ") # Set dependency on the PDF converter\n", + "splitter_added = rag_wf.flow.add_nodes(document_splitter) # Add to the DAG" ] }, { @@ -248,14 +256,16 @@ "outputs": [], "source": [ "embedder = OpenAIDocumentEmbedder(\n", - " connection=OpenAIConnection(api_key=os.environ[\"OPENAI_API_KEY\"]), \n", + " connection=OpenAIConnection(api_key=os.environ[\"OPENAI_API_KEY\"]),\n", " input_transformer=InputTransformer(\n", " selector={\n", - " \"documents\": f\"${[document_splitter.id]}.output.documents\", \n", + " \"documents\": f\"${[document_splitter.id]}.output.documents\",\n", " },\n", " ),\n", - ").depends_on(document_splitter) # Set dependency on the splitter\n", - "document_embedder_added = rag_wf.flow.add_nodes(embedder) # Add to the DAG\n" + ").depends_on(\n", + " document_splitter\n", + ") # Set dependency on the splitter\n", + "document_embedder_added = rag_wf.flow.add_nodes(embedder) # Add to the DAG" ] }, { @@ -297,16 +307,18 @@ "source": [ "vector_store = (\n", " MilvusDocumentWriter(\n", - " connection=MilvusConnection(deployment_type=MilvusDeploymentType.FILE, uri=\"./milvus.db\"),\n", - " index_name=\"my_milvus_collection\", \n", - " dimension=1536, \n", - " create_if_not_exist=True, \n", - " metric_type=\"COSINE\" \n", + " connection=MilvusConnection(\n", + " deployment_type=MilvusDeploymentType.FILE, uri=\"./milvus.db\"\n", + " ),\n", + " index_name=\"my_milvus_collection\",\n", + " dimension=1536,\n", + " create_if_not_exist=True,\n", + " metric_type=\"COSINE\",\n", " )\n", " .inputs(documents=embedder.outputs.documents) # Connect to embedder output\n", " .depends_on(embedder) # Set dependency on the embedder\n", ")\n", - "milvus_writer_added = rag_wf.flow.add_nodes(vector_store) # Add to the DAG\n" + "milvus_writer_added = rag_wf.flow.add_nodes(vector_store) # Add to the DAG" ] }, { @@ -400,16 +412,12 @@ "source": [ "file_paths = [\"./pdf_files/WhatisMilvus.pdf\"]\n", "input_data = {\n", - " \"files\": [\n", - " BytesIO(open(path, \"rb\").read()) for path in file_paths \n", - " ],\n", - " \"metadata\": [\n", - " {\"filename\": path} for path in file_paths \n", - " ],\n", + " \"files\": [BytesIO(open(path, \"rb\").read()) for path in file_paths],\n", + " \"metadata\": [{\"filename\": path} for path in file_paths],\n", "}\n", "\n", "# Run the workflow with the prepared input data\n", - "inserted_data = rag_wf.run(input_data=input_data)\n" + "inserted_data = rag_wf.run(input_data=input_data)" ] }, { @@ -462,14 +470,18 @@ "outputs": [], "source": [ "from dynamiq import Workflow\n", - "from dynamiq.connections import OpenAI as OpenAIConnection, Milvus as MilvusConnection, MilvusDeploymentType\n", + "from dynamiq.connections import (\n", + " OpenAI as OpenAIConnection,\n", + " Milvus as MilvusConnection,\n", + " MilvusDeploymentType,\n", + ")\n", "from dynamiq.nodes.embedders import OpenAITextEmbedder\n", "from dynamiq.nodes.retrievers import MilvusDocumentRetriever\n", "from dynamiq.nodes.llms import OpenAI\n", "from dynamiq.prompts import Message, Prompt\n", "\n", "# Initialize the workflow\n", - "retrieval_wf = Workflow()\n" + "retrieval_wf = Workflow()" ] }, { @@ -501,11 +513,11 @@ "# Define the text embedder node\n", "embedder = OpenAITextEmbedder(\n", " connection=openai_connection,\n", - " model=\"text-embedding-3-small\", \n", + " model=\"text-embedding-3-small\",\n", ")\n", "\n", "# Add the embedder node to the workflow\n", - "embedder_added = retrieval_wf.flow.add_nodes(embedder)\n" + "embedder_added = retrieval_wf.flow.add_nodes(embedder)" ] }, { @@ -545,19 +557,18 @@ "document_retriever = (\n", " MilvusDocumentRetriever(\n", " connection=MilvusConnection(\n", - " deployment_type=MilvusDeploymentType.FILE,\n", - " uri=\"./milvus.db\" \n", + " deployment_type=MilvusDeploymentType.FILE, uri=\"./milvus.db\"\n", " ),\n", - " index_name=\"my_milvus_collection\", \n", - " dimension=1536, \n", - " top_k=5, \n", + " index_name=\"my_milvus_collection\",\n", + " dimension=1536,\n", + " top_k=5,\n", " )\n", " .inputs(embedding=embedder.outputs.embedding) # Connect to embedder output\n", " .depends_on(embedder) # Dependency on the embedder node\n", ")\n", "\n", "# Add the retriever node to the workflow\n", - "milvus_retriever_added = retrieval_wf.flow.add_nodes(document_retriever)\n" + "milvus_retriever_added = retrieval_wf.flow.add_nodes(document_retriever)" ] }, { @@ -596,7 +607,7 @@ "\"\"\"\n", "\n", "# Create the prompt object\n", - "prompt = Prompt(messages=[Message(content=prompt_template, role=\"user\")])\n" + "prompt = Prompt(messages=[Message(content=prompt_template, role=\"user\")])" ] }, { @@ -625,18 +636,20 @@ "answer_generator = (\n", " OpenAI(\n", " connection=openai_connection,\n", - " model=\"gpt-4o\", \n", - " prompt=prompt, \n", + " model=\"gpt-4o\",\n", + " prompt=prompt,\n", " )\n", " .inputs(\n", - " documents=document_retriever.outputs.documents, \n", - " query=embedder.outputs.query, \n", + " documents=document_retriever.outputs.documents,\n", + " query=embedder.outputs.query,\n", " )\n", - " .depends_on([document_retriever, embedder]) # Dependencies on retriever and embedder\n", + " .depends_on(\n", + " [document_retriever, embedder]\n", + " ) # Dependencies on retriever and embedder\n", ")\n", "\n", "# Add the answer generator node to the workflow\n", - "answer_generator_added = retrieval_wf.flow.add_nodes(answer_generator)\n" + "answer_generator_added = retrieval_wf.flow.add_nodes(answer_generator)" ] }, {