https://github.com/deepset-ai/opea-haystack-demo

https://github.com/deepset-ai/opea-haystack-demo

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary
Last synced: 5 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: deepset-ai
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 1.68 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Demopalooza: Practical RAG with OPEA and Haystack

image

This Streamlit app is set up for simple Haystack and OPEA applications. The template is ready to perform Retrieval Augmented Generation with three different retrieval methods on example files.

See the 'How to use this template' instructions below to create a simple UI for your own Haystack search pipelines.

Installation and Running

To run the bare application: 1. Install requirements: pip install -r requirements.txt 2. Make sure that your OPEA microservices are running 3. Run the streamlit app: streamlit run app.py

This will start the app on localhost:8501, where you will find a simple search bar.

How to use this template

  1. Create a new repository from this template or simply open it in a codespace to start playing around 💙
  2. Make sure your requirements.txt file includes the Haystack (haystack-ai) and Streamlit versions you would like to use.
  3. Change the code in utils/haystack.py if you would like a different pipeline.
  4. Create a .env file with all of your configuration settings.
  5. Make any UI edits if you'd like to.
  6. Run the app as show in installation and running

Repo structure

  • ./utils: This is where we have 2 files:
    • haystack.py: Here you will find some functions already set up for you to start creating your Haystack search pipeline. It includes 2 main functions called start_haystack_pipeline() which is what we use to create a pipeline and cache it, and query() which is the function called by app.py once a user query is received.
    • ui.py: Use this file for any UI and initial value setups.
  • app.py: This is the main Streamlit application file that we will run. In its current state it has a sidebar, a simple search bar, a 'Run' button, and a response.
  • ./files: You can use this folder to store files to be indexed.

What to edit?

There are default pipelines both in start_document_store() and start_haystack_pipeline(). Change the pipelines to use different document stores, embedding and generative models or update the pipelines as you need. Check out 📚 Useful Resources section for details.

📚 Useful Resources

Owner

  • Name: deepset
  • Login: deepset-ai
  • Kind: organization
  • Email: hello@deepset.ai
  • Location: Berlin, Germany

Building enterprise search systems powered by latest NLP & open-source.

GitHub Events

Total
  • Watch event: 1
  • Member event: 1
  • Push event: 5
  • Create event: 2
Last Year
  • Watch event: 1
  • Member event: 1
  • Push event: 5
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago


Dependencies

requirements.txt pypi
  • datasets *
  • haystack-ai ==2.9.0
  • lmnt *
  • markdown-it-py *
  • mdit_plain *
  • mistral-haystack *
  • nltk *
  • pypdf *
  • python-dotenv *
  • sentence-transformers >=3.0.0
  • streamlit ==1.41.1
  • weaviate-haystack *