Skip to content

vitorhcsousa/rag-llama3-elasticsearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAG with LlamaIndex, Elasticsearch and Llama3 🦙

Llama

This repository houses a powerful tool that blends Streamlit, Elasticsearch, and cutting-edge language models like Llama3. It's designed to simplify querying documents via conversation vectors embedded into a dynamic, user-friendly web interface.

Features 🌟

  • Document Upload: Upload JSON files with ease.
  • Efficient Search: Powered by Elasticsearch.
  • Natural Language Queries: Harness models like Llama3 to query using everyday language.
  • Interactive UI: Real-time updates and feedback.
  • Scalable: Built to manage extensive data volumes and complex queries.

Getting Started 🚀

Prerequisites

  • Python 3.8+
  • Elasticsearch 7.x+
  • Ollama
  • llama_index
  • Streamlit
  • poetry

Installation

Clone and set up the project:

git clone https://github.com/vitorhcsousa/rag-llama3-elasticsearch.git
cd rag-llama3-elasticsearch
poetry install

Usage

Launch the app:

poetry run streamlit run app.py

Structure 📂

  • app.py: The Streamlit application entry point.
  • index.py: Handles document indexing in Elasticsearch.
  • query.py: Manages the query engine setup and execution.
  • assets/: Static files like images for the UI.

Contributing 🤝

Interested in contributing? Great! Here's how:

  1. Fork the repo.
  2. Create your feature branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

This project has as reference:
"Using RAG with LlamaIndex and Elasticsearch", Elastic Search Labs Blog, available at: https://www.elastic.co/search-labs/blog/rag-with-llamaIndex-and-elasticsearch. ↩

About

RAG with LlamaIndex, Elasticsearch and Llama3 Hands-On

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages