ZhangZhihui's Blog  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

复制代码
zzh@ZZHPC:~$ which pip
/home/zzh/venvs/zpy313/bin/pip
zzh@ZZHPC:~$ pip install chromadb
Collecting chromadb
  Downloading chromadb-0.6.3-py3-none-any.whl.metadata (6.8 kB)
Collecting build>=1.0.3 (from chromadb)
  Downloading build-1.2.2.post1-py3-none-any.whl.metadata (6.5 kB)
Collecting pydantic>=1.9 (from chromadb)
  Downloading pydantic-2.10.6-py3-none-any.whl.metadata (30 kB)
Collecting chroma-hnswlib==0.7.6 (from chromadb)
  Downloading chroma_hnswlib-0.7.6.tar.gz (32 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting fastapi>=0.95.2 (from chromadb)
  Downloading fastapi-0.115.8-py3-none-any.whl.metadata (27 kB)
Collecting uvicorn>=0.18.3 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading uvicorn-0.34.0-py3-none-any.whl.metadata (6.5 kB)
Collecting numpy>=1.22.5 (from chromadb)
  Using cached numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)
Collecting posthog>=2.4.0 (from chromadb)
  Downloading posthog-3.12.0-py2.py3-none-any.whl.metadata (2.9 kB)
Collecting typing_extensions>=4.5.0 (from chromadb)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting onnxruntime>=1.14.1 (from chromadb)
  Downloading onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (4.5 kB)
Collecting opentelemetry-api>=1.2.0 (from chromadb)
  Downloading opentelemetry_api-1.30.0-py3-none-any.whl.metadata (1.6 kB)
Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb)
  Downloading opentelemetry_exporter_otlp_proto_grpc-1.30.0-py3-none-any.whl.metadata (2.4 kB)
Collecting opentelemetry-instrumentation-fastapi>=0.41b0 (from chromadb)
  Downloading opentelemetry_instrumentation_fastapi-0.51b0-py3-none-any.whl.metadata (2.2 kB)
Collecting opentelemetry-sdk>=1.2.0 (from chromadb)
  Downloading opentelemetry_sdk-1.30.0-py3-none-any.whl.metadata (1.6 kB)
Collecting tokenizers>=0.13.2 (from chromadb)
  Downloading tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.7 kB)
Collecting pypika>=0.48.9 (from chromadb)
  Downloading PyPika-0.48.9.tar.gz (67 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting tqdm>=4.65.0 (from chromadb)
  Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting overrides>=7.3.1 (from chromadb)
  Using cached overrides-7.7.0-py3-none-any.whl.metadata (5.8 kB)
Collecting importlib-resources (from chromadb)
  Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)
Collecting grpcio>=1.58.0 (from chromadb)
  Downloading grpcio-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.9 kB)
Collecting bcrypt>=4.0.1 (from chromadb)
  Downloading bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (9.8 kB)
Collecting typer>=0.9.0 (from chromadb)
  Downloading typer-0.15.1-py3-none-any.whl.metadata (15 kB)
Collecting kubernetes>=28.1.0 (from chromadb)
  Downloading kubernetes-32.0.0-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting tenacity>=8.2.3 (from chromadb)
  Downloading tenacity-9.0.0-py3-none-any.whl.metadata (1.2 kB)
Collecting PyYAML>=6.0.0 (from chromadb)
  Downloading PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting mmh3>=4.0.1 (from chromadb)
  Downloading mmh3-5.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (16 kB)
Collecting orjson>=3.9.12 (from chromadb)
  Downloading orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (41 kB)
Collecting httpx>=0.27.0 (from chromadb)
  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
Collecting rich>=10.11.0 (from chromadb)
  Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)
Collecting packaging>=19.1 (from build>=1.0.3->chromadb)
  Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pyproject_hooks (from build>=1.0.3->chromadb)
  Downloading pyproject_hooks-1.2.0-py3-none-any.whl.metadata (1.3 kB)
Collecting starlette<0.46.0,>=0.40.0 (from fastapi>=0.95.2->chromadb)
  Downloading starlette-0.45.3-py3-none-any.whl.metadata (6.3 kB)
Collecting anyio (from httpx>=0.27.0->chromadb)
  Using cached anyio-4.8.0-py3-none-any.whl.metadata (4.6 kB)
Collecting certifi (from httpx>=0.27.0->chromadb)
  Using cached certifi-2025.1.31-py3-none-any.whl.metadata (2.5 kB)
Collecting httpcore==1.* (from httpx>=0.27.0->chromadb)
  Downloading httpcore-1.0.7-py3-none-any.whl.metadata (21 kB)
Collecting idna (from httpx>=0.27.0->chromadb)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx>=0.27.0->chromadb)
  Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
Collecting six>=1.9.0 (from kubernetes>=28.1.0->chromadb)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting python-dateutil>=2.5.3 (from kubernetes>=28.1.0->chromadb)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting google-auth>=1.0.1 (from kubernetes>=28.1.0->chromadb)
  Downloading google_auth-2.38.0-py2.py3-none-any.whl.metadata (4.8 kB)
Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 (from kubernetes>=28.1.0->chromadb)
  Using cached websocket_client-1.8.0-py3-none-any.whl.metadata (8.0 kB)
Collecting requests (from kubernetes>=28.1.0->chromadb)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting requests-oauthlib (from kubernetes>=28.1.0->chromadb)
  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl.metadata (11 kB)
Collecting oauthlib>=3.2.2 (from kubernetes>=28.1.0->chromadb)
  Downloading oauthlib-3.2.2-py3-none-any.whl.metadata (7.5 kB)
Collecting urllib3>=1.24.2 (from kubernetes>=28.1.0->chromadb)
  Using cached urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting durationpy>=0.7 (from kubernetes>=28.1.0->chromadb)
  Downloading durationpy-0.9-py3-none-any.whl.metadata (338 bytes)
Collecting coloredlogs (from onnxruntime>=1.14.1->chromadb)
  Downloading coloredlogs-15.0.1-py2.py3-none-any.whl.metadata (12 kB)
Collecting flatbuffers (from onnxruntime>=1.14.1->chromadb)
  Downloading flatbuffers-25.2.10-py2.py3-none-any.whl.metadata (875 bytes)
Collecting protobuf (from onnxruntime>=1.14.1->chromadb)
  Downloading protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl.metadata (592 bytes)
Collecting sympy (from onnxruntime>=1.14.1->chromadb)
  Downloading sympy-1.13.3-py3-none-any.whl.metadata (12 kB)
Collecting deprecated>=1.2.6 (from opentelemetry-api>=1.2.0->chromadb)
  Downloading Deprecated-1.2.18-py2.py3-none-any.whl.metadata (5.7 kB)
Collecting importlib-metadata<=8.5.0,>=6.0 (from opentelemetry-api>=1.2.0->chromadb)
  Downloading importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting googleapis-common-protos~=1.52 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb)
  Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting opentelemetry-exporter-otlp-proto-common==1.30.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb)
  Downloading opentelemetry_exporter_otlp_proto_common-1.30.0-py3-none-any.whl.metadata (1.9 kB)
Collecting opentelemetry-proto==1.30.0 (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb)
  Downloading opentelemetry_proto-1.30.0-py3-none-any.whl.metadata (2.4 kB)
Collecting opentelemetry-instrumentation-asgi==0.51b0 (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading opentelemetry_instrumentation_asgi-0.51b0-py3-none-any.whl.metadata (2.1 kB)
Collecting opentelemetry-instrumentation==0.51b0 (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading opentelemetry_instrumentation-0.51b0-py3-none-any.whl.metadata (6.3 kB)
Collecting opentelemetry-semantic-conventions==0.51b0 (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading opentelemetry_semantic_conventions-0.51b0-py3-none-any.whl.metadata (2.5 kB)
Collecting opentelemetry-util-http==0.51b0 (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading opentelemetry_util_http-0.51b0-py3-none-any.whl.metadata (2.6 kB)
Collecting wrapt<2.0.0,>=1.0.0 (from opentelemetry-instrumentation==0.51b0->opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.4 kB)
Collecting asgiref~=3.0 (from opentelemetry-instrumentation-asgi==0.51b0->opentelemetry-instrumentation-fastapi>=0.41b0->chromadb)
  Downloading asgiref-3.8.1-py3-none-any.whl.metadata (9.3 kB)
Collecting monotonic>=1.5 (from posthog>=2.4.0->chromadb)
  Downloading monotonic-1.6-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting backoff>=1.10.0 (from posthog>=2.4.0->chromadb)
  Downloading backoff-2.2.1-py3-none-any.whl.metadata (14 kB)
Collecting annotated-types>=0.6.0 (from pydantic>=1.9->chromadb)
  Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.2 (from pydantic>=1.9->chromadb)
  Downloading pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=10.11.0->chromadb)
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich>=10.11.0->chromadb)
  Using cached pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)
Collecting huggingface-hub<1.0,>=0.16.4 (from tokenizers>=0.13.2->chromadb)
  Downloading huggingface_hub-0.28.1-py3-none-any.whl.metadata (13 kB)
Collecting click>=8.0.0 (from typer>=0.9.0->chromadb)
  Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
Collecting shellingham>=1.3.0 (from typer>=0.9.0->chromadb)
  Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting httptools>=0.6.3 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)
Collecting python-dotenv>=0.13 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
Collecting uvloop!=0.15.0,!=0.15.1,>=0.14.0 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting watchfiles>=0.13 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading watchfiles-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting websockets>=10.4 (from uvicorn[standard]>=0.18.3->chromadb)
  Downloading websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)
Collecting cachetools<6.0,>=2.0.0 (from google-auth>=1.0.1->kubernetes>=28.1.0->chromadb)
  Downloading cachetools-5.5.1-py3-none-any.whl.metadata (5.4 kB)
Collecting pyasn1-modules>=0.2.1 (from google-auth>=1.0.1->kubernetes>=28.1.0->chromadb)
  Downloading pyasn1_modules-0.4.1-py3-none-any.whl.metadata (3.5 kB)
Collecting rsa<5,>=3.1.4 (from google-auth>=1.0.1->kubernetes>=28.1.0->chromadb)
  Downloading rsa-4.9-py3-none-any.whl.metadata (4.2 kB)
Collecting filelock (from huggingface-hub<1.0,>=0.16.4->tokenizers>=0.13.2->chromadb)
  Downloading filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)
Collecting fsspec>=2023.5.0 (from huggingface-hub<1.0,>=0.16.4->tokenizers>=0.13.2->chromadb)
  Downloading fsspec-2025.2.0-py3-none-any.whl.metadata (11 kB)
Collecting zipp>=3.20 (from importlib-metadata<=8.5.0,>=6.0->opentelemetry-api>=1.2.0->chromadb)
  Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->chromadb)
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting charset-normalizer<4,>=2 (from requests->kubernetes>=28.1.0->chromadb)
  Downloading charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting sniffio>=1.1 (from anyio->httpx>=0.27.0->chromadb)
  Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting humanfriendly>=9.1 (from coloredlogs->onnxruntime>=1.14.1->chromadb)
  Downloading humanfriendly-10.0-py2.py3-none-any.whl.metadata (9.2 kB)
Collecting mpmath<1.4,>=1.1.0 (from sympy->onnxruntime>=1.14.1->chromadb)
  Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
Collecting pyasn1<0.7.0,>=0.4.6 (from pyasn1-modules>=0.2.1->google-auth>=1.0.1->kubernetes>=28.1.0->chromadb)
  Downloading pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)
Downloading chromadb-0.6.3-py3-none-any.whl (611 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 611.1/611.1 kB 226.6 kB/s eta 0:00:00
Downloading bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl (278 kB)
Downloading build-1.2.2.post1-py3-none-any.whl (22 kB)
Downloading fastapi-0.115.8-py3-none-any.whl (94 kB)
Downloading grpcio-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.9/5.9 MB 155.4 kB/s eta 0:00:00
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
Downloading httpcore-1.0.7-py3-none-any.whl (78 kB)
Downloading kubernetes-32.0.0-py2.py3-none-any.whl (2.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 109.7 kB/s eta 0:00:00
Downloading mmh3-5.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (101 kB)
Using cached numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB)
Downloading onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.3/13.3 MB 195.4 kB/s eta 0:00:00
Downloading opentelemetry_api-1.30.0-py3-none-any.whl (64 kB)
Downloading opentelemetry_exporter_otlp_proto_grpc-1.30.0-py3-none-any.whl (18 kB)
Downloading opentelemetry_exporter_otlp_proto_common-1.30.0-py3-none-any.whl (18 kB)
Downloading opentelemetry_proto-1.30.0-py3-none-any.whl (55 kB)
Downloading opentelemetry_instrumentation_fastapi-0.51b0-py3-none-any.whl (12 kB)
Downloading opentelemetry_instrumentation-0.51b0-py3-none-any.whl (30 kB)
Downloading opentelemetry_instrumentation_asgi-0.51b0-py3-none-any.whl (16 kB)
Downloading opentelemetry_semantic_conventions-0.51b0-py3-none-any.whl (177 kB)
Downloading opentelemetry_util_http-0.51b0-py3-none-any.whl (7.3 kB)
Downloading opentelemetry_sdk-1.30.0-py3-none-any.whl (118 kB)
Downloading orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (130 kB)
Using cached overrides-7.7.0-py3-none-any.whl (17 kB)
Downloading posthog-3.12.0-py2.py3-none-any.whl (72 kB)
Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)
Downloading pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 94.7 kB/s eta 0:00:00
Downloading PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (759 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 759.5/759.5 kB 211.6 kB/s eta 0:00:00
Downloading rich-13.9.4-py3-none-any.whl (242 kB)
Downloading tenacity-9.0.0-py3-none-any.whl (28 kB)
Downloading tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 184.7 kB/s eta 0:00:00
Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)
Downloading typer-0.15.1-py3-none-any.whl (44 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading uvicorn-0.34.0-py3-none-any.whl (62 kB)
Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading backoff-2.2.1-py3-none-any.whl (15 kB)
Using cached certifi-2025.1.31-py3-none-any.whl (166 kB)
Downloading click-8.1.8-py3-none-any.whl (98 kB)
Downloading Deprecated-1.2.18-py2.py3-none-any.whl (10.0 kB)
Downloading durationpy-0.9-py3-none-any.whl (3.5 kB)
Downloading google_auth-2.38.0-py2.py3-none-any.whl (210 kB)
Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl (221 kB)
Downloading h11-0.14.0-py3-none-any.whl (58 kB)
Downloading httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (473 kB)
Downloading huggingface_hub-0.28.1-py3-none-any.whl (464 kB)
Downloading importlib_metadata-8.5.0-py3-none-any.whl (26 kB)
Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Downloading monotonic-1.6-py2.py3-none-any.whl (8.2 kB)
Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Downloading protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl (319 kB)
Using cached pygments-2.19.1-py3-none-any.whl (1.2 MB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Downloading python_dotenv-1.0.1-py3-none-any.whl (19 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Downloading starlette-0.45.3-py3-none-any.whl (71 kB)
Using cached anyio-4.8.0-py3-none-any.whl (96 kB)
Using cached urllib3-2.3.0-py3-none-any.whl (128 kB)
Downloading uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 157.6 kB/s eta 0:00:00
Downloading watchfiles-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (452 kB)
Using cached websocket_client-1.8.0-py3-none-any.whl (58 kB)
Downloading websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (170 kB)
Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
Downloading flatbuffers-25.2.10-py2.py3-none-any.whl (30 kB)
Downloading pyproject_hooks-1.2.0-py3-none-any.whl (10 kB)
Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)
Downloading sympy-1.13.3-py3-none-any.whl (6.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 156.7 kB/s eta 0:00:00
Downloading asgiref-3.8.1-py3-none-any.whl (23 kB)
Downloading cachetools-5.5.1-py3-none-any.whl (9.5 kB)
Downloading charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144 kB)
Downloading fsspec-2025.2.0-py3-none-any.whl (184 kB)
Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 74.3 kB/s eta 0:00:00
Downloading pyasn1_modules-0.4.1-py3-none-any.whl (181 kB)
Downloading rsa-4.9-py3-none-any.whl (34 kB)
Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Downloading wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (89 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Downloading filelock-3.17.0-py3-none-any.whl (16 kB)
Downloading pyasn1-0.6.1-py3-none-any.whl (83 kB)
Building wheels for collected packages: chroma-hnswlib, pypika
  Building wheel for chroma-hnswlib (pyproject.toml) ... done
  Created wheel for chroma-hnswlib: filename=chroma_hnswlib-0.7.6-cp313-cp313-linux_x86_64.whl size=2394291 sha256=5768259cdf3524b6c918a719daa87e73db675c1b7a05f32d450c2ae6a04813e5
  Stored in directory: /home/zzh/.cache/pip/wheels/e4/de/05/47d2e8cd71d86b683765286c3308516ddcb7e8bf7db44fa69f
  Building wheel for pypika (pyproject.toml) ... done
  Created wheel for pypika: filename=PyPika-0.48.9-py2.py3-none-any.whl size=53771 sha256=4a39d1512c28c76273798e7dae161b81bf662d5819200d1e09dd4d1a46a1488c
  Stored in directory: /home/zzh/.cache/pip/wheels/b4/f8/a5/28e9c1524d320f4b8eefdce0e487b5c2e128dbf2ed1bb4a60b
Successfully built chroma-hnswlib pypika
Installing collected packages: pypika, mpmath, monotonic, flatbuffers, durationpy, zipp, wrapt, websockets, websocket-client, uvloop, urllib3, typing_extensions, tqdm, tenacity, sympy, sniffio, six, shellingham, PyYAML, python-dotenv, pyproject_hooks, pygments, pyasn1, protobuf, packaging, overrides, orjson, opentelemetry-util-http, oauthlib, numpy, mmh3, mdurl, importlib-resources, idna, humanfriendly, httptools, h11, grpcio, fsspec, filelock, click, charset-normalizer, certifi, cachetools, bcrypt, backoff, asgiref, annotated-types, uvicorn, rsa, requests, python-dateutil, pydantic-core, pyasn1-modules, opentelemetry-proto, markdown-it-py, importlib-metadata, httpcore, googleapis-common-protos, deprecated, coloredlogs, chroma-hnswlib, build, anyio, watchfiles, starlette, rich, requests-oauthlib, pydantic, posthog, opentelemetry-exporter-otlp-proto-common, opentelemetry-api, onnxruntime, huggingface-hub, httpx, google-auth, typer, tokenizers, opentelemetry-semantic-conventions, kubernetes, fastapi, opentelemetry-sdk, opentelemetry-instrumentation, opentelemetry-instrumentation-asgi, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation-fastapi, chromadb
Successfully installed PyYAML-6.0.2 annotated-types-0.7.0 anyio-4.8.0 asgiref-3.8.1 backoff-2.2.1 bcrypt-4.2.1 build-1.2.2.post1 cachetools-5.5.1 certifi-2025.1.31 charset-normalizer-3.4.1 chroma-hnswlib-0.7.6 chromadb-0.6.3 click-8.1.8 coloredlogs-15.0.1 deprecated-1.2.18 durationpy-0.9 fastapi-0.115.8 filelock-3.17.0 flatbuffers-25.2.10 fsspec-2025.2.0 google-auth-2.38.0 googleapis-common-protos-1.66.0 grpcio-1.70.0 h11-0.14.0 httpcore-1.0.7 httptools-0.6.4 httpx-0.28.1 huggingface-hub-0.28.1 humanfriendly-10.0 idna-3.10 importlib-metadata-8.5.0 importlib-resources-6.5.2 kubernetes-32.0.0 markdown-it-py-3.0.0 mdurl-0.1.2 mmh3-5.1.0 monotonic-1.6 mpmath-1.3.0 numpy-2.2.2 oauthlib-3.2.2 onnxruntime-1.20.1 opentelemetry-api-1.30.0 opentelemetry-exporter-otlp-proto-common-1.30.0 opentelemetry-exporter-otlp-proto-grpc-1.30.0 opentelemetry-instrumentation-0.51b0 opentelemetry-instrumentation-asgi-0.51b0 opentelemetry-instrumentation-fastapi-0.51b0 opentelemetry-proto-1.30.0 opentelemetry-sdk-1.30.0 opentelemetry-semantic-conventions-0.51b0 opentelemetry-util-http-0.51b0 orjson-3.10.15 overrides-7.7.0 packaging-24.2 posthog-3.12.0 protobuf-5.29.3 pyasn1-0.6.1 pyasn1-modules-0.4.1 pydantic-2.10.6 pydantic-core-2.27.2 pygments-2.19.1 pypika-0.48.9 pyproject_hooks-1.2.0 python-dateutil-2.9.0.post0 python-dotenv-1.0.1 requests-2.32.3 requests-oauthlib-2.0.0 rich-13.9.4 rsa-4.9 shellingham-1.5.4 six-1.17.0 sniffio-1.3.1 starlette-0.45.3 sympy-1.13.3 tenacity-9.0.0 tokenizers-0.21.0 tqdm-4.67.1 typer-0.15.1 typing_extensions-4.12.2 urllib3-2.3.0 uvicorn-0.34.0 uvloop-0.21.0 watchfiles-1.0.4 websocket-client-1.8.0 websockets-14.2 wrapt-1.17.2 zipp-3.21.0
复制代码

 

app.py:

复制代码
import chromadb

chroma_client = chromadb.Client()

collection_name = "test_collection"

collection = chroma_client.get_or_create_collection(collection_name)

documents = [
    {"id": "doc1", "text": "Hello, world!"},
    {"id": "doc2", "text": "How are you today?"},
    {"id": "doc3", "text": "Goodbye, see you later!"},
]

# ids, texts = [], []
# for doc in documents:
#     ids.append(doc["id"])
#     texts.append(doc["text"])
# collection.add(ids=ids, documents=texts)

for doc in documents:
    collection.upsert(ids=doc["id"], documents=doc["text"])

query_text = "Hello, world!"

results = collection.query(
    query_texts=[query_text],
    n_results=3
)

print(results)
复制代码

 

zpy313zzh@ZZHPC:~/zd/Github/chroma$ python app.py
/home/zzh/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx.tar.gz: 100%|██████████████████████████████████████████████████████████| 79.3M/79.3M [05:05<00:00, 272kiB/s]
{'ids': [['doc1', 'doc3', 'doc2']], 
'embeddings': None,
'documents': [['Hello, world!', 'Goodbye, see you later!', 'How are you today?']], 'uris': None, 'data': None, 'metadatas': [[None, None, None]],
'distances': [[0.0, 1.1922800540924072, 1.2944010496139526]], 'included': [<IncludeEnum.distances: 'distances'>, <IncludeEnum.documents: 'documents'>, <IncludeEnum.metadatas: 'metadatas'>]}

 

chroma_emb.py:

复制代码
from chromadb.utils import embedding_functions

default_ef = embedding_functions.DefaultEmbeddingFunction()

name = "Paulo"

emb = default_ef(name)

print(emb)
复制代码

 

复制代码
zpy313zzh@ZZHPC:~/zd/Github/chroma$ python chroma_emb.py 
[array([-4.77068573e-02,  2.97990479e-02, -2.93074436e-02, -2.87616923e-02,
       -4.91825528e-02, -4.86955643e-02,  1.10034801e-01,  2.97690313e-02,
       -6.18851325e-03,  5.53492531e-02,  2.04521082e-02, -5.07562533e-02,
       ......
        3.26085165e-02,  4.47700545e-02,  7.73760751e-02,  3.50197591e-02,
        3.37867178e-02,  1.97127666e-02, -3.15986723e-02,  5.40432660e-03,
        1.77806646e-01, -3.78636830e-02, -6.35042936e-02,  1.42911226e-02],
      dtype=float32), 
array([-3.64329927e-02, 3.47035043e-02, -4.59598117e-02, 3.43255736e-02, -8.08233842e-02, 3.28386761e-02, 1.16975576e-01, -2.33093221e-02, 7.44436607e-02, 4.72888499e-02, 6.22796416e-02, -3.12960111e-02, ...... 6.27401099e-02, 6.56515732e-02, 3.76868434e-02, -8.89132246e-02, 7.71205593e-03, -3.72898653e-02, -8.14193040e-02, -3.65978032e-02, 1.11137301e-01, 4.63966765e-02, -4.78116237e-03, 9.42865983e-02], dtype=float32),
array([-4.98349145e-02, 4.74100597e-02, 2.07568444e-02, 3.68843647e-03, 2.90707853e-02, -6.91035092e-02, 8.78166184e-02, 3.37207988e-02, -1.62019897e-02, -4.25846390e-02, -5.07706478e-02, -5.30969389e-02, ...... 1.96551271e-02, 9.31896418e-02, 7.21545070e-02, -2.71788035e-02, -2.09859461e-02, -1.87591091e-02, 2.36713924e-02, -2.18880940e-02, 1.91609785e-01, 3.42484657e-03, -1.61046423e-02, -1.63354480e-03], dtype=float32),
array([-2.92103458e-02, -8.13607965e-03, 3.42050493e-02, 4.02956381e-02, 7.42618889e-02, 5.92250228e-02, 8.18095356e-02, 3.71374078e-02, 3.29148136e-02, -3.14370692e-02, 6.00386299e-02, -7.25435689e-02, ...... 1.29343872e-03, 2.11448316e-02, 7.62199536e-02, 2.57958323e-02, 4.07716818e-02, 5.09889312e-02, -2.29321644e-02, 8.09123460e-03, 1.02333963e-01, 7.33227506e-02, 4.09921743e-02, -5.41229546e-03], dtype=float32),
array([-6.32946715e-02, -2.90845912e-02, -3.56220417e-02, 5.40078944e-03, 4.64655533e-02, -4.40690108e-02, 2.69279480e-02, -3.34532140e-03, -2.97008660e-02, -3.88564132e-02, -6.65133120e-03, -9.66176204e-03, ...... 5.19873016e-02, 6.38110414e-02, 5.99526577e-02, -2.17177607e-02, 3.81056108e-02, 1.99898425e-03, -2.93792901e-03, -1.26095652e-03, 1.68324441e-01, 1.23568708e-02, 4.91043851e-02, -1.41247986e-02], dtype=float32)]
复制代码

 

>>> from chromadb.utils import embedding_functions
>>> help(embedding_functions)

 

复制代码
Help on package chromadb.utils.embedding_functions in chromadb.utils:

NAME
    chromadb.utils.embedding_functions

PACKAGE CONTENTS
    amazon_bedrock_embedding_function
    chroma_langchain_embedding_function
    cohere_embedding_function
    google_embedding_function
    huggingface_embedding_function
    instructor_embedding_function
    jina_embedding_function
    ollama_embedding_function
    onnx_mini_lm_l6_v2
    open_clip_embedding_function
    openai_embedding_function
    roboflow_embedding_function
    sentence_transformer_embedding_function
    text2vec_embedding_function
    voyageai_embedding_function

FUNCTIONS
    DefaultEmbeddingFunction() -> Optional[chromadb.api.types.EmbeddingFunction[List[str]]]
        # Define and export the default embedding function

    get_builtins() -> Set[str]

DATA
    Documents = typing.List[str]
    Optional = typing.Optional
        Optional[X] is equivalent to Union[X, None].

    Set = typing.Set
        A generic version of set.

    __annotations__ = {'_all_classes': typing.Set[str]}
    is_thin_client = False

FILE
    /home/zzh/venvs/zpy313/lib/python3.13/site-packages/chromadb/utils/embedding_functions/__init__.py
复制代码

 

复制代码
import chromadb
from chromadb.utils.embedding_functions import DefaultEmbeddingFunction

chroma_client = chromadb.Client()
default_ef = DefaultEmbeddingFunction()

collection_name = "test_collection"

collection = chroma_client.get_or_create_collection(collection_name, embedding_function=default_ef)

documents = [
    {"id": "doc1", "text": "Hello, world!"},
    {"id": "doc2", "text": "How are you today?"},
    {"id": "doc3", "text": "Goodbye, see you later!"},
]

# ids, texts = [], []
# for doc in documents:
#     ids.append(doc["id"])
#     texts.append(doc["text"])
# collection.add(ids=ids, documents=texts)

for doc in documents:
    collection.upsert(ids=doc["id"], documents=doc["text"])

query_text = "Hello, world!"

results = collection.query(
    query_texts=[query_text],
    n_results=3
)

print(results)
复制代码

 

zpy313zzh@ZZHPC:~/zd/Github/chroma$ python app.py
{'ids': [['doc1', 'doc3', 'doc2']], 
'embeddings': None,
'documents': [['Hello, world!', 'Goodbye, see you later!', 'How are you today?']], 'uris': None, 'data': None, 'metadatas': [[None, None, None]],
'distances': [[0.0, 1.1922800540924072, 1.2944010496139526]], 'included': [<IncludeEnum.distances: 'distances'>, <IncludeEnum.documents: 'documents'>, <IncludeEnum.metadatas: 'metadatas'>]}

 

chroma_persist.py:

复制代码
import chromadb

from chromadb.utils.embedding_functions import DefaultEmbeddingFunction

default_ef = DefaultEmbeddingFunction()
chroma_client = chromadb.PersistentClient(path="./db/chroma_persist")

collection = chroma_client.get_or_create_collection("my_story", embedding_function=default_ef)

documents = [
    {"id": "doc1", "text": "Hello, world!"},
    {"id": "doc2", "text": "How are you today?"},
    {"id": "doc3", "text": "Goodbye, see you later!"},
    {
        "id": "doc4",
        "text": "Microsoft is a technology company that develops software."
    }
]

for doc in documents:
    collection.upsert(ids=doc["id"], documents=doc["text"])

query_text = "Age of the Earth"

results = collection.query(
    query_texts=[query_text],
    n_results=2,
)

print(results)
复制代码

 

zpy313zzh@ZZHPC:~/zd/Github/chroma$ python chroma_persist.py 
{'ids': [['doc1', 'doc3']], 
'embeddings': None,
'documents': [['Hello, world!', 'Goodbye, see you later!']], 'uris': None, 'data': None, 'metadatas': [[None, None]],
'distances': [[1.6636846865464607, 1.7823879119271808]], 'included': [<IncludeEnum.distances: 'distances'>, <IncludeEnum.documents: 'documents'>, <IncludeEnum.metadatas: 'metadatas'>]}

 

Install the SQLite extension, you can view the tables in the chroma.sqlite3:

 

 

 

 

zzh@ZZHPC:~$ pip install python-dotenv
Requirement already satisfied: python-dotenv in ./venvs/zpy313/lib/python3.13/site-packages (1.0.1)
zzh@ZZHPC:~$ pip install openai
......
Successfully installed distro-1.9.0 jiter-0.8.2 openai-1.61.1

 

 

复制代码
import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

response = client.embeddings.create(
    input="Your text string goes here",
    model="text-embedding-3-small"
)

print(response.data[0].embedding)
复制代码

 

复制代码
import chromadb
import os
from dotenv import load_dotenv
from chromadb.utils import embedding_functions

load_dotenv()

openai_api_key = os.getenv("OPENAI_API_KEY")

default_ef = embedding_functions.DefaultEmbeddingFunction()
openai_ef = embedding_functions.OpenAIEmbeddingFunction(
    api_key=openai_api_key,
    model="text-embedding-3-small",
)
croma_client = chromadb.PersistentClient(path="./db/chroma_persist")

collection = croma_client.get_or_create_collection(
    "my_story",
    embedding_function=openai_ef,
)

documents = [
    {"id": "doc1", "text": "Hello, world!"},
    {"id": "doc2", "text": "How are you today?"},
    {"id": "doc3", "text": "Goodbye, see you later!"},
    {
        "id": "doc4",
        "text": "Microsoft is a technology company that develops software.",
    },
    {
        "id": "doc5",
        "text": "Artificial intelligence (AI) refers to the simulation of human intelligence.",
    },
    {
        "id": "doc6",
        "text": "Machine Learning (ML) is a subset of AI.",
    },
    {
        "id": "doc7",
        "text": "Deep Learning is a subset of Machine Learning.",
    },
    {
        "id": "doc8",
        "text": "Natural Language Processing is a branch of AI.",
    }
]

for doc in documents:
    collection.upsert(ids=doc["id"], documents=doc["text"])

query_text = "find document related to technology company"

results = collection.query(
    query_texts=[query_text],
    n_results=2,
)

print(results)
复制代码

 

 

 

posted on   ZhangZhihuiAAA  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2024-02-11 VirtualBox - Increase video memory
2023-02-11 Chrome - set proxy only for chrome, not using system proxy
 
点击右上角即可分享
微信分享提示