elastic/elasticsearch-labs

GitHub: elastic/elasticsearch-labs

Elastic 官方的 Elasticsearch 搜索与 AI 应用示例仓库,提供可执行 Notebook 和示例应用以帮助开发者快速上手向量搜索、RAG 及混合检索等场景。

Stars: 1106 | Forks: 270

# Elasticsearch 示例与应用 **访问 [Search Labs](https://www.elastic.co/search-labs),获取有关使用 Elasticsearch 进行搜索以及 AI/ML 驱动的搜索体验的最新文章和教程** 此仓库包含可执行的 Python notebook、示例应用以及用于测试 Elastic 平台的资源: - 了解如何将 Elasticsearch 作为向量数据库来存储 embedding,以支持混合和语义搜索体验。 - 构建检索增强生成 (RAG)、摘要和问答 (QA) 等用例。 - 测试 Elastic 前沿的开箱即用功能,例如 [Elastic Learned Sparse Encoder](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html) 和 [reciprocal rank fusion (RRF)](),无需训练或调优即可产生同类最佳的搜索结果。 - 与 OpenAI、Hugging Face 和 LangChain 等项目集成,并将 Elasticsearch 作为 LLM 驱动应用的核心骨干。 Elastic 支持所有由 AI/ML 驱动的现代搜索体验。 - 收藏或订阅 [Github 上的 Elasticsearch Labs](https://github.com/elastic/elasticsearch-labs) - 在 [elastic.co/search-labs](https://www.elastic.co/search-labs) 阅读我们的最新文章 # 应用 - [Chatbot RAG 应用](./example-apps/chatbot-rag-app/) - [内部知识搜索](./example-apps/internal-knowledge-search) - [相关性工作台](./example-apps/relevance-workbench) # Python notebook 📒 [`notebooks`](notebooks/README.md) 文件夹包含一系列可执行的 Python notebook,方便您亲自测试这些功能。Colab 提供了一个易于使用的浏览器内 Python 虚拟环境。 ### 生成式 AI - [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb) - [`chatbot.ipynb`](./notebooks/generative-ai/chatbot.ipynb) ### Playground RAG Notebook 使用以下 notebook 在 Kibana 中试用 Playground: - [`OpenAI 示例`](./notebooks/playground-examples/openai-elasticsearch-client.ipynb) - [`Anthropic Claude 3 示例`](./notebooks/playground-examples/bedrock-anthropic-elasticsearch-client.ipynb) ### LangChain - [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb) - [`langchain-self-query-retriever.ipynb`](./notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb) - [`使用 Self Query Retriever 进行问答`](./notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb) - [`结合 elasticsearch 和 LangChain 的 BM25 与 Self-querying retriever`](./notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb) - [`langchain-vector-store.ipynb`](./notebooks/langchain/langchain-vector-store.ipynb) - [`langchain-vector-store-using-elser.ipynb`](./notebooks/langchain/langchain-vector-store-using-elser.ipynb) - [`langchain-using-own-model.ipynb`](./notebooks/langchain/langchain-using-own-model.ipynb) ### 文档分块 - [`使用 Ingest Pipelines 进行文档分块`](./notebooks/document-chunking/with-index-pipelines.ipynb) - [`使用 LangChain Splitters 进行文档分块`](./notebooks/document-chunking/with-langchain-splitters.ipynb) - [`为语义搜索计算 token (ELSER 和 E5)`](./notebooks/document-chunking/tokenization.ipynb) - [`获取相邻分块`](./supporting-blog-content/fetch-surrounding-chunks/fetch-surrounding-chunks.ipynb) ### 搜索 - [`00-quick-start.ipynb`](./notebooks/search/00-quick-start.ipynb) - [`01-keyword-querying-filtering.ipynb`](./notebooks/search/01-keyword-querying-filtering.ipynb) - [`02-hybrid-search.ipynb`](./notebooks/search/02-hybrid-search.ipynb) - [`03-ELSER.ipynb`](./notebooks/search/03-ELSER.ipynb) - [`04-multilingual.ipynb`](./notebooks/search/04-multilingual.ipynb) - [`05-query-rules.ipynb`](./notebooks/search/05-query-rules.ipynb) - [`06-synonyms-api.ipynb`](./notebooks/search/06-synonyms-api.ipynb) - [`07-inference.ipynb`](./notebooks/search/07-inference.ipynb) - [`08-learning-to-rank.ipynb`](./notebooks/search/08-learning-to-rank.ipynb) - [`09-semantic-text.ipynb`](./notebooks/search/09-semantic-text.ipynb) #### 语义重排序 - [`10-semantic-reranking-retriever-cohere.ipynb`](./notebooks/search/10-semantic-reranking-retriever-cohere.ipynb) - [`11-semantic-reranking-hugging-face.ipynb`](./notebooks/search/11-semantic-reranking-hugging-face.ipynb) ### 集成 - [`loading-model-from-hugging-face.ipynb`](./notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb) - [`openai-semantic-search-RAG.ipynb`](./notebooks/integrations/openai/openai-KNN-RAG.ipynb) - [`amazon-bedrock-langchain-qa-example.ipynb`](notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb) - [`通过 Cohere 服务使用 Inference API 进行语义搜索`](/notebooks/integrations/cohere/inference-cohere.ipynb) ### 模型升级 - [`upgrading-index-to-use-elser.ipynb`](notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb) # 支持 🛟 Elastic 的 Search 团队负责维护此仓库,并非常乐意为您提供帮助。 ### 官方支持服务 如果您拥有 Elastic 订阅,您将有权就您的 Elasticsearch 部署获得支持服务。请参阅我们的欢迎页面以了解有关[与我们的支持团队合作](https://www.elastic.co/support/welcome)的详细信息。 这些服务不适用于本仓库中包含的示例应用程序代码。 ### 讨论论坛 尝试将您的问题发布到 [Elastic 讨论论坛](https://discuss.elastic.co/) 并为其打上 [#esre-elasticsearch-relevance-engine](https://discuss.elastic.co/tag/esre-elasticsearch-relevance-engine) 标签 ### Elastic Slack 您也可以在 [Elastic Community Slack](http://elasticstack.slack.com) 的 [#search-esre-relevance-engine](https://elasticstack.slack.com/archives/C05CED61S9J) 频道中找到我们 # 许可证 ⚖️ 本软件根据 [Apache License, version 2 ("ALv2")](https://github.com/elastic/elasticsearch-labs/blob/main/LICENSE) 获得许可。
标签:DLL 劫持, Elasticsearch, IaC 扫描, Python Notebook, 向量数据库, 大语言模型, 检索增强生成, 示例应用, 语义搜索, 越狱测试, 逆向工具