(Amplify Gen 2) Генерация Bedrock AI создает исключение ValidationException (ошибка сопоставления)Javascript

Форум по Javascript
Ответить
Anonymous
 (Amplify Gen 2) Генерация Bedrock AI создает исключение ValidationException (ошибка сопоставления)

Сообщение Anonymous »

Я следую документации AWS Amplify Gen 2 здесь: https://docs.amplify.aws/react-native/ai/generation/ в точности так, как она написана. Наш ./amplify/data/resource.ts выглядит следующим образом:

Код: Выделить всё

const schema = a.schema({
...
generateRecipe: a.generation({
aiModel: a.ai.model('Amazon Nova Pro'), // this is the only part that was changed!
systemPrompt: 'You are a helpful assistant that generates recipes.',
})
.arguments({ description: a.string() })
.returns(
a.customType({
name: a.string(),
ingredients: a.string().array(),
instructions: a.string(),
})
)
.authorization((allow) => allow.authenticated()),
...
}).authorization((allow) => [
// just some lambda functions here
]);
export type Schema = ClientSchema;

export const data = defineData({
schema,
authorizationModes: {
defaultAuthorizationMode: "userPool",
apiKeyAuthorizationMode: {
expiresInDays: 30,
},
},
});
И наш клиентский код для вызова этого через AppSync выглядит так:

Код: Выделить всё

import { generateClient } from "aws-amplify/api";
import { createAIHooks } from "@aws-amplify/ui-react-ai";
import { Schema } from "../amplify/data/resource";
const client = generateClient({ authMode: "userPool" });
const { useAIGeneration } = createAIHooks(client);
...
const [{ data, isLoading }, generateRecipe] = useAIGeneration("generateRecipe");

const generateSummary = async () => {
await generateRecipe({
description: 'I would like to bake a birthday cake for my friend. She has celiac disease and loves chocolate.',
});
};

useEffect(() => console.log(isLoading, data), [isLoading, data]);
...
 generateSummary()}>click me!
Ожидается, что конечная точка Bedrock ответит рецептом торта :) Однако ответ, который мы получаем, выглядит следующим образом:

Код: Выделить всё

{
"data": {
"generateRecipe": null
},
"errors": [
{
"path": [
"generateRecipe"
],
"data": null,
"errorType": "ValidationException:http://internal.amazon.com/coral/com.amazon.bedrock/",
"errorInfo": null,
"locations": [
{
"line": 2,
"column": 3,
"sourceName": null
}
],
"message": "A custom error was thrown from a mapping template."
}
]
}
Это также имеет место, когда мы используем разные модели (до сих пор мы тестировали AWS Nova Pro, Claude Sonnet 3.5 v2, Claude Sonnet 3.5 и Claude Haiku 3.5. Хотя это больше не является обязательным требованием, ранее у нас было подтвержденное через Bedrock соглашение с Anthropic об использовании Claude Sonnet 3.5 v2. Все модели дают один и тот же ответ. Независимо от того, что мы изменяем .returns тип возврата ошибки также сохраняется. Этот код является точным кодом из документации AWS, указанной выше, и мы не внесли в серверную часть никаких изменений, которые были бы ненормальными или иным образом препятствовали бы использованию Bedrock. Однако использование Claude Sonnet 3.5 v2 через ARN действительно работает на стороне сервера (в лямбда-выражении). Пользователи, отправляющие эти запросы через наше программное обеспечение, аутентифицируются через пул пользователей.


Подробнее здесь: https://stackoverflow.com/questions/797 ... pping-erro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»