{"id":13837744,"url":"https://github.com/elastic/elasticsearch-labs","last_synced_at":"2025-04-11T04:26:41.791Z","repository":{"id":175360941,"uuid":"653773074","full_name":"elastic/elasticsearch-labs","owner":"elastic","description":"Notebooks \u0026 Example Apps for Search \u0026 AI Applications with Elasticsearch","archived":false,"fork":false,"pushed_at":"2025-04-11T03:21:40.000Z","size":120115,"stargazers_count":817,"open_issues_count":36,"forks_count":212,"subscribers_count":207,"default_branch":"main","last_synced_at":"2025-04-11T04:24:12.639Z","etag":null,"topics":["ai","applications","chatgpt","chatlog","elastic","elasticsearch","genai","genaistack","langchain","langchain-python","openai","openai-chatgpt","python","search","vector","vectordatabase"],"latest_commit_sha":null,"homepage":"https://www.elastic.co/search-labs","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elastic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"supporting-blog-content/Boston-Celtics-Demo/celtics-esql-demo.ipynb","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-14T17:50:22.000Z","updated_at":"2025-04-10T23:16:49.000Z","dependencies_parsed_at":"2023-09-26T22:27:54.092Z","dependency_job_id":"611a6eab-e461-4813-9ec1-fb42079dd2a3","html_url":"https://github.com/elastic/elasticsearch-labs","commit_stats":{"total_commits":425,"total_committers":55,"mean_commits":"7.7272727272727275","dds":0.8752941176470588,"last_synced_commit":"53801c38873664d17aa9d8bae107a9945a644820"},"previous_names":["elastic/elasticsearch-labs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Felasticsearch-labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Felasticsearch-labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Felasticsearch-labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Felasticsearch-labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elastic","download_url":"https://codeload.github.com/elastic/elasticsearch-labs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248341578,"owners_count":21087685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","applications","chatgpt","chatlog","elastic","elasticsearch","genai","genaistack","langchain","langchain-python","openai","openai-chatgpt","python","search","vector","vectordatabase"],"created_at":"2024-08-04T15:01:23.516Z","updated_at":"2025-04-11T04:26:41.769Z","avatar_url":"https://github.com/elastic.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook","Learning Resources"],"sub_categories":["Tutorials"],"readme":"# Elasticsearch Examples \u0026 Apps\n\n**Visit [Search Labs](https://www.elastic.co/search-labs) for the latest articles and tutorials on using Elasticsearch for search and AI/ML-powered search experiences**\n\nThis repo contains executable Python notebooks, sample apps, and resources for testing out the Elastic platform:\n\n- Learn how to use Elasticsearch as a vector database to store embeddings, power hybrid and semantic search experiences.\n- Build use cases such as retrieval augmented generation (RAG), summarization, and question answering (QA).\n- Test Elastic's leading-edge, out-of-the-box capabilities like the [Elastic Learned Sparse Encoder](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html) and [reciprocal rank fusion (RRF)](\u003chttps://www.elastic.co/blog/whats-new-elastic-enterprise-search-8-9-0#hybrid-search-with-reciprocal-rank-fusion-(rrf)-combines-multiple-search-techniques-for-better-results\u003e), which produce best-in-class results without training or tuning.\n- Integrate with projects like OpenAI, Hugging Face, and LangChain, and use Elasticsearch as the backbone of your LLM-powered applications.\n\nElastic enables all modern search experiences powered by AI/ML.\n\n- Bookmark or subscribe to [Elasticsearch Labs on Github](https://github.com/elastic/elasticsearch-labs)\n- Read our latest articles at [elastic.co/search-labs](https://www.elastic.co/search-labs)\n\n# Apps\n\n- [Chatbot RAG App](./example-apps/chatbot-rag-app/)\n- [Internal Knowledge Search](./example-apps/internal-knowledge-search)\n- [Relevance Workbench](./example-apps/relevance-workbench)\n\n# Python notebooks 📒\n\nThe [`notebooks`](notebooks/README.md) 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.\n\n### Generative AI\n\n- [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb)\n- [`chatbot.ipynb`](./notebooks/generative-ai/chatbot.ipynb)\n\n### Playground RAG Notebooks\n\nTry out Playground in Kibana with the following notebooks:\n\n- [`OpenAI Example`](./notebooks/playground-examples/openai-elasticsearch-client.ipynb)\n- [`Anthropic Claude 3 Example`](./notebooks/playground-examples/bedrock-anthropic-elasticsearch-client.ipynb)\n\n### LangChain\n\n- [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb)\n- [`langchain-self-query-retriever.ipynb`](./notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb)\n- [`Question Answering with Self Query Retriever`](./notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb)\n- [`BM25 and Self-querying retriever with elasticsearch and LangChain`](./notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb)\n- [`langchain-vector-store.ipynb`](./notebooks/langchain/langchain-vector-store.ipynb)\n- [`langchain-vector-store-using-elser.ipynb`](./notebooks/langchain/langchain-vector-store-using-elser.ipynb)\n- [`langchain-using-own-model.ipynb`](./notebooks/langchain/langchain-using-own-model.ipynb)\n\n### Document Chunking\n\n- [`Document Chunking with Ingest Pipelines`](./notebooks/document-chunking/with-index-pipelines.ipynb)\n- [`Document Chunking with LangChain Splitters`](./notebooks/document-chunking/with-langchain-splitters.ipynb)\n- [`Calculating tokens for Semantic Search (ELSER and E5)`](./notebooks/document-chunking/tokenization.ipynb)\n- [`Fetch surrounding chunks`](./supporting-blog-content/fetch-surrounding-chunks/fetch-surrounding-chunks.ipynb)\n\n### Search\n\n- [`00-quick-start.ipynb`](./notebooks/search/00-quick-start.ipynb)\n- [`01-keyword-querying-filtering.ipynb`](./notebooks/search/01-keyword-querying-filtering.ipynb)\n- [`02-hybrid-search.ipynb`](./notebooks/search/02-hybrid-search.ipynb)\n- [`03-ELSER.ipynb`](./notebooks/search/03-ELSER.ipynb)\n- [`04-multilingual.ipynb`](./notebooks/search/04-multilingual.ipynb)\n- [`05-query-rules.ipynb`](./notebooks/search/05-query-rules.ipynb)\n- [`06-synonyms-api.ipynb`](./notebooks/search/06-synonyms-api.ipynb)\n- [`07-inference.ipynb`](./notebooks/search/07-inference.ipynb)\n- [`08-learning-to-rank.ipynb`](./notebooks/search/08-learning-to-rank.ipynb)\n- [`09-semantic-text.ipynb`](./notebooks/search/09-semantic-text.ipynb)\n\n#### Semantic reranking\n\n- [`10-semantic-reranking-retriever-cohere.ipynb`](./notebooks/search/10-semantic-reranking-retriever-cohere.ipynb)\n- [`11-semantic-reranking-hugging-face.ipynb`](./notebooks/search/11-semantic-reranking-hugging-face.ipynb)\n\n### Integrations\n\n- [`loading-model-from-hugging-face.ipynb`](./notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb)\n- [`openai-semantic-search-RAG.ipynb`](./notebooks/integrations/openai/openai-KNN-RAG.ipynb)\n- [`amazon-bedrock-langchain-qa-example.ipynb`](notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb)\n- [`Semantic Search using the Inference API with the Cohere Service`](/notebooks/integrations/cohere/inference-cohere.ipynb)\n\n### Model Upgrades\n\n- [`upgrading-index-to-use-elser.ipynb`](notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb)\n\n# Contributing 🎁\n\nSee [contributing guidelines](CONTRIBUTING.md).\n\n# Support 🛟\n\nThe Search team at Elastic maintains this repository and is happy to help.\n\n### Official Support Services\n\nIf 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](https://www.elastic.co/support/welcome).\nThese services do not apply to the sample application code contained in this repository.\n\n### Discuss Forum\n\nTry posting your question to the [Elastic discuss forums](https://discuss.elastic.co/) and tag it with [#esre-elasticsearch-relevance-engine](https://discuss.elastic.co/tag/esre-elasticsearch-relevance-engine)\n\n### Elastic Slack\n\nYou can also find us in the [#search-esre-relevance-engine](https://elasticstack.slack.com/archives/C05CED61S9J) channel of the [Elastic Community Slack](http://elasticstack.slack.com)\n\n# License ⚖️\n\nThis software is licensed under the [Apache License, version 2 (\"ALv2\")](https://github.com/elastic/elasticsearch-labs/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastic%2Felasticsearch-labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felastic%2Felasticsearch-labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastic%2Felasticsearch-labs/lists"}