介绍
语义搜索使用语义相似度增强标准关键字搜索。 这种相似度意味着,虽然两者之间的词汇重叠程度不超过一个字母,对“sunny”的查询也可以匹配文本“明亮的自然光”。 语义搜索使用人工智能 (AI) 生成的嵌入矢量而不是字符相似度来测量查询与文档的相似度,从而提供更相关的搜索结果。
本模块演示了如何在 Azure Database for PostgreSQL 灵活服务器中启用语义搜索,以及如何使用 Azure OpenAI 生成矢量嵌入。
场景
假设你在一家管理度假房产列表的公司工作。 你希望让客户在线搜索和预订列表。 一个挑战是人们会使用许多不同的词来描述相同的事物。 你拥有的资源有限,难以随着描述的更改和房产的增减来开发和维护关键字列表,而且手动输入关键字容易出错。 你希望在无需手动输入关键字列表的情况下提供相关搜索结果。
学习目标
你将大致了解语义搜索、嵌入和矢量数据库。 然后,启用 pgvector
和 azure_ai
扩展。 借助这些扩展,你将使用 azure_ai
扩展对从 Azure OpenAI 嵌入生成的矢量列执行语义搜索。 最后,你将编写一个搜索函数,该函数可接收查询字符串,生成该查询的嵌入,并针对数据库执行语义搜索。
到此会话结束时,你将能够使用 Azure Database for PostgreSQL 灵活服务器数据库对 Azure OpenAI 生成的矢量嵌入执行语义搜索。