Basis data vektor memungkinkan pencarian kesamaan yang efisien dan pengindeksan data dimensi tinggi. Database vektor sangat berguna untuk aplikasi pembelajaran mesin, di mana titik data sering direpresentasikan sebagai vektor dimensi tinggi. Basis data ini memungkinkan pengguna untuk melakukan pencarian kesamaan berdasarkan embeddings dari titik data, membuatnya lebih mudah untuk menemukan informasi yang relevan berdasarkan konten atau fitur.
Dalam proyek contoh ini, saya telah menggunakan Weaviate sebagai database vektor dan integrasinya dengan embedder openai ( text-embedding-ada-002-v2 ) untuk membuat dan menyimpan vektor dataset. Sebagai contoh dataset, saya telah mengikis semua kombinator y dari situs web mereka (4000+ perusahaan) dan membuat vektor dari datapoint utama (lihat /examples/y-combinator/schema.json untuk lebih jelasnya). Saya juga telah mengunggah dataset ke Kaggle.
Sebagai contoh kedua, saya telah mengunduh dataset karakter Lord of the Rings dari Kaggle, yang dibuat oleh Paul Mooney.
Buat file .env di direktori root dan tambahkan variabel: openai_apikey dan data_path. Variabel data_path harus menjadi jalur ke direktori data:
OPENAI_APIKEY=XXXXXXXXXXXXXXXXX
DATA_PATH=C:Usersyour-user-namepathtoprojectdata
Untuk menggunakan kode ini, Anda harus menginstal dependensi menggunakan:
npm install
Untuk menggunakan database, Anda perlu mengatur instance Docker dari database.
docker-compose up -d --build
Mengisi database Weaviate (pastikan Docker sedang berjalan). Anda dapat menggunakan salah satu contoh set data yang disediakan di Direktori /examples (saat ini y-combinator dan lotr-character ).
Running populate akan membuat database Weaviate dengan data dari Contoh Dataset (dan menghapus data yang ada dengan kelas yang sama). Saya membayar ~ $ 0,20 dalam penggunaan openai untuk mengisi dataset Y Combinator
npm run populate --dataset=<example-name>
Jika berhasil, Anda dapat dengan mudah melihat dan meminta data Anda melalui Weaviate GraphQL API. Anda dapat menggunakan kotak pasir Apollo GraphQL untuk menjelajahi data dan menjalankan kueri. Cukup masukkan URL grafik ( http://localhost:8080/v1/graphql ).
Jika Anda ingin bersenang -senang ekstra, Anda dapat menggunakan proyektor embedding TensorFlow untuk memvisualisasikan data Anda. Untuk mendapatkan file .tsv yang diperlukan Gunakan perintah berikut (akan menempatkannya di dalam folder /example/<example-name> ):
npm run tsv --dataset=<example-name>
Ini dapat diunggah ke situs web untuk memvisualisasikan data Anda.
Untuk membuat data Anda sendiri, ikuti contoh:
/examples dengan nama dataset Anda.schema.json di root folder dataset Anda. File ini harus berisi skema data Anda.data.json di root folder dataset Anda. File ini harus berisi data dataset Anda.npm run populate --dataset=<your-dataset-name> Untuk mengisi database dengan data Anda.