分析顾客评论ai_generate_text ()
和OpenAI
预览
这个特性是在公共预览。
本文说明了如何使用内置的砖SQL函数,ai_generate_text ()
检查顾客评论,并确定是否需要生成的响应。看到AI功能砖关于函数的更多细节。
本指南的数据和命令的砖演示行动用户评论在规模与砖SQL AI功能。OpenAI生成的演示使用假数据,模拟杂货产品的顾客评论提交一个电子商务的网站。
你通过这个例子的步骤:
打破自由格式的客户评论文本为它的组成的实体。
对于每个实体,确定情绪和是否需要响应返回给客户。
生成一个响应提及可能满足客户的替代产品。
先决条件
如果你想要运行的命令在这个指南,你需要一个数据集上运行它。您可以创建一个假的数据集产生假数据与人工智能功能笔记本。
本指南中的SQL命令必须在砖SQL查询编辑器中运行。他们不能直接运行在一个砖笔记本使用交互式的集群。
的
ai_generate_text ()
函数只能在公共预览pro或serverless SQL仓库。参加公共预览,请填充和提交人工智能功能的公共预览登记表格。
存储的关键砖的秘密。在这个例子中你API键存储在范围
令牌
和秘密azure-openai
。看到设置和注意事项ai_generate_text ()。
提示设计
获得有用的结果从GPT的关键模型是:
问这一个结构良好的问题。
在特定类型的答复你期待。
为了得到结果的形式,您可以很容易地存储在一个表,你可以问一个字符串中返回结果的模型,反映了JSON
表示,并指定预期的模式。
下面是这个场景的例子提示:
客户留下了评论。跟进人似乎不开心。
提取提到的所有实体。对于每个实体:
情绪归为(“积极”、“中立”、“负面”)
是否客户需要跟进:Y或N
原因需要跟踪
只返回JSON。没有其他的文本外的JSON。
JSON格式:
{“实体”:[{“entity_name”:“entity_name”,“entity_type”:“entity_type”,“entity_sentiment”:“entity_sentiment”,“跟踪”:“跟进Y或N”,“followup_reason”:“跟踪”的原因})}
审查:
<“插入review_text_here ' > _
创建SQL函数
砖建议将问题分解为多个细粒度的SQL函数,这样就可以为其他组织中的场景重用。
在本节中,您将创建SQL函数,以抽象的细节ai_generate_text ()
电话终端用户,并使用这些函数作为与Azure OpenAI交互的接口。
处理调用Azure OpenAI
以下包装器函数,prompt_handler ()
,Azure OpenAI处理你所有的电话。Azure OpenAI API密钥存储在一个数据砖的秘密,你可以引用它秘密()
函数。你也可以通过Azure OpenAI资源名称(resourceName
)和部署模型的名称(deploymentName
)。
创建或取代函数PROMPT_HANDLER(提示字符串)返回字符串返回AI_GENERATE_TEXT(提示,“azure_openai / gpt-35-turbo”,“apiKey”,秘密(“令牌”,“azure-openai”),“温度”,投(0。0作为双),“deploymentName”,“llmbricks”,“apiVersion”,“2023 - 03 - 15 -预览”,“resourceName”,“llmbricks”);
分析客户审核数据
的annotate_review ()
函数注释你的审查的实体,实体的情绪,是否需要后续和为什么。注意提示返回一个格式良好的json
表示,所以你可以指示函数返回结构体
下游类型更容易查询,如插入到三角洲表。
创建或取代函数ANNOTATE_REVIEW(审查字符串)返回结构体<实体:数组<结构体<entity_name:字符串,entity_type:字符串,entity_sentiment:字符串,跟踪:字符串,followup_reason:字符串> > >返回FROM_JSON(PROMPT_HANDLER(CONCAT(的客户留下了评论。跟进人似乎不开心。提取提到的所有实体。对于每个实体:——情绪归为“积极的”、“中性”、“负面”)——客户是否需要后续:Y或N——原因需要跟踪只返回JSON。没有其他的文本外的JSON。JSON格式:{实体:[{“entity_name”: <实体名称>,“entity_type”: <实体类型>,“entity_sentiment”: <实体情绪>,“跟踪”:< Y或N跟进>,“followup_reason”: <跟踪原因>})}点评:”,审查)),“STRUCT <实体:数组< STRUCT < entity_name:字符串,entity_type:字符串,entity_sentiment:字符串,跟踪:字符串,followup_reason: STRING > > >”);
你可以通过顾客评论数据集的数据,看看annotate_review ()
函数将任意的用户评论。
选择review_body,ANNOTATE_REVIEW(review_body)作为review_annotated从dbdemos。openai_demo。fake_reviews在哪里product_category=“杂货店”限制3;
生成响应与建议
审查客户的反应后,可以使用generate_response ()
函数来生成一个响应客户根据他们的投诉,包括建议的替代产品。
创建或取代函数GENERATE_RESPONSE(产品字符串,实体字符串,原因字符串)返回字符串返回PROMPT_HANDLER(CONCAT(“你能推荐什么替代产品”,产品,“当客户有投诉”,实体,”,因为“,原因,“给我一个响应在一个善解人意的语气消息回客户;只提供身体”));
后生成的示例消息响应客户的回顾国家选择零食饼干。
选择GENERATE_RESPONSE(“国家选择零食饼干”,“饼干”,“质量问题”)作为customer_response
特定的查询
您还可以创建临时使用您新创建的查询prompt_handler ()
函数。
例如,您可能有兴趣了解是否审查讨论了饮料。
选择review_id,PROMPT_HANDLER(CONCAT(“本文讨论饮料吗?只回答Y或N,没有解释或笔记。评论:“,review_body))作为discusses_beverages,review_body从dbdemos。openai_demo。fake_reviews在哪里review_id在(“R9LEFDWWXPDEY”,“R27UON10EV9FSV”,“R299ZTEFIAHRQD”)订单通过discusses_beveragesDESC;