elasticsearch-labs
elasticsearch-labs copied to clipboard
Notebooks & Example Apps for Search & AI Applications with Elasticsearch
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
- Chatbot RAG App
- Internal Knowledge Search
- Relevance Workbench
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
question-answering.ipynbchatbot.ipynb
LangChain
question-answering.ipynblangchain-self-query-retriever.ipynbQuestion Answering with Self Query RetrieverBM25 and Self-querying retriever with elasticsearch and LangChainlangchain-vector-store.ipynblangchain-vector-store-using-elser.ipynblangchain-using-own-model.ipynb
Document Chunking
Document Chunking with Ingest PipelinesDocument Chunking with LangChain SplittersCalculating tokens for Semantic Search (ELSER and E5)
Search
00-quick-start.ipynb01-keyword-querying-filtering.ipynb02-hybrid-search.ipynb03-ELSER.ipynb04-multilingual.ipynb05-query-rules.ipynb06-synonyms-api.ipynb
Integrations
loading-model-from-hugging-face.ipynbopenai-semantic-search-RAG.ipynbamazon-bedrock-langchain-qa-example.ipynbSemantic Search using the Inference API with the Cohere Service
Model Upgrades
upgrading-index-to-use-elser.ipynb
Contributing 🎁
See contributing guidelines.
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").