GitHub - elastic/elasticsearch-labs: Notebooks & Example Apps for Search & AI Applications with Elasticsearch (original) (raw)
Elasticsearch Examples & Apps
Visit Search Labs for the latest articles and tutorials on using Elasticsearch for search and AI/ML-powered search experiences
This repo contains executable Python notebooks, sample apps, and resources for testing out the Elastic platform:
- Learn how to use Elasticsearch as a vector database to store embeddings, power hybrid and semantic search experiences.
- Build use cases such as retrieval augmented generation (RAG), summarization, and question answering (QA).
- Test Elastic's leading-edge, out-of-the-box capabilities like the Elastic Learned Sparse Encoder and reciprocal rank fusion (RRF), which produce best-in-class results without training or tuning.
- Integrate with projects like OpenAI, Hugging Face, and LangChain, and use Elasticsearch as the backbone of your LLM-powered applications.
Elastic enables all modern search experiences powered by AI/ML.
- Bookmark or subscribe to Elasticsearch Labs on Github
- Read our latest articles at elastic.co/search-labs
Apps
Python notebooks 📒
The notebooks folder contains a range of executable Python notebooks, so you can test these features out for yourself. Colab provides an easy-to-use Python virtual environment in the browser.
Generative AI
Playground RAG Notebooks
Try out Playground in Kibana with the following notebooks:
LangChain
- question-answering.ipynb
- langchain-self-query-retriever.ipynb
- Question Answering with Self Query Retriever
- BM25 and Self-querying retriever with elasticsearch and LangChain
- langchain-vector-store.ipynb
- langchain-vector-store-using-elser.ipynb
- langchain-using-own-model.ipynb
Document Chunking
- Document Chunking with Ingest Pipelines
- Document Chunking with LangChain Splitters
- Calculating tokens for Semantic Search (ELSER and E5)
- Fetch surrounding chunks
Search
- 00-quick-start.ipynb
- 01-keyword-querying-filtering.ipynb
- 02-hybrid-search.ipynb
- 03-ELSER.ipynb
- 04-multilingual.ipynb
- 05-query-rules.ipynb
- 06-synonyms-api.ipynb
- 07-inference.ipynb
- 08-learning-to-rank.ipynb
- 09-semantic-text.ipynb
Semantic reranking
Integrations
- loading-model-from-hugging-face.ipynb
- openai-semantic-search-RAG.ipynb
- amazon-bedrock-langchain-qa-example.ipynb
- Semantic Search using the Inference API with the Cohere Service
Model Upgrades
Contributing 🎁
Support 🛟
The Search team at Elastic maintains this repository and is happy to help.
Official Support Services
If you have an Elastic subscription, you are entitled to Support services for your Elasticsearch deployment. See our welcome page for working with our support team. These services do not apply to the sample application code contained in this repository.
Discuss Forum
Try posting your question to the Elastic discuss forums and tag it with #esre-elasticsearch-relevance-engine
Elastic Slack
You can also find us in the #search-esre-relevance-engine channel of the Elastic Community Slack
License ⚖️
This software is licensed under the Apache License, version 2 ("ALv2").