Anwendung von RAG (ARRAVEAL-AUGmented Generation), um Fragen und Antworten auf einem Langformattext mit OpenAI und Elasticsearch anzubieten. Hier sind wir
python -m venv venv source venv/bin/activatepip install -r requirements.txtpython -m spacy download en_core_web_smbin/elasticsearch (oder binelasticsearch.bat unter Windows)curl -X GET "localhost:9200/" im Terminal Erstellen Sie vor der Ausführung der App .env Datei mit .env-template und fügen Sie den OpenAI-API-Schlüssel und die Elasticsearch-Anmeldeinformationen hinzu.
python run.py Die App startet in localhost auf Port 8081 . Vernunftprüfung durch Laufen im Terminal. Es sollte Hello -Nachricht zurückgeben.
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
}
}
}
} 'Wenn Sie den Index für sauberes Start löschen möchten, verwenden Sie den folgenden Befehl.
curl --location --request DELETE ' http://localhost:9200/first-index ' Verwenden Sie zum Index von Daten den folgenden curl -Befehl. Dieser Befehl sendet eine Postanforderung an den angegebenen Endpunkt mit einer JSON -Nutzlast, die den zu indizierenden Text und den Namen des Index enthält.
Stellen Sie sicher, dass der Server auf localhost auf Port 8081 ausgeführt wird.
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"
} 'Beispiel 1:
curl --location --request POST ' localhost:8081/api/query '
--header ' Content-Type: application/json '
--data-raw ' {
"question": "Who is Ajeet?",
"index_name": "first-index"
} 'Beispiel 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"
} '