@aws-amplify/graphql-conversation-transformer

中文文档
1.1.17发布于 2026/10/01Apache-2.0TypeScriptCommonJS近 30 天下载 5.3万

放大图QL@ conversation 变压器

中文使用文档
文档目录10 节
  1. 目录
  2. 指令定义
  3. 使用量
  4. 配置选项
  5. 生成资源
  6. 实例
  7. 基本用途
  8. 高级使用工具和推论配置
  9. 最佳做法
  10. 解决问题

图QL @ conversation 变形器

这个 @conversation 变压器是一个强大的工具,用于在您 AWS AppSync API 内部快速并方便地创建AI-动力的对话路由. 这个变压器可以发挥大语言模型的能力,在您GraphQL schema中实现动态的,有上下文意识的对话.

目录

指令定义

这个 @conversation 指令的定义如下:

directive @conversation(
  aiModel: String!
  systemPrompt: String!
  functionName: String
  tools: [ToolMap]
  inferenceConfiguration: ConversationInferenceConfiguration
) on FIELD_DEFINITION

input ToolMap {
  name: String
  description: String
}

input ConversationInferenceConfiguration {
  maxTokens: Int
  temperature: Float
  topP: Float
}

使用量

用来使用 @conversation 指令,将其添加到您的 GraphQL 计划中的一个字段。 此字段应为类型 ConversationMessage 并且应当成为 Mutation 类型.

type Mutation {
  sendMessage(conversationId: ID!, content: String!): ConversationMessage
    @conversation(aiModel: "anthropic.claude-3-haiku-20240307-v1:0", systemPrompt: "You are a helpful AI assistant.")
}

要找到必要的 GraphQL 类型与 @conversation 指令,参见 src/graphql-types/conversation-schema-types.ts。 。 。 .

配置选项

这个 @conversation 指令接受以下配置选项:

  • aiModel (需要):指定用于生成响应的AI模型.
  • systemPrompt (需要):定义设定AI模型上下文的初始快取.
  • functionName (可选):指定一个自定义的Lambda函数来处理对话逻辑.
  • tools (可选) : AI在对话中可以使用的一系列工具配置.
  • inferenceConfiguration (可选) : 用参数调整AI模型的行为 maxTokens, (中文(简体) ), temperature,以及 topP。 。 。 .

生成资源

当你使用 @conversation 指令,变压器生成数个AWS资源,支持对口功能:

  1. 迪纳摩DB 表格数 :

    • 存储对话会话的表格
    • 单个信件存储表
  2. App同步解析器 :

    • 对话的管道解析器突变
    • 助理反应的解析器
    • 实时更新的订阅解析器
  3. Lambda 函数 :

    • 默认的对话处理器( 如果没有自定义) functionName (已提供)
  4. IAM 作用和政策:

    • AppSync 与 DynamoDB 和 Lambda 互动的必要权限
  5. AppSync 数据来源 :

    • DynamoDB 用于交谈和信件表格的数据源
    • 对话处理器的 Lambda 数据源

实例

基本用途

type Mutation {
  chat(conversationId: ID!, message: String!): ConversationMessage
    @conversation(
      aiModel: "anthropic.claude-3-haiku-20240307-v1:0"
      systemPrompt: "You are a friendly AI assistant. Respond to user queries in a helpful and concise manner."
    )
}

高级使用工具和推论配置

type Mutation {
  customerSupport(conversationId: ID!, inquiry: String!): ConversationMessage
    @conversation(
      aiModel: "anthropic.claude-3-haiku-20240307-v1:0"
      systemPrompt: "You are a customer support AI. Help users with their product inquiries and issues."
      tools: [
        { name: "getProductInfo", description: "Retrieves detailed information about a product" }
        { name: "checkOrderStatus", description: "Checks the status of a customer's order" }
      ]
      inferenceConfiguration: { maxTokens: 500, temperature: 0.7, topP: 0.9 }
    )
}

最佳做法

  1. 工艺清理系统提示:系统提示设置对话路线的基调和上下文. 说得具体点,配合你的用法.

  2. 使用适当的AI模型: 选择适合应用程序在能力和响应时间方面的需要的AI模型.

  3. 执行错误处理: 总是处理潜在的错误客户端-侧码.

  4. 监测和优化:定期审查与您对话路线相关的性能和成本.

解决问题

如果在使用时遇到问题 @conversation 变压器,考虑如下:

  1. 检查您的Schema:确保您的 GraphQL 方案有效 @conversation 指令的使用正确.

  2. 校验 AWS 资源: 请检查所有所需的 AWS 资源是否已成功创建 .

  3. 审查日志:检查 Cloud Watch 日志检查您 Lambda 函数或 AppSync 解析器中的任何错误 .

  4. 递增测试:在添加像自定义工具这样的复杂特性时,对每个添加进行渐进测试,以隔离潜在的问题.

版本与发布记录

@aws-amplify/graphql-conversation-transformer 共发布 67 个版本,首次发布于 2024/08/16;过去 12 个月发布了 5 个版本。

版本发布日期距今
1.1.17latest2026/10/011 个月前
1.1.162026/07/143 个月前
1.1.152026/07/014 个月前
1.1.142026/03/247 个月前
1.1.132026/02/069 个月前
1.1.122025/06/101.4 年前

其他发布通道:raven → 0.1.1-raven.11,async-lambda → 0.2.1-async-lambda.0,ai → 0.2.1-ai.5,gen2-migration-0930 → 0.2.2-gen2-migration-0930.0,gen2-migration-1015 → 0.3.1-gen2-migration-1015.0,ai-streaming → 0.5.1-ai-streaming.0。

关于 @aws-amplify/graphql-conversation-transformer 的常见问题

@aws-amplify/graphql-conversation-transformer 是什么?

放大图QL@ conversation 变压器

如何安装 @aws-amplify/graphql-conversation-transformer?

在项目目录运行 npm install @aws-amplify/graphql-conversation-transformer,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:constructs(^10.3.0)、aws-cdk-lib(^2.224.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aws-amplify/graphql-conversation-transformer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aws-amplify/graphql-conversation-transformer 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@aws-amplify/graphql-conversation-transformer 可以商用吗?

@aws-amplify/graphql-conversation-transformer 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aws-amplify/graphql-conversation-transformer 的下载量有多少?

根据 npm 官方下载统计,@aws-amplify/graphql-conversation-transformer 在 2026/10/07 – 2026/11/05 这 30 天内被下载 52,510 次,日均约 1,750 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aws-amplify/graphql-conversation-transformer 还在维护吗?

最新版本 1.1.17 发布于 2026/10/01(1 个月前);至今共发布 67 个版本,其中过去 12 个月发布了 5 个;首次发布于 2024/08/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。