0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxy下でDefault Embeddingsによるchromadb.HttpClient実行

Posted at

問題概要

Proxy内でEmbeddings算出のため、chromadbを使用したい。Default Embedding FunctionによりEmbeddingsを算出したいが、
https://chroma-onnx-models.s3.amazonaws.com/
にアクセスできないエラーとなる。また、
us-api.i.posthog.com
へのアクセスもできないためこちらもエラーとなる。

背景情報

ネットワーク環境

  • proxy環境下でコンテンツフィルターがあり、us-api.i.posthog.com、chroma-onnx-models.s3.amazonaws.comへのアクセスが禁止されている。

実行環境

  • Ubuntu
  • Python 3.12.3
  • chromadb version 0.5.3

解決策の概要

https://chroma-onnx-models.s3.amazonaws.com/all-MiniLM-L6-v2/
からonnx.tar.gzを取得し、以下にコピーする。

~/.cache/chroma/onnx_models/all-MiniLM-L6-v2/

上記フォルダでtar xzf onnx.tar.gzなどとして展開すると、

~/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx

に必要なファイル群が配置される。
またHttpClientを作成するときに、Settingsでanonymized_telemetryをFalseにする。

import chromadb
from chromadb.config import Settings

config_settings = Settings(anonymized_telemetry=False)
chroma_client = chromadb.HttpClient(host='xxx.xxx.xxx.xxx', port=xxxx, settings=config_settings)
collection = chroma_client.get_or_create_collection(name="my_collection")

手順

  • posthogへの対策を実施してchromaサーバーを所定のホスト、ポートで起動しておく。
  • クライアント側でpip install chromadbをして、pythonプログラムを作成する。onnx.tar.gzの措置とanonymized_telemetryの措置を実施しておく。
  • 続きは、お好きなように。HttpClient経由で、collectionにたいしてquery/addなどできます。

結果

Proxy下でもchromadbを使用したdefault embedding functionでEmbeddingsを算出したりaddしたりできました。
次は独自のembedding functionを使用して使うことを検討します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?