diff --git a/bootcamp/tutorials/integration/evaluation_with_phoenix.ipynb b/bootcamp/tutorials/integration/evaluation_with_phoenix.ipynb index 87599395a..e478f018e 100644 --- a/bootcamp/tutorials/integration/evaluation_with_phoenix.ipynb +++ b/bootcamp/tutorials/integration/evaluation_with_phoenix.ipynb @@ -31,9 +31,128 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pymilvus in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (2.4.6)\n", + "Requirement already satisfied: openai in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (1.46.0)\n", + "Collecting openai\n", + " Downloading openai-1.47.1-py3-none-any.whl.metadata (24 kB)\n", + "Requirement already satisfied: requests in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (2.32.3)\n", + "Requirement already satisfied: tqdm in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (4.66.5)\n", + "Requirement already satisfied: pandas in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (2.2.2)\n", + "Collecting pandas\n", + " Downloading pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl.metadata (89 kB)\n", + "Requirement already satisfied: arize-phoenix>=4.29.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (4.35.1)\n", + "Collecting arize-phoenix>=4.29.0\n", + " Downloading arize_phoenix-4.36.0-py3-none-any.whl.metadata (12 kB)\n", + "Requirement already satisfied: nest_asyncio in /Users/eureka/.local/lib/python3.9/site-packages (1.6.0)\n", + "Requirement already satisfied: setuptools>69 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (72.1.0)\n", + "Requirement already satisfied: grpcio>=1.49.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (1.63.2)\n", + "Requirement already satisfied: protobuf>=3.20.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (4.25.4)\n", + "Requirement already satisfied: environs<=9.5.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (9.5.0)\n", + "Requirement already satisfied: ujson>=2.0.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (5.10.0)\n", + "Requirement already satisfied: milvus-lite<2.5.0,>=2.4.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pymilvus) (2.4.10)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (4.4.0)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (1.9.0)\n", + "Requirement already satisfied: httpx<1,>=0.23.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (0.27.2)\n", + "Requirement already satisfied: jiter<1,>=0.4.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (0.5.0)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (2.9.1)\n", + "Requirement already satisfied: sniffio in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openai) (1.3.1)\n", + "Requirement already satisfied: typing-extensions<5,>=4.11 in /Users/eureka/.local/lib/python3.9/site-packages (from openai) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from requests) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from requests) (3.8)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from requests) (2.2.2)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from requests) (2024.8.30)\n", + "Requirement already satisfied: numpy>=1.22.4 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pandas) (1.26.4)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/eureka/.local/lib/python3.9/site-packages (from pandas) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pandas) (2024.1)\n", + "Requirement already satisfied: tzdata>=2022.7 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pandas) (2024.1)\n", + "Requirement already satisfied: aioitertools in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.12.0)\n", + "Requirement already satisfied: aiosqlite in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.20.0)\n", + "Requirement already satisfied: alembic<2,>=1.3.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.13.2)\n", + "Requirement already satisfied: arize-phoenix-evals>=0.13.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.16.0)\n", + "Requirement already satisfied: arize-phoenix-otel>=0.4.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.5.1)\n", + "Requirement already satisfied: cachetools in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (5.5.0)\n", + "Requirement already satisfied: fastapi in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.115.0)\n", + "Requirement already satisfied: hdbscan>=0.8.33 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.8.38.post1)\n", + "Requirement already satisfied: jinja2 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (3.1.4)\n", + "Requirement already satisfied: openinference-instrumentation-langchain>=0.1.26 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.1.28)\n", + "Requirement already satisfied: openinference-instrumentation-llama-index>=2.2.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (3.0.2)\n", + "Requirement already satisfied: openinference-instrumentation-openai>=0.1.11 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.1.14)\n", + "Requirement already satisfied: openinference-instrumentation>=0.1.12 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.1.18)\n", + "Requirement already satisfied: openinference-semantic-conventions>=0.1.9 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.1.10)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: opentelemetry-proto>=1.12.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: opentelemetry-sdk in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: opentelemetry-semantic-conventions in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.48b0)\n", + "Requirement already satisfied: psutil in /Users/eureka/.local/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (6.0.0)\n", + "Requirement already satisfied: pyarrow in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (17.0.0)\n", + "Requirement already satisfied: pyjwt in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (2.9.0)\n", + "Requirement already satisfied: python-multipart in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.0.9)\n", + "Requirement already satisfied: scikit-learn in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.5.2)\n", + "Requirement already satisfied: scipy in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.13.1)\n", + "Requirement already satisfied: sqlalchemy<3,>=2.0.4 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from sqlalchemy[asyncio]<3,>=2.0.4->arize-phoenix>=4.29.0) (2.0.34)\n", + "Requirement already satisfied: sqlean-py>=3.45.1 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (3.45.1)\n", + "Requirement already satisfied: starlette in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.38.5)\n", + "Requirement already satisfied: strawberry-graphql==0.236.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.236.0)\n", + "Requirement already satisfied: umap-learn in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.5.6)\n", + "Requirement already satisfied: uvicorn in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (0.30.6)\n", + "Requirement already satisfied: wrapt in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from arize-phoenix>=4.29.0) (1.16.0)\n", + "Requirement already satisfied: graphql-core<3.3.0,>=3.2.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from strawberry-graphql==0.236.0->arize-phoenix>=4.29.0) (3.2.4)\n", + "Requirement already satisfied: Mako in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from alembic<2,>=1.3.0->arize-phoenix>=4.29.0) (1.3.5)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /Users/eureka/.local/lib/python3.9/site-packages (from anyio<5,>=3.5.0->openai) (1.2.2)\n", + "Requirement already satisfied: marshmallow>=3.0.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from environs<=9.5.0->pymilvus) (3.22.0)\n", + "Requirement already satisfied: python-dotenv in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from environs<=9.5.0->pymilvus) (1.0.1)\n", + "Requirement already satisfied: joblib>=1.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from hdbscan>=0.8.33->arize-phoenix>=4.29.0) (1.4.2)\n", + "Requirement already satisfied: httpcore==1.* in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from httpx<1,>=0.23.0->openai) (1.0.5)\n", + "Requirement already satisfied: h11<0.15,>=0.13 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai) (0.14.0)\n", + "Requirement already satisfied: opentelemetry-api in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openinference-instrumentation>=0.1.12->arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: opentelemetry-instrumentation in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from openinference-instrumentation-langchain>=0.1.26->arize-phoenix>=4.29.0) (0.48b0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pydantic<3,>=1.9.0->openai) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.3 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from pydantic<3,>=1.9.0->openai) (2.23.3)\n", + "Requirement already satisfied: six>=1.5 in /Users/eureka/.local/lib/python3.9/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from scikit-learn->arize-phoenix>=4.29.0) (3.5.0)\n", + "Requirement already satisfied: greenlet!=0.4.17 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from sqlalchemy[asyncio]<3,>=2.0.4->arize-phoenix>=4.29.0) (3.1.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from jinja2->arize-phoenix>=4.29.0) (2.1.5)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc==1.27.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-exporter-otlp->arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-http==1.27.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-exporter-otlp->arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: deprecated>=1.2.6 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-exporter-otlp-proto-grpc==1.27.0->opentelemetry-exporter-otlp->arize-phoenix>=4.29.0) (1.2.14)\n", + "Requirement already satisfied: googleapis-common-protos~=1.52 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-exporter-otlp-proto-grpc==1.27.0->opentelemetry-exporter-otlp->arize-phoenix>=4.29.0) (1.65.0)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.27.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-exporter-otlp-proto-grpc==1.27.0->opentelemetry-exporter-otlp->arize-phoenix>=4.29.0) (1.27.0)\n", + "Requirement already satisfied: importlib-metadata<=8.4.0,>=6.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from opentelemetry-api->openinference-instrumentation>=0.1.12->arize-phoenix>=4.29.0) (7.0.0)\n", + "Requirement already satisfied: numba>=0.51.2 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from umap-learn->arize-phoenix>=4.29.0) (0.60.0)\n", + "Requirement already satisfied: pynndescent>=0.5 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from umap-learn->arize-phoenix>=4.29.0) (0.5.13)\n", + "Requirement already satisfied: click>=7.0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from uvicorn->arize-phoenix>=4.29.0) (8.1.7)\n", + "Requirement already satisfied: packaging>=17.0 in /Users/eureka/.local/lib/python3.9/site-packages (from marshmallow>=3.0.0->environs<=9.5.0->pymilvus) (24.1)\n", + "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages (from numba>=0.51.2->umap-learn->arize-phoenix>=4.29.0) (0.43.0)\n", + "Requirement already satisfied: zipp>=0.5 in /Users/eureka/.local/lib/python3.9/site-packages (from importlib-metadata<=8.4.0,>=6.0->opentelemetry-api->openinference-instrumentation>=0.1.12->arize-phoenix>=4.29.0) (3.20.1)\n", + "Downloading openai-1.47.1-py3-none-any.whl (375 kB)\n", + "Downloading pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl (11.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.3/11.3 MB\u001b[0m \u001b[31m18.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading arize_phoenix-4.36.0-py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m25.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pandas, openai, arize-phoenix\n", + " Attempting uninstall: pandas\n", + " Found existing installation: pandas 2.2.2\n", + " Uninstalling pandas-2.2.2:\n", + " Successfully uninstalled pandas-2.2.2\n", + " Attempting uninstall: openai\n", + " Found existing installation: openai 1.46.0\n", + " Uninstalling openai-1.46.0:\n", + " Successfully uninstalled openai-1.46.0\n", + " Attempting uninstall: arize-phoenix\n", + " Found existing installation: arize-phoenix 4.35.1\n", + " Uninstalling arize-phoenix-4.35.1:\n", + " Successfully uninstalled arize-phoenix-4.35.1\n", + "Successfully installed arize-phoenix-4.36.0 openai-1.47.1 pandas-2.2.3\n" + ] + } + ], "source": [ "! pip install --upgrade pymilvus openai requests tqdm pandas \"arize-phoenix>=4.29.0\" nest_asyncio" ] @@ -54,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -75,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -196,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -237,14 +356,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Creating embeddings: 100%|██████████| 47/47 [00:19<00:00, 2.39it/s]\n" + "Creating embeddings: 100%|██████████| 47/47 [00:12<00:00, 3.74it/s]\n" ] } ], @@ -273,7 +392,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -285,7 +404,7 @@ " \"Software Requirements\\n\\nAll Linux distributions are available for Milvus development. However a majority of our contributor worked with Ubuntu or CentOS systems, with a small portion of Mac (both x86_64 and Apple Silicon) contributors. If you would like Milvus to build and run on other distributions, you are more than welcome to file an issue and contribute!\\n\\nHere's a list of verified OS types where Milvus can successfully build and run:\\n\\n- Debian/Ubuntu\\n- Amazon Linux\\n- MacOS (x86_64)\\n- MacOS (Apple Silicon)\\n\\n##\"])" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -304,7 +423,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -313,7 +432,7 @@ "text": [ "/Users/eureka/miniconda3/envs/zilliz/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n", - "Answering questions: 100%|██████████| 3/3 [00:04<00:00, 1.34s/it]\n" + "Answering questions: 100%|██████████| 3/3 [00:02<00:00, 1.20it/s]\n" ] }, { @@ -348,7 +467,7 @@ "