Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.
Gen1 DocsLegacy

Page updated Mar 26, 2026

データ抽出

データ抽出により、非構造化テキストを解析し、AIを使用して構造化データを抽出できます。これは、自由形式のテキストをアプリケーションで使用できる型付きオブジェクトに変換するのに便利です。

以下の例は、非構造化製品説明から製品詳細を抽出する方法を示しています。AIモデルはテキストを分析し、製品名、概要、価格、およびカテゴリを含む構造化オブジェクトを返します。

amplify/data/resource.ts
const schema = a.schema({
ProductDetails: a.customType({
name: a.string().required(),
summary: a.string().required(),
price: a.float().required(),
category: a.string().required(),
}),
extractProductDetails: a.generation({
aiModel: a.ai.model('Claude 3.5 Haiku'),
systemPrompt: 'Extract the property details from the text provided',
})
.arguments({
productDescription: a.string()
})
.returns(a.ref('ProductDetails'))
.authorization((allow) => allow.authenticated()),
});
Data Client Request
import type { Schema } from "../amplify/data/resource";
import { generateClient } from "aws-amplify/api";
export const client = generateClient<Schema>();
const productDescription = `The NBA Official Game Basketball is a premium
regulation-size basketball crafted with genuine leather and featuring
official NBA specifications. This professional-grade ball offers superior grip
and durability, with deep channels and a moisture-wicking surface that ensures
consistent performance during intense game play. Priced at $159.99, this high-end
basketball belongs in our Professional Sports Equipment category and is the same model
used in NBA games.`
const { data, errors } = await client.generations
.extractProductDetails({ productDescription })
/**
Example response:
{
"name": "NBA Official Game Basketball",
"summary": "Premium regulation-size NBA basketball made with genuine leather. Features official NBA specifications, superior grip, deep channels, and moisture-wicking surface for consistent game play performance.",
"price": 159.99,
"category": "Professional Sports Equipment"
}
*/