CLI interaktif yang sangat mendasar untuk mengindeks dan menanyakan dokumen menggunakan file llama untuk penyematan dan pembuatan teks. Indeks didasarkan pada penyimpanan vektor FAISS. Model penyematan default adalah mxbai-embed-large-v1 (tautan llamafile) dan model pembuatan teks adalah mistral-7b-instruct-v0.2 (tautan llamafile). (Ini dapat diubah dengan mengedit setup.sh
.)
Pengaturan:
cp .env.example .env
./setup.sh
Skrip ini akan mengunduh file llama dari HuggingFace dan mungkin memerlukan waktu beberapa menit tergantung pada koneksi internet Anda.
CATATAN: skrip pengaturan memerlukan pyenv
Untuk memulai aplikasi, jalankan:
./app.sh
Saat Anda menjalankan aplikasi, itu akan:
toy_data/
ke dalam penyimpanan vektor ("indeks"). Isi direktori toy_data/
: 1.txt: Alice likes red squares.
2.txt: Bob likes blue circles.
3.txt: Chris likes blue triangles.
4.txt: David does not like green triangles.
5.txt: Mary does not like circles.
Enter query (ctrl-d to quit): [What does Alice like ? ] >
Jika Anda menekan Enter di sini, secara default kuerinya adalah "Apa yang disukai Alice?". Output aplikasi akan terlihat seperti:
=== Query ===
What does Alice like?
=== Search Results ===
0.7104 - " alice likes red squares ."
0.5229 - " bob likes blue circles ."
0.4088 - " chris likes blue triangles ."
=== Prompt ===
"You are an expert Q&A system. Answer the user's query using the provided context information.
Context information:
alice likes red squares .
bob likes blue circles .
chris likes blue triangles .
Query: What does Alice like?"
(prompt_ntokens: 55)
=== Answer ===
"
Answer: Alice likes red squares."
--------------------------------------------------------------------------------
Berikut beberapa pertanyaan lain yang dapat Anda coba:
Cukup banyak.
Anda dapat mengubah sebagian besar pengaturan aplikasi melalui file .env
. File default akan terlihat seperti:
EMBEDDING_MODEL_PORT=8080
GENERATION_MODEL_PORT=8081
INDEX_LOCAL_DATA_DIRS=local_data,toy_data
INDEX_TEXT_CHUNK_LEN=128
INDEX_SAVE_DIR=./index-toy
Lihat settings.py untuk semua opsi yang tersedia.
Secara default, aplikasi ini menggunakan:
Secara default, aplikasi dikonfigurasi untuk mengindeks konten direktori yang terdaftar di INDEX_LOCAL_DATA_DIRS
, yaitu local_data
dan toy_data
. Saat ini kami hanya mendukung pengindeksan file .txt
.
Pertama, di .env
Anda, ubah INDEX_SAVE_DIR
ke mana pun Anda ingin indeks Anda disimpan. Aplikasi tidak akan mengubah atau menimpa indeks yang ada, jadi ubah direktori di .env
atau hapus indeks yang ada di ./index-toy
.
Ada 2 cara untuk menambahkan data:
.txt
ke direktori local_data/
. Anda dapat menghapus toy_data/
dari daftar INDEX_LOCAL_DATA_DIRS
di file .env
kami. Anda juga dapat menambahkan direktori lain ke daftar INDEX_LOCAL_DATA_DIRS
.INDEX_URLS
var di file .env
Anda, misalnya INDEX_URLS=url1,url2,...
.