回顾 Azure 认知架构

已完成

Azure AI 语言服务提供强大的工具和生成式 AI 语言模型,可用于处理文本数据。 azure_ai 扩展 azure_cognitive 架构中的集成提供对可从数据库直接访问的一组丰富的自然语言理解和处理功能的访问权限。 这些功能包括情绪分析、语言检测和翻译、关键短语提取、实体识别和文本汇总。 以下是关键方面:

情绪分析可预测给定文本的情绪(正面、负面或中性)。 它为每个情绪标签分配置信度分数,帮助你了解用户所生成的内容、评论或社交媒体帖子的情感基调。

语言检测撰写文本所使用的语言。 它适用于多语言应用程序或内容筛选等方案。

汇总可生成较长文本的简明摘要。 从文章、文档或冗长段落中提取重要信息非常有用。

关键短语提取可标识文档中的重要术语或短语。 它有助于内容分类、搜索索引和主题建模。

实体提取涉及标识文本中的实体,例如名称、地点、日期、电子邮件地址等。它包含多个功能,包括实体链接和 PII(个人身份信息)检测。

文本翻译可在受支持的源语言和目标语言之间执行文本翻译。

azure_cognitive 架构

azure_ai 扩展中的 azure_cognitive 架构旨在通过 PostgreSQL 数据库促进直接与 Azure AI 语言服务的交互。 该架构包括许多用户定义的函数 (UDF) 和复合类型。

函数

借助可用的函数,可以实现情绪分析、语言检测和翻译、关键短语和实体提取以及撰写文本摘要。

名称 描述
analyze_sentiment 通过挖掘文本以获取正面或负面情绪线索来执行情绪分析。
detect_language 检测所提供文本的语言。
extract_key_phrases 提取文本中的主要概念。
linked_entities 确认文本中发现的实体标识并消除其歧义。
recognize_entities 标识文本中的实体。
recognize_pii_entities 识别、分类和编辑非结构化文本中的敏感信息。
summarize_abstractive 通过创建表示文本中发现的关键概念的新原创内容来生成摘要。
summarize_extractive 通过识别文本中的关键句子,并使用这些句子来生成摘要以表示基本概念。
translate 将文本翻译为指定的语言。

复合类型

azure_cognitive 架构中的复合类型可处理来自各种函数的返回值。 这些类型提供处理语言服务返回对象时所需的结构,包括:

  • azure_cognitive.detected_language
  • azure_cognitive.entity
  • azure_cognitive.language_detection_result
  • azure_cognitive.linked_entity
  • azure_cognitive.linked_entity_match
  • azure_cognitive.pii_entity_recognition_result
  • azure_cognitive.sentence
  • azure_cognitive.sentiment_analysis_result
  • azure_cognitive.translated_text_result
  • azure_cognitive.translation
  • azure_cognitive.transliterated_text

可以使用 psql 命令提示符中的 \dT 元命令更详细地检查复合类型。 例如:

\dT+ azure_cognitive.translated_text_result

要深入了解复合类型,从而显示所有列、其类型和任何特殊属性,可以使用 `\ d’ 元命令

\d+ azure_cognitive.translated_text_result

此命令可输出包含指定返回类型的列、类型和其他详细信息的表:

               Composite type "azure_cognitive.translated_text_result"
      Column       |                Type               | Collation | Nullable | Default | Storage  | Description 
-------------------+-----------------------------------+-----------+----------+---------+----------+-------------
 translations      | azure_cognitive.translation[]     |           |          |         | extended | 
 detected_language | azure_cognitive.detected_language |           |          |         | extended | 
 source_text       | text                              |           |          |         | extended |

设置语言服务终结点和密钥

azure_openai 函数一样,必须提供服务的终结点和密钥才能使用 azure_ai 扩展成功调用语言服务。 以下命令演示了如何将设置添加到 azure_ai.settings 配置表。

SELECT azure_ai.set_setting('azure_cognitive.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_cognitive.subscription_key', '{api-key}');

如果使用 translate 函数执行文本翻译,则还必须在配置扩展与 Azure AI 服务的连接时提供区域:

-- the region setting is only required for the translate function
select azure_ai.set_setting('azure_cognitive.region', '{region}');