Anonymous
AWS Bedrock Claude Sonnet 3.5 с изображением и системной подсказкой
Сообщение
Anonymous » 26 ноя 2024, 15:05
Мне нужно вызвать модель Bedrock Claude Sonnet 3.5 с помощью:
Системного приглашения
Изображения, которое я иметь .JPEG локально на диске
текстовый контекст
запрос
Я получаю сообщение об ошибке в полезных данных JSON с изображением.
Код: Выделить всё
A client error occured: messages.0.content.1.image.source: Field required
Мой код:
Код: Выделить всё
def generate_conversation_bedrock(bedrock_client, model_id, input_text, input_image, max_tokens):
response = client.invoke_model(
modelId=model_id,
body=json.dumps(
{
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": max_tokens,
"system": sys_msg,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": input_text
},
{
"type": "image",
"image": {
"format": "jpeg",
"source": {
"media_type": "image/jpeg",
"data": input_image_base64 # Contiene la imagen en formato base64
}
}
}
]
}
],
}
),
)
response_body = json.loads(response.get("body").read())
return response_body
def main():
model_id = "anthropic.claude-3-5-sonnet-20240620-v1:0"
input_text = "describe la imagen"
input_image = "./combined_image.jpg"
image = resize_and_compress_image(input_image)
input_image_base64 = base64.b64encode(image).decode('utf-8')
try:
bedrock_client = boto3.client(service_name="bedrock-runtime", region_name="us-east-1")
response = generate_conversation_bedrock(bedrock_client, model_id, input_text, input_image_base64, 1024)
for output in response.get("content", []):
print(output["text"])
except ClientError as err:
message = err.response['Error']['Message']
print(f"A client error occured: {message}")
if __name__ == "__main__":
main()
В resize_and_compress_image я превращаю размер изображения в пределы входных данных модели.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... tem-prompt
1732622708
Anonymous
Мне нужно вызвать модель Bedrock Claude Sonnet 3.5 с помощью: [list] [*]Системного приглашения [*]Изображения, которое я иметь .JPEG локально на диске [*]текстовый контекст [*]запрос [/list] Я получаю сообщение об ошибке в полезных данных JSON с изображением. [code]A client error occured: messages.0.content.1.image.source: Field required [/code] Мой код: [code]def generate_conversation_bedrock(bedrock_client, model_id, input_text, input_image, max_tokens): response = client.invoke_model( modelId=model_id, body=json.dumps( { "anthropic_version": "bedrock-2023-05-31", "max_tokens": max_tokens, "system": sys_msg, "messages": [ { "role": "user", "content": [ { "type": "text", "text": input_text }, { "type": "image", "image": { "format": "jpeg", "source": { "media_type": "image/jpeg", "data": input_image_base64 # Contiene la imagen en formato base64 } } } ] } ], } ), ) response_body = json.loads(response.get("body").read()) return response_body def main(): model_id = "anthropic.claude-3-5-sonnet-20240620-v1:0" input_text = "describe la imagen" input_image = "./combined_image.jpg" image = resize_and_compress_image(input_image) input_image_base64 = base64.b64encode(image).decode('utf-8') try: bedrock_client = boto3.client(service_name="bedrock-runtime", region_name="us-east-1") response = generate_conversation_bedrock(bedrock_client, model_id, input_text, input_image_base64, 1024) for output in response.get("content", []): print(output["text"]) except ClientError as err: message = err.response['Error']['Message'] print(f"A client error occured: {message}") if __name__ == "__main__": main() [/code] В resize_and_compress_image я превращаю размер изображения в пределы входных данных модели. Подробнее здесь: [url]https://stackoverflow.com/questions/79145652/aws-bedrock-claude-sonnet-3-5-with-image-and-system-prompt[/url]