AI 驱动的搜索
《AI 驱动的搜索》一书的代码示例,作者为 Trey Grainger、Doug Turnbull 和 Max Irwin。由 Manning Publications 出版。
书籍概述
《AI 驱动的搜索》教你最新的机器学习技术,以构建能够不断从用户和内容中学习的搜索引擎,从而驱动更加领域感知和智能的搜索。
搜索引擎技术正在快速发展,人工智能(AI)推动了大部分创新。众包相关性和大型语言模型(LLMs)如 GPT 等基础模型的整合正在大幅加速搜索技术的能力和期望。
AI 驱动的搜索将教你现代的、数据科学驱动的搜索技术,如:
- 使用基础模型的密集向量嵌入进行语义搜索
- 检索增强生成
- 结合搜索和 LLMs 的问答和摘要
- 微调基于 transformer 的 LLMs
- 基于用户信号和向量嵌入的个性化搜索
- 收集用户行为信号并构建信号提升模型
- 用于特定领域学习的语义知识图谱
- 实现机器学习排序模型(学习排序)
- 构建点击模型以自动化机器学习排序
- 生成式搜索、混合搜索和搜索前沿
如今的搜索引擎需要具备智能,理解自然语言查询的细微差别,以及每个用户的偏好和上下文。本书使你能够构建利用用户交互和内容中隐藏的语义关系的搜索引擎,自动提供更好、更相关的搜索体验。
如何运行
为了简化设置,所有代码都以 Jupyter Notebooks 的形式提供,并打包在 Docker 容器中。这意味着只需安装 Docker,然后拉取(或构建)并运行本书的 Docker 容器即可完成所有必要的设置。本书的附录 A 提供了运行代码示例的完整分步说明,但你可以运行以下命令快速启动:
如果你还没有将源代码拉取到本地,请运行:
git clone https://github.com/treygrainger/ai-powered-search.git
然后,要构建并启动带有交互式 Jupyter notebooks 的代码库,请运行:
cd ai-powered-search
docker compose up
就这么简单!一旦容器构建完成并运行(这可能需要一些时间,特别是首次构建时),访问:
http://localhost:8888
以启动 Welcome notebook,查看本书所有实时代码示例的目录。
支持的技术
AI 驱动的搜索教授许多利用机器学习方法的现代搜索技术。虽然我们使用特定技术来演示概念,但大多数技术适用于许多现代搜索引擎和向量数据库。
在本书中,所有代码示例都使用 Python,PySpark(Apache Spark 的 Python 接口)被大量用于数据处理任务。本书示例默认使用的搜索引擎是 Apache Solr,但大多数示例都抽象于特定搜索引擎之外,不久将为大多数流行的搜索引擎和向量数据库提供可替换的实现。有关搜索引擎抽象和自定义集成的更多信息,请查看 引擎文档。
查看完整列表:支持的搜索引擎和向量数据库
[注意:如果你在搜索引擎/向量数据库公司、项目或托管提供商工作,并希望与我们合作支持你的引擎,请联系 trey@searchkernel.com]
问题和帮助
购买《AI 驱动的搜索》包括在线访问 Manning 的 LiveBook 论坛。这使你可以对书中的任何部分提供评论和提问。此外,欢迎在项目的官方 Github 仓库 https://github.com/treygrainger/ai-powered-search 提交拉取请求、Github 问题或评论。
许可
除非另有说明,本仓库中的所有代码均在 Apache License, Version 2.0 (ASL 2.0) 下开源。
请注意,执行代码时可能会拉取遵循其他许可的额外依赖项,因此在项目中使用它们之前,请务必检查这些许可是否适合。代码还可能拉取受各种许可约束的数据集,其中一些可能来自 AI 模型,一些可能来自受出版国(美国)版权法合理使用原则约束的网络爬虫数据。任何此类数据集都按"原样"发布,仅用于演示书中的概念,这些数据集及其相关许可可能会随时间而变化。
购买本书
如果你还没有本书,请通过购买《AI 驱动的搜索》来支持作者和出版商。它将逐步指导你理解本仓库代码示例中展示的概念和技术,提供必要的背景和见解,帮助你更好地理解这些技术。