Aplikasi RAG (Retrieval-Augmented Generation) untuk menawarkan T&J pada teks format panjang menggunakan OpenAi dan Elasticsearch. Di sinilah kita
python -m venv venv source venv/bin/activatepip install -r requirements.txtpython -m spacy download en_core_web_smbin/elasticsearch (atau binelasticsearch.bat di windows)curl -X GET "localhost:9200/" di Terminal Sebelum menjalankan aplikasi, buat file .env menggunakan .env-template dan tambahkan kredensial OpenAI API Key dan Elasticsearch.
python run.py Aplikasi akan mulai di localhost di port 8081 . Periksa kewarasan dengan berjalan di terminal. Itu harus mengembalikan pesan Hello .
curl -X GET " localhost:8081 " curl --location --request PUT ' http://localhost:9200/first-index '
--header ' Content-Type: application/json '
--data-raw ' {
"mappings": {
"properties": {
"text": {
"type": "text"
},
"embedding": {
"type": "dense_vector",
"dims": 1536
}
}
}
} 'Jika Anda ingin menghapus indeks untuk awal yang bersih, gunakan perintah berikut.
curl --location --request DELETE ' http://localhost:9200/first-index ' Untuk mengindeks data, gunakan perintah curl berikut. Perintah ini mengirimkan permintaan posting ke titik akhir yang ditentukan dengan muatan JSON yang berisi teks yang akan diindeks dan nama indeks.
Pastikan Anda memiliki server yang berjalan di localhost di port 8081 .
curl --location --request POST ' localhost:8081/api/index '
--header ' Content-Type: application/json '
--data-raw ' {
"text": "Ajeet is an engineer turned product entrepreneur with experience in AI, SaaS, HealthTech and EdTech. He is a technology enthusiast and loves to work on new technologies. He was a founding member of leading health-tech startups HealthKart and TATA 1mg in India. He was the founder of Joe Hukum, a chatbot platform which was acquired by Freshworks. After Freshworks, he founded Seekho.ai to solve for the skill gap in Indian higher education. Currently, he is on a break and is exploring GenAI to solve for the next meaningful problem. He is passionate about solving zero to one problems and building products that can impact millions of lives.",
"index_name": "first-index"
} 'Contoh 1:
curl --location --request POST ' localhost:8081/api/query '
--header ' Content-Type: application/json '
--data-raw ' {
"question": "Who is Ajeet?",
"index_name": "first-index"
} 'Contoh 2:
curl --location --request POST ' localhost:8081/api/query '
--header ' Content-Type: application/json '
--data-raw ' {
"question": "Joe Hukum was acquired by which company?",
"index_name": "first-index"
} '