RAG (geração de recuperação de recuperação) para oferecer perguntas e respostas em um texto de formato longo usando o OpenAI e Elasticsearch. Aqui estamos nós
python -m venv venv source venv/bin/activatepip install -r requirements.txtpython -m spacy download en_core_web_smbin/elasticsearch (ou binelasticsearch.bat no Windows)curl -X GET "localhost:9200/" no terminal Antes de executar o aplicativo, crie o arquivo .env usando .env-template e adicione as credenciais do OpenAI API e Elasticsearch.
python run.py O aplicativo começará no localhost na porta 8081 . Verificação de sanidade executando o terminal. Deve retornar a mensagem 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
}
}
}
} 'Se você deseja excluir o índice para começar limpo, use o seguinte comando.
curl --location --request DELETE ' http://localhost:9200/first-index ' Para indexar dados, use o seguinte comando curl . Este comando envia uma solicitação de postagem para o terminal especificado com uma carga útil JSON que contém o texto a ser indexado e o nome do índice.
Certifique -se de ter o servidor em execução no localhost na porta 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"
} 'Exemplo 1:
curl --location --request POST ' localhost:8081/api/query '
--header ' Content-Type: application/json '
--data-raw ' {
"question": "Who is Ajeet?",
"index_name": "first-index"
} 'Exemplo 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"
} '