🦁
chromadb使い方メモ
事前準備
ライブラリinstall
pip install charomadb
実装
import chromadb
クライアント取得
# inmemoryでクライアント取得
# chroma_client = chromadb.Client()
# 永続化データから取得
chroma_client = chromadb.PersistentClient(path="./db/chromadb")
コレクション取得。無ければ作成
collection = chroma_client.get_or_create_collection("testdb")
永続化データ利用時は取得時にimportしているような挙動
大量データはサーバーモードで利用する方が良さそう。
データを登録する
①テキストデータで登録
documents = [
"テキスト1",
"テキスト2",
"テキスト3",
"テキスト4",
"テキスト5",
"テキスト6",
"テキスト7",
"テキスト8",
"テキスト9",
"テキスト10"
]
collection.add(
documents=documents,
metadatas = [{"source": "mysrc",},{"source": "mysrc",}],
ids = ["id1", "id2", "id3", "id4", "id5", "id6", "id7", "id8", "id9", "id10"]
)
テキストを検索
result = collection.query(
query_texts=["ほげほげ"],
n_results=2
)
print(result)
idで取得
result = collection.get(
ids=['id1', 'id2', 'id3']
)
print(result)
更新
collection.update(
ids=['id1', 'id2', 'id3'],
metadatas=[{"sorce": "最新情報"}]
)
コレクションにidが見つからない場合、エラーが記録され、更新は無視されます。
Discussion