Application RAG (Retrieval-Augmentaled Generation) pour offrir des questions et réponses sur un texte long en utilisant Openai et Elasticsearch. Nous voici
python -m venv venv source venv/bin/activatepip install -r requirements.txtpython -m spacy download en_core_web_smbin/elasticsearch (ou binelasticsearch.bat sur Windows)curl -X GET "localhost:9200/" dans Terminal Avant d'exécuter l'application, créez un fichier .env à l'aide de .env-template et ajoutez une clé API OpenAI et des informations d'identification ElasticSearch.
python run.py L'application commencera sur localhost sur le port 8081 . Vérification de la santé mentale en fonctionnant dans le terminal. Il doit retourner le message 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
}
}
}
} 'Si vous souhaitez supprimer l'index pour Clean Start, utilisez la commande suivante.
curl --location --request DELETE ' http://localhost:9200/first-index ' Pour indexer les données, utilisez la commande curl suivante. Cette commande envoie une demande de poste au point de terminaison spécifié avec une charge utile JSON contenant le texte à indexer et le nom de l'index.
Assurez-vous que le serveur fonctionne sur localhost sur le 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"
} 'Exemple 1:
curl --location --request POST ' localhost:8081/api/query '
--header ' Content-Type: application/json '
--data-raw ' {
"question": "Who is Ajeet?",
"index_name": "first-index"
} 'Exemple 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"
} '