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
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
Metadata Files
README.md
Demopalooza: Practical RAG with OPEA and Haystack
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
- Create a new repository from this template or simply open it in a codespace to start playing around 💙
- Make sure your
requirements.txtfile includes the Haystack (haystack-ai) and Streamlit versions you would like to use. - Change the code in
utils/haystack.pyif you would like a different pipeline. - Create a
.envfile with all of your configuration settings. - Make any UI edits if you'd like to.
- 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 calledstart_haystack_pipeline()which is what we use to create a pipeline and cache it, andquery()which is the function called byapp.pyonce 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
- Website: https://deepset.ai
- Twitter: deepset_ai
- Repositories: 14
- Profile: https://github.com/deepset-ai
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
- 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 *