Client Side and Filtering in collection
Kali ini kita akan mencoba untuk mengakses chromadb melalui http network menggunakan HttpClient
. Selain itu kita juga akan mencoba menggunakan filtering pada documents atau pada metadata.
Sumber pemebelajaran dan dokumentasi resmi Chrome
dapat diakses di https://www.trychroma.com/
Source code hands-on ada pada https://github.com/muhammadfarras/Learn-Chroma
Run Chroma in server Mode
Untuk menajalankan chroma sebagai server, kita dapat menggunakan syntax chroma --run --path {path dari persistance db}
pada terminal atau CMD.
Info
Gunakan chroma --help
untuk melihat daftar parameter yang tersedia dan manfaatnya.
Code
chroma run --port 9000 --path data_vector/persistance1
((((((((( (((((####
((((((((((((((((((((((#########
((((((((((((((((((((((((###########
((((((((((((((((((((((((((############
(((((((((((((((((((((((((((#############
(((((((((((((((((((((((((((#############
(((((((((((((((((((((((((##############
((((((((((((((((((((((((##############
(((((((((((((((((((((#############
((((((((((((((((##############
((((((((( #########
Saving data to: data_vector/persistance1
Connect to Chroma at: http://localhost:9000
Getting started guide: https://docs.trychroma.com/docs/overview/getting-started
OpenTelemetry is not enabled because it is missing from the config.
Listening on localhost:9000
Accsess Chroma on another server
Untuk terkoneksi ke chroma sever kita dapat menggunakan method HttpClient
. Method ini membutuhkan 2 parameter wajib, path untuk menunjukan lokasi fisik vector database dan port port chroma server berjalan. Selain kedua port tersebut ada satu lagi parameter yaitu host, namun jika parameter kosong nilai bawaan adalah localhost.
Code
# Persistance client
persistance_client = chromadb.HttpClient(host='localhost', port=9000)
# Mengambil collection yang seudah ada
collection = persistance_client.get_collection(
'Peraturan_ketiga',
embedding_function=ef_googleAI
)
## Mneampilkan objek collection
pp(collection.get_model().metadata)
print(f"\r\nQuery pertama",end="\r\n")
## {'creator': "Muhammad Farras Ma'ruf", 'at_place': 'Kebunsu Bogor'}
Query menggunakan filter pada metadata
Saat meng-query sebuah collection kita juga dapat menggunakan filtering pada documents
ataupun pada metadata
. Ada beberapa operator yang dapat digunakan diantaranya;