DEX801

自定义 Lightning 类型(下)

课程介绍

今天我们来看一下 Models API,它其实提供了非常实用的四个核心功能。 第一个是,Generate Chat,,也就是生成聊天。你可以想象成你给AI一个按照时间顺序排列的对话记录,里面包括用户说的话、系统提示、还有助理之前的回复。它读完这些后,就会根据上下文给出一个很贴切的回应。这个特别适合做那种多轮对话的场景。 第二个是,生成文本,,这个就更简单直接了。你给它一句提示,它就给你一个回答,没有多余的上下文。非常适合我们做一些快速测试,或者只需要一次性文本生成的情况。 第三个是,生成嵌入,。这个听起来有点技术,但其实就是把一段文本变成一组数字向量。这些数字能代表这段话的语义。当你做 RAG,也就是检索增强生成的时候,需要靠它来判断哪些内容跟用户的问题最相关,所以这个功能是实现 RAG 很关键的一步。 第四个是,提交反馈,。你可以把终端用户对回答的感受——比如好还是不好——通过这个功能存进 Data 360,帮助我们持续监控和改善模型的表现。 ,重点来了,:所有这些功能在幕后都会自动经过,爱因斯坦信任层,。这意味着它会自动帮我们做数据脱敏和毒性评分,确保使用的数据安全、合规,内容也是合适的。你不需要额外配置。 最后,每一个功能都有两种调用方式:一种是在 Apex 代码里,通过 ,aiplatform 命名空间,直接调用对应的方法;另一种是通过标准的 ,REST 端点,,这样你在任何外部系统里都可以用。所以无论你是想在 Salesforce 内部开发,还是从外部集成,都非常方便。 这四点就是 Models API 提供的核心能力,记住它们的定位和用途,后面我们实际用的时候就很清晰了。

课程章节

本课程共有 7 个章节

  • 1

    Access Models API with Apex

    第 256 页

    同学们,我们来看看Agentforce里一个很实用的部分,叫Models API。 简单来说,它就是在我们的Apex代码里可以直接调用的现成工具包,位于一个叫“aiplatform”的命名空间下。你不用自己从头去写底层调用,因为这些类都是根据官方的Models REST API规范自动生成的。意味着只要API更新了,这些类也会跟着自动调整,非常省心。 这里提到每个大模型功能,比如生成文本,都对应着一个封装好的方法。当你调用这个方法时,需要给它一个“请求”对象,告诉它你要干什么、传什么数据;它执行完会返回一个“响应”对象,你把结果取出来就行。这跟我们平时用外部服务的方式很像,只是现在完全在Apex里操作,很方便。 不过要注意,这些Apex方法是有一些使用限制的。第一个是“收件箱限制”,也就是说,你整个Salesforce组织每天能调用这些AI模型的次数是有上限的,不能无限制地用。另外,如果你是在沙盒环境、演示环境或是试用版里测试,限制会更严格一些,会有专门针对这类环境的速率限制。所以开发的时候要多留意一下配额,避免突然不跑了。 这样说清楚了吗?有什么问题随时问哦。

    查看详情
  • 2

    Apex Methods & Code Examples

    第 257 页

    好,同学们,我们现在来看一下,在 Agentforce 里用 Apex 调用大模型时,所有方法其实都遵循一个非常统一的套路,记住这个套路,你就能轻松上手任何一个模型方法。 这个套路分几步呢?很简单: 第一步,先创建一个请求对象,你想做生成文本、聊天还是嵌入,就建对应的请求对象,比如生成文本就是 `GenerativeModelRequest`。 第二步,给这个请求对象设上你要用的模型名称。这个名称通常长什么样呢?默认都是 `sfdc_ai__` 开头的,或者如果你配了自定义模型或者 BYOLLM(自带大模型),就去 AI 模型配置页面里查它的 API 名称。 第三步,把你要模型处理的内容填进去,也就是填充请求的主体部分。 第四步,在你拿到的 `ModelsAPI` 实例上,调用对应的方法,比如 `generateText` 、 `generateChat` 等等。 最后一步,处理返回的响应,拿到结果,也要注意抓错误。 那不同的任务,请求主体里要填的东西稍微不一样: - 如果只是做,生成文本,,最简单,直接塞一个提示字符串就行。 - 如果要,聊天生成,,你就得构建一个 `ChatMessage` 请求对象的列表,每个消息都要指定角色和内容,角色可以是 system、user 或者 assistant。 - 如果要做,嵌入,,传入的是一个字符串数组,你想把哪些文本转成向量。 - 还有一种特殊的是,反馈,,它需要你提供唯一的 ID 和生成 ID,用来跟某一次生成挂上钩,方便做评估。 最后注意一下,所有这些方法如果出了错,都会抛出一个类型化异常,叫做 `ResponseException`,所以你在写代码的时候一定要做好 try-catch,捕获这个错误去处理。 好了,这个统一模式掌握了,你就能很舒服地在 Apex 里调用 Agentforce 的大模型能力了。记牢:创建请求 → 设模型名 → 填主体 → 调方法 → 处理响应,出了错就抓 `ResponseException`。很简单对吧?

    查看详情
  • 3

    Access Models API with REST

    第 258 页

    我们今天就来讲一讲 Salesforce 提供的 ,Models REST API,。你可以把它想象成一座桥梁,一头是你的应用程序,另一头是大语言模型,也就是我们常说的 LLM。通过一套标准的 REST 接口,你的应用就可以轻松调用大模型的能力。 那怎么把这个“桥梁”搭起来呢?这个过程分成几步,我慢慢说。 首先,你需要创建一个,外部客户端应用,。听起来有点复杂,但其实就是在 Salesforce 里注册一下你的应用,并且给这个应用指定特定的 ,OAuth 范围,。这些“范围”决定了你的应用能访问哪些资源、能做什么事。记住,这一步很重要,权限配对了,后面的路才走得通。 然后,客户端应用创建好之后,我们要拿到一个“门票”——就是 ,JWT 访问令牌,。JWT 是一种很安全的令牌,你的应用需要先生成它,然后用它去向 Salesforce 证明自己的身份。有了这个令牌,就相当于告诉 Salesforce:“我是合法的,让我用一下你的模型。” 接下来,才是真正调用 API 的时候。你要向正确的端点发送请求,并且在请求里带上刚才生成的令牌,放在请求头的 Authorization 里。同时,还要按照 API 的要求设置好其他必要的头信息,比如内容类型。这样,你的请求就能被准确接收,大模型也会返回你想要的结果。 可能你会觉得配置过程有点细,别担心,Salesforce 提供了一套很贴心的工具——,Postman 系列,。Postman 是一个大家常用的 API 测试工具,而 Salesforce 已经为你准备好了现成的集成包。你只要导入它,填写几个配置,马上就能发送第一个请求,快速上手体验一下。就像照着说明书搭积木,真的很方便。 总的来说,Models REST API 就是通过 OAuth 客户端、JWT 令牌和标准 REST 端点,安全地把你的应用跟大语言模型连接起来。想要快速试一试,直接用 Postman 系列包就能跑通。 好了,这部分内容就是这样,我们继续下一个话题。

    查看详情
  • 4

    REST Setup: App, JWT & API Calls

    第 259 页

    今天我们来看看如何通过 REST API 来使用 Agentforce 的生成能力。这个过程其实很简单,总共就三步,我来一步步给你说清楚。 第一步,我们要在 Salesforce 里创建一个“外部客户端应用程序”。创建的时候,记得勾选上客户端凭据流和 JWT 令牌这两种认证方式,并且在作用域里填入 `api`、`refresh_token` 还有 `sfap_api` 这三个范围。这样做,以后这个应用就能安全地代表自己调用接口,而不需要用户每次手动登录。 第二步,就是生成访问令牌,也就是 `access_token`。你需要把自己的消费者密钥和消费者秘密,发给 OAuth 令牌端点,用 JWT 的方式来请求。拿到响应之后,把里面的 `access_token` 复制下来,后面每次调用 API 都要用到它。 第三步,是真正调用 Agentforce 的端点。你需要把刚才的令牌放在请求头里,而且还要带上几个固定的头信息。一共四个:`Authorization` 的值是 `Bearer` 加上你的令牌;`Content-Type` 设为 `application/json`;然后还有两个自定义头,`x-sfdc-app-context` 固定填 `EinsteinGPT`,`x-client-feature-id` 就按你实际的功能标识来填。最后,请求的网址记得要用你自己的“我的域名” URL,而不是老式的 `lightning.force.com` 地址。 发完请求后,你会得到一个 JSON 响应,里面包含了三部分信息:最核心的当然是 AI 生成的文本;然后是内容质量数据,它会给出一个毒性评分,并且按身份、仇恨、亵渎、暴力、性、身体这几个类别分别打分,让你能看到内容是否安全;最后还会告诉你这次调用用了多少 token,方便你掌握用量。 这样三个步骤下来,你就能成功调用 Agentforce 的 REST API 了。是不是挺清晰的?

    查看详情
  • 5

    Build LWCs & Flows

    第 260 页

    同学们,今天我们来聊聊Agentforce里一个非常实用的工具——Models API。你可以把它想象成搭建智能应用的积木,它能让我们轻松地在Salesforce里调用各种生成式AI模型,来构建Lightning Web组件、Flow,或者其他自定义应用。 这节课我们会通过四个生动的例子,带你一步步上手。 第一个例子是个简单的生成式AI Lightning Web组件。就像搭一个最基础的聊天窗口,你输入一句话,AI就能立刻给你一个回复,帮你理解怎么在页面上直接和大模型互动。 第二个例子是Flow Builder里的可调用动作。如果你平时用Flow做自动化,这个功能就太有用了。我们能把AI的推理能力变成流程里的一个步骤,比如自动总结客户邮件、生成回复草稿,让你的业务流程变得更聪明。 第三个例子是即时工程LWC。这个组件就像一个实验工作台,你可以快速测试和调整给AI的提示词,看看不同问法会得到什么结果,帮助你在聊天场景里不断优化模型的表现。 最后,我们会做一个带打字效果的完整聊天LWC。这个更酷一点,不仅支持完整的对话历史,还会像真人一样把回复一个字一个字地“打”出来,给用户更自然的体验。 通过这四个例子,你就能掌握如何在Salesforce里灵活运用Models API,无论是简单交互、流程自动化,还是体验增强,都能得心应手。准备好了吗?我们马上进入第一个例子。

    查看详情
  • 6

    LWC & Flow Examples

    第 261 页

    好,同学们,我们来看看这一页内容。这里展示了四个示例模式,它们都演示了如何把 Models API 集成到我们自己的应用里。我们一个一个来看,理解它们各自的特点和适用场景。 首先,是最基础的 ,Simple LWC,。这个组件做得非常直白,页面上就是一个输入框,一个生成按钮,还有一个展示响应的区域。你只需要输入一个提示,点一下按钮,模型返回的内容就直接显示出来。它简单到没有任何多余的功能,特别适合刚接触时,理解最基本的调用流程。 接下来是 ,Flow 示例,。它把同样的能力放到了 Flow Builder 里,做成一个可调用的动作。也就是说,你不用写代码,在流程里就能直接调用模型。这对于自动化业务场景非常方便,比如在某个流程节点自动生成一段文本,完全不用写前端代码。 第三个,,Promise Engineering LWC,,听名字就知道它进了一步。它在 Simple LWC 的基础上,增加了系统提示词,用来做“思维链实验”。就是说,你可以在这里设定模型的角色、思考方式,看看不同的提示工程技巧会带来什么效果。它本质上还是一个单轮交互,但给了你控制模型行为的入口。 最后,,聊天 LWC, 是最完整的示例。它构建了一个完整的聊天界面。你看,它有消息历史记录,每条消息还能根据角色显示不同的样式——用户说的用蓝色气泡,AI 回复的用灰色气泡。而且它做了打字效果,回复是逐词出现的,非常生动。屏幕还会自动滚动到最新消息,也有加载指示器。这些都让交互体验更接近真实的聊天应用。 另外需要注意,所有这些示例,默认都使用 GPT‑4 o Mini 模型,。这个模型轻量高效,很适合演示和学习。 不过老师要提醒大家,这些代码都是,演示模式,,不是可以直接上生产的。它们的目标是帮你理解怎么用 Models API,让你快速看到效果。如果要真正用到生产系统里,你还需要考虑错误处理、安全、性能优化等很多细节。 好,关于这四个示例模式,我们就讲到这里。同学们可以自己打开示例跑一跑,感受一下从简到繁的不同集成方式。

    查看详情
  • 7

    Rate Limits, API Names

    第 262 页

    同学们,咱们现在看的这一页,就是这一章的一个总览。别看短短几句话,但里面藏着三个在生产部署时绝对不能跳过的重要操作主题。来,我们慢慢拆开说。 第一个,跨组织类型的费率限制。这是什么意思呢?简单讲,就是你在不同的 Salesforce 组织里调用 Agentforce 相关功能时,系统给你限制的频率是不一样的。比如生产环境和沙盒环境,它们能承受的请求量就不同。你如果不清楚这些上限,一上线就拼命发请求,很可能直接触发限制,导致服务中断。所以一定要提前理清。 第二个,如何查找和构建模型 API 名称。Agentforce 底层会调用各种模型,每一个模型都有它专属的 API 名称。你可能需要去设置里找到它,也可能要按照一定规则自己拼接。如果名称拼错或者找错了,那整个流程就不会动,排查起来特费劲。这一节我们就会手把手带着你,学会又快又准地拿到正确的模型 API 名称。 第三个,质量监控的反馈系统。Agentforce 上线之后,它的回答好不好、准不准,不能光靠感觉。你得有一套收集用户反馈的机制,并对这些反馈进行监控和复盘。这样才能持续优化模型表现,保证生产环境里的体验是稳定、可靠的。 这三个点,每一个都直接关系到生产部署成不成功。理解了它们,你后续操作就能躲开很多坑。好,接下来咱们就一个一个细讲。

    查看详情