ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | อเมซอนเว็บเซอร์วิส

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | อเมซอนเว็บเซอร์วิส

อเมซอน เบดร็อค นำเสนอโมเดลพื้นฐานประสิทธิภาพสูงที่หลากหลายจาก Amazon และบริษัท AI ชั้นนำอื่นๆ ซึ่งรวมถึง มานุษยวิทยา, AI21, Meta, รวมกันและ ความเสถียร AIและครอบคลุมกรณีการใช้งานที่หลากหลาย รวมถึงการสร้างข้อความและรูปภาพ การค้นหา แชท การใช้เหตุผลและการดำเนินการ และอื่นๆ ใหม่ โปรแกรมสร้างภาพ Amazon Titan โมเดลช่วยให้ผู้สร้างเนื้อหาสามารถสร้างภาพคุณภาพสูงและสมจริงได้อย่างรวดเร็วโดยใช้ข้อความแจ้งภาษาอังกฤษง่ายๆ โมเดล AI ขั้นสูงเข้าใจคำสั่งที่ซับซ้อนด้วยวัตถุหลายชิ้น และส่งคืนรูปภาพคุณภาพระดับสตูดิโอที่เหมาะสำหรับ การโฆษณาอีคอมเมิร์ซและ การบันเทิง. คุณสมบัติหลัก ได้แก่ ความสามารถในการปรับแต่งภาพโดยวนซ้ำตามข้อความแจ้ง การแก้ไขพื้นหลังอัตโนมัติ และสร้างฉากเดียวกันหลายรูปแบบ ครีเอเตอร์ยังปรับแต่งโมเดลด้วยข้อมูลของตนเองเพื่อแสดงรูปภาพของแบรนด์ในสไตล์เฉพาะเจาะจงได้ ที่สำคัญ Titan Image Generator มีระบบป้องกันในตัว เช่น ลายน้ำที่มองไม่เห็นบนรูปภาพที่สร้างโดย AI ทั้งหมด เพื่อส่งเสริม การใช้อย่างรับผิดชอบ และบรรเทาการแพร่กระจายของข้อมูลบิดเบือน เทคโนโลยีที่เป็นนวัตกรรมนี้ทำให้การผลิตภาพที่กำหนดเองในปริมาณมากสำหรับ อุตสาหกรรมใดๆ เข้าถึงได้และมีประสิทธิภาพมากขึ้น

ใหม่ การฝังหลายรูปแบบของ Amazon Titan โมเดลช่วยสร้างการค้นหาและคำแนะนำที่แม่นยำยิ่งขึ้นโดยการทำความเข้าใจข้อความ รูปภาพ หรือทั้งสองอย่าง โดยจะแปลงรูปภาพและข้อความภาษาอังกฤษเป็นเวกเตอร์ความหมาย โดยบันทึกความหมายและความสัมพันธ์ในข้อมูลของคุณ คุณสามารถรวมข้อความและรูปภาพ เช่น คำอธิบายผลิตภัณฑ์และรูปภาพ เพื่อระบุสินค้าได้อย่างมีประสิทธิภาพมากขึ้น เวกเตอร์ขับเคลื่อนประสบการณ์การค้นหาที่รวดเร็วและแม่นยำ Titan Multimodal Embeddings มีความยืดหยุ่นในมิติเวกเตอร์ ช่วยให้สามารถเพิ่มประสิทธิภาพตามความต้องการด้านประสิทธิภาพได้ API แบบอะซิงโครนัสและ บริการ Amazon OpenSearch ตัวเชื่อมต่อทำให้ง่ายต่อการรวมโมเดลเข้ากับแอปพลิเคชันการค้นหาทางประสาทของคุณ

ในโพสต์นี้ เราจะอธิบายวิธีใช้ Titan Image Generator และโมเดล Titan Multimodal Embeddings ผ่าน AWS Python SDK

การสร้างและแก้ไขภาพ

ในส่วนนี้ เราจะสาธิตรูปแบบการเข้ารหัสพื้นฐานสำหรับการใช้ AWS SDK เพื่อสร้างอิมเมจใหม่และดำเนินการแก้ไขที่ขับเคลื่อนโดย AI บนอิมเมจที่มีอยู่ ตัวอย่างโค้ดมีให้ใน Python และ JavaScript (Node.js) ก็มีให้ในนี้เช่นกัน พื้นที่เก็บข้อมูล GitHub.

ก่อนที่คุณจะสามารถเขียนสคริปต์ที่ใช้ Amazon Bedrock API ได้ คุณจะต้องติดตั้ง AWS SDK เวอร์ชันที่เหมาะสมในสภาพแวดล้อมของคุณ สำหรับสคริปต์ Python คุณสามารถใช้ไฟล์ AWS SDK สำหรับ Python (Boto3). ผู้ใช้ Python อาจต้องการติดตั้งไฟล์ โมดูลหมอนซึ่งอำนวยความสะดวกในการใช้งานรูปภาพ เช่น การโหลดและบันทึกรูปภาพ สำหรับคำแนะนำในการตั้งค่า โปรดดูที่ พื้นที่เก็บข้อมูล GitHub.

นอกจากนี้ เปิดใช้งานการเข้าถึง Amazon Titan Image Generator และโมเดล Titan Multimodal Embeddings สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การเข้าถึงโมเดล.

ฟังก์ชั่นตัวช่วย

ฟังก์ชันต่อไปนี้จะตั้งค่ารันไทม์ไคลเอ็นต์ Amazon Bedrock Boto3 และสร้างอิมเมจโดยรับเพย์โหลดของการกำหนดค่าที่แตกต่างกัน (ซึ่งเราจะพูดถึงในโพสต์นี้ในภายหลัง):

import boto3
import json, base64, io
from random import randint
from PIL import Image bedrock_runtime_client = boto3.client("bedrock-runtime") def titan_image( payload: dict, num_image: int = 2, cfg: float = 10.0, seed: int = None, modelId: str = "amazon.titan-image-generator-v1",
) -> list: # ImageGenerationConfig Options: # - numberOfImages: Number of images to be generated # - quality: Quality of generated images, can be standard or premium # - height: Height of output image(s) # - width: Width of output image(s) # - cfgScale: Scale for classifier-free guidance # - seed: The seed to use for reproducibility seed = seed if seed is not None else randint(0, 214783647) body = json.dumps( { **payload, "imageGenerationConfig": { "numberOfImages": num_image, # Range: 1 to 5 "quality": "premium", # Options: standard/premium "height": 1024, # Supported height list above "width": 1024, # Supported width list above "cfgScale": cfg, # Range: 1.0 (exclusive) to 10.0 "seed": seed, # Range: 0 to 214783647 }, } ) response = bedrock_runtime_client.invoke_model( body=body, modelId=modelId, accept="application/json", contentType="application/json", ) response_body = json.loads(response.get("body").read()) images = [ Image.open(io.BytesIO(base64.b64decode(base64_image))) for base64_image in response_body.get("images") ] return images 

สร้างภาพจากข้อความ

สคริปต์ที่สร้างรูปภาพใหม่จากข้อความแจ้งจะเป็นไปตามรูปแบบการใช้งานนี้:

  1. กำหนดค่าพรอมต์ข้อความและพรอมต์ข้อความเชิงลบที่เป็นตัวเลือก
  2. ใช้ BedrockRuntime ไคลเอ็นต์เพื่อเรียกใช้โมเดล Titan Image Generator
  3. แยกวิเคราะห์และถอดรหัสการตอบสนอง
  4. บันทึกภาพที่เป็นผลลงดิสก์

ข้อความเป็นรูปภาพ

ต่อไปนี้เป็นสคริปต์การสร้างภาพทั่วไปสำหรับรุ่น Titan Image Generator:

# Text Variation
# textToImageParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
images = titan_image( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": "two dogs walking down an urban street, facing the camera", # Required "negativeText": "cars", # Optional }, }
)

สิ่งนี้จะสร้างภาพที่คล้ายกับภาพต่อไปนี้

รูปภาพตอบกลับ 1 รูปภาพตอบกลับ 2
สุนัข 2 ตัวกำลังเดินอยู่บนถนน สุนัข 2 ตัวกำลังเดินอยู่บนถนน

รูปแบบรูปภาพ

รูปแบบรูปภาพเป็นวิธีหนึ่งในการสร้างรูปแบบย่อยของรูปภาพที่มีอยู่ ข้อมูลโค้ดต่อไปนี้ใช้รูปภาพใดรูปภาพหนึ่งที่สร้างขึ้นในตัวอย่างก่อนหน้านี้เพื่อสร้างรูปภาพรูปแบบต่างๆ:

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # Image Variation
# ImageVariationParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
#   images: base64 string representation of the input image, only 1 is supported
images = titan_image( { "taskType": "IMAGE_VARIATION", "imageVariationParams": { "text": "two dogs walking down an urban street, facing the camera", # Required "images": [input_image], # One image is required "negativeText": "cars", # Optional }, },
)

สิ่งนี้จะสร้างภาพที่คล้ายกับภาพต่อไปนี้

ภาพต้นฉบับ รูปภาพตอบกลับ 1 รูปภาพตอบกลับ 2
สุนัข 2 ตัวกำลังเดินอยู่บนถนน ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

แก้ไขภาพที่มีอยู่

โมเดล Titan Image Generator ช่วยให้คุณสามารถเพิ่ม ลบ หรือแทนที่องค์ประกอบหรือพื้นที่ภายในรูปภาพที่มีอยู่ได้ คุณระบุพื้นที่ที่จะได้รับผลกระทบโดยระบุอย่างใดอย่างหนึ่งต่อไปนี้:

  • ภาพหน้ากาก – รูปภาพมาสก์คือรูปภาพไบนารีซึ่งพิกเซลค่า 0 แสดงถึงพื้นที่ที่คุณต้องการส่งผลกระทบ และพิกเซลค่า 255 เป็นตัวแทนของพื้นที่ที่ควรคงไว้ไม่เปลี่ยนแปลง
  • พร้อมท์หน้ากาก – ข้อความแจ้งมาสก์คือคำอธิบายข้อความภาษาธรรมชาติขององค์ประกอบที่คุณต้องการส่งผลกระทบ ซึ่งใช้โมเดลการแบ่งส่วนข้อความภายในบริษัท

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ แนวทางวิศวกรรมที่รวดเร็ว.

สคริปต์ที่ใช้การแก้ไขรูปภาพจะเป็นไปตามรูปแบบการใช้งานนี้:

  1. โหลดรูปภาพที่จะแก้ไขจากดิสก์
  2. แปลงรูปภาพเป็นสตริงที่เข้ารหัส base64
  3. กำหนดค่ามาสก์ด้วยวิธีใดวิธีหนึ่งต่อไปนี้:
    1. โหลดมาสก์อิมเมจจากดิสก์ เข้ารหัสเป็น base64 และตั้งค่าเป็น maskImage พารามิเตอร์.
    2. ตั้ง maskText พารามิเตอร์เป็นคำอธิบายข้อความขององค์ประกอบที่จะได้รับผลกระทบ
  4. ระบุเนื้อหาใหม่ที่จะสร้างโดยใช้หนึ่งในตัวเลือกต่อไปนี้:
    1. หากต้องการเพิ่มหรือแทนที่องค์ประกอบ ให้ตั้งค่า text พารามิเตอร์สำหรับคำอธิบายของเนื้อหาใหม่
    2. หากต้องการลบองค์ประกอบ ให้ละเว้น text พารามิเตอร์อย่างสมบูรณ์
  5. ใช้ BedrockRuntime ไคลเอ็นต์เพื่อเรียกใช้โมเดล Titan Image Generator
  6. แยกวิเคราะห์และถอดรหัสการตอบสนอง
  7. บันทึกภาพที่เป็นผลลงดิสก์

การแก้ไขวัตถุ: การลงสีด้วยภาพมาส์ก

ต่อไปนี้เป็นสคริปต์แก้ไขภาพทั่วไปสำหรับรุ่น Titan Image Generator ที่ใช้ maskImage. เรานำภาพหนึ่งภาพที่สร้างขึ้นก่อนหน้านี้มาจัดทำเป็นภาพมาส์ก โดยที่พิกเซลค่า 0 จะแสดงเป็นสีดำ และพิกเซลค่า 255 จะแสดงเป็นสีขาว นอกจากนี้เรายังแทนที่สุนัขตัวหนึ่งในภาพด้วยแมวโดยใช้ข้อความแจ้ง

with open("<YOUR_MASK_IMAGE_FILE_PATH>", "rb") as image_file: mask_image = base64.b64encode(image_file.read()).decode("utf8") # Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_ORIGINAL_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # Inpainting
# inPaintingParams Options:
#   text: prompt to guide inpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask images = titan_image( { "taskType": "INPAINTING", "inPaintingParams": { "text": "a cat", # Optional "negativeText": "bad quality, low res", # Optional "image": input_image, # Required "maskImage": mask_image, }, }, num_image=3,
)

สิ่งนี้จะสร้างภาพที่คล้ายกับภาพต่อไปนี้

ภาพต้นฉบับ รูปภาพหน้ากาก แก้ไขรูปภาพ
สุนัข 2 ตัวกำลังเดินอยู่บนถนน ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. แมวและสุนัขเดินบนถนน

การลบวัตถุ: การลงสีด้วยพรอมต์มาสก์

อีกตัวอย่างหนึ่ง เราใช้ maskPrompt เพื่อระบุวัตถุในรูปภาพที่นำมาจากขั้นตอนก่อนหน้าเพื่อแก้ไข โดยการละเว้นข้อความ วัตถุจะถูกลบออก:

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") images = titan_image( { "taskType": "INPAINTING", "inPaintingParams": { "negativeText": "bad quality, low res", # Optional "image": input_image, # Required "maskPrompt": "white dog", # One of "maskImage" or "maskPrompt" is required }, },
)

สิ่งนี้จะสร้างภาพที่คล้ายกับภาพต่อไปนี้

ภาพต้นฉบับ รูปภาพตอบกลับ
สุนัข 2 ตัวกำลังเดินอยู่บนถนน สุนัขตัวหนึ่งเดินอยู่บนถนน

การแก้ไขพื้นหลัง: การทาสีภายนอก

การทาสีภายนอกมีประโยชน์เมื่อคุณต้องการแทนที่พื้นหลังของรูปภาพ คุณยังสามารถขยายขอบเขตของรูปภาพเพื่อให้ได้เอฟเฟกต์การซูมออกได้ ในสคริปต์ตัวอย่างต่อไปนี้ เราใช้ maskPrompt เพื่อระบุวัตถุที่จะเก็บ คุณยังสามารถใช้ maskImage. พารามิเตอร์ outPaintingMode ระบุว่าจะอนุญาตให้แก้ไขพิกเซลภายในมาสก์หรือไม่ ถ้าตั้งเป็น DEFAULTอนุญาตให้แก้ไขพิกเซลภายในมาสก์ได้ เพื่อให้รูปภาพที่สร้างขึ้นใหม่มีความสอดคล้องกันโดยรวม แนะนำให้ใช้ตัวเลือกนี้หาก maskImage ที่ระบุไม่ได้เป็นตัวแทนของวัตถุที่มีความแม่นยำระดับพิกเซล ถ้าตั้งเป็น PRECISEการปรับเปลี่ยนพิกเซลภายในมาสก์จะถูกป้องกัน แนะนำให้ใช้ตัวเลือกนี้หากใช้ maskPrompt หรือ maskImage ที่แสดงถึงวัตถุที่มีความแม่นยำระดับพิกเซล

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # OutPaintingParams Options:
#   text: prompt to guide outpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask
#   outPaintingMode: DEFAULT | PRECISE
images = titan_image( { "taskType": "OUTPAINTING", "outPaintingParams": { "text": "forest", # Required "image": input_image, # Required "maskPrompt": "dogs", # One of "maskImage" or "maskPrompt" is required "outPaintingMode": "PRECISE", # One of "PRECISE" or "DEFAULT" }, }, num_image=3,
)

สิ่งนี้จะสร้างภาพที่คล้ายกับภาพต่อไปนี้

ภาพต้นฉบับ ข้อความ รูปภาพตอบกลับ
สุนัข 2 ตัวกำลังเดินอยู่บนถนน "ชายหาด" สุนัขตัวหนึ่งกำลังเดินอยู่บนชายหาด
สุนัข 2 ตัวกำลังเดินอยู่บนถนน "ป่า" ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

นอกจากนี้ผลของค่าต่าง ๆ สำหรับ outPaintingModeด้วย maskImage ที่ไม่จัดเค้าร่างวัตถุด้วยความแม่นยำระดับพิกเซล มีดังต่อไปนี้

ส่วนนี้จะให้ภาพรวมของการดำเนินการที่คุณสามารถทำได้ด้วยโมเดล Titan Image Generator โดยเฉพาะอย่างยิ่ง สคริปต์เหล่านี้สาธิตการแปลงข้อความเป็นรูปภาพ การเปลี่ยนแปลงของรูปภาพ การลงสี และการลงสีภายนอก คุณควรจะสามารถปรับรูปแบบสำหรับแอปพลิเคชันของคุณเองได้โดยการอ้างอิงรายละเอียดพารามิเตอร์สำหรับประเภทงานเหล่านั้นซึ่งมีรายละเอียดอยู่ในนั้น เอกสารประกอบของ Amazon Titan Image Generator.

การฝังและการค้นหาหลายรูปแบบ

คุณสามารถใช้โมเดล Amazon Titan Multimodal Embeddings สำหรับงานระดับองค์กร เช่น การค้นหารูปภาพและการแนะนำตามความคล้ายคลึงกัน และมีการบรรเทาผลกระทบในตัวที่ช่วยลดอคติในผลการค้นหา มีขนาดมิติข้อมูลแบบฝังหลายขนาดเพื่อแลกกับเวลาแฝง/ความแม่นยำที่ดีที่สุดสำหรับความต้องการที่แตกต่างกัน และทั้งหมดนี้สามารถปรับแต่งได้ด้วย API แบบง่ายเพื่อปรับให้เข้ากับข้อมูลของคุณเอง ในขณะเดียวกันก็รักษาความปลอดภัยของข้อมูลและความเป็นส่วนตัวเอาไว้ Amazon Titan Multimodal Embeddings จัดทำเป็น API แบบง่ายสำหรับแอปพลิเคชันการค้นหาและการแนะนำการแปลงแบตช์แบบเรียลไทม์หรือแบบอะซิงโครนัส และสามารถเชื่อมต่อกับฐานข้อมูลเวกเตอร์ต่างๆ ได้ รวมถึง บริการ Amazon OpenSearch.

ฟังก์ชั่นตัวช่วย

ฟังก์ชันต่อไปนี้จะแปลงรูปภาพและข้อความเสริมเป็นการฝังหลายรูปแบบ:

def titan_multimodal_embedding( image_path: str = None, # maximum 2048 x 2048 pixels description: str = None, # English only and max input tokens 128 dimension: int = 1024, # 1,024 (default), 384, 256 model_id: str = "amazon.titan-embed-image-v1",
): payload_body = {} embedding_config: dict = {"embeddingConfig": {"outputEmbeddingLength": dimension}} # You can specify either text or image or both if image_path: # Maximum image size supported is 2048 x 2048 pixels with open(image_path, "rb") as image_file: payload_body["inputImage"] = base64.b64encode(image_file.read()).decode( "utf8" ) if description: payload_body["inputText"] = description assert payload_body, "please provide either an image and/or a text description" print("n".join(payload_body.keys())) response = bedrock_runtime_client.invoke_model( body=json.dumps({**payload_body, **embedding_config}), modelId=model_id, accept="application/json", contentType="application/json", ) return json.loads(response.get("body").read())

ฟังก์ชันต่อไปนี้จะส่งคืนการฝังหลายรูปแบบที่คล้ายกันอันดับต้นๆ โดยพิจารณาจากการฝังหลายรูปแบบแบบสอบถาม โปรดทราบว่าในทางปฏิบัติ คุณสามารถใช้ฐานข้อมูลเวกเตอร์ที่มีการจัดการ เช่น OpenSearch Service ได้ ตัวอย่างต่อไปนี้มีวัตถุประสงค์เพื่อเป็นภาพประกอบ:

from scipy.spatial.distance import cdist
import numpy as np def search(query_emb: np.array, indexes: np.array, top_k: int = 1): dist = cdist(query_emb, indexes, metric="cosine") return dist.argsort(axis=-1)[0, :top_k], np.sort(dist, axis=-1)[:top_k]

ชุดข้อมูลสังเคราะห์

เพื่อวัตถุประสงค์ในการอธิบาย เราใช้ โมเดล Claude 2.1 ของ Anthropic ใน Amazon Bedrock เพื่อสุ่มสร้างผลิตภัณฑ์ที่แตกต่างกัน 7 รายการ โดยแต่ละผลิตภัณฑ์มี 3 รูปแบบ โดยใช้ข้อความแจ้งต่อไปนี้:

Generate a list of 7 items description for an online e-commerce shop, each comes with 3 variants of color or type. All with separate full sentence description.

ต่อไปนี้เป็นรายการเอาต์พุตที่ส่งคืน:

1. T-shirt
- A red cotton t-shirt with a crew neck and short sleeves.
- A blue cotton t-shirt with a v-neck and short sleeves.
- A black polyester t-shirt with a scoop neck and cap sleeves. 2. Jeans
- Classic blue relaxed fit denim jeans with a mid-rise waist.
- Black skinny fit denim jeans with a high-rise waist and ripped details at the knees.
- Stonewash straight leg denim jeans with a standard waist and front pockets. 3. Sneakers
- White leather low-top sneakers with an almond toe cap and thick rubber outsole.
- Gray mesh high-top sneakers with neon green laces and a padded ankle collar.
- Tan suede mid-top sneakers with a round toe and ivory rubber cupsole. 4. Backpack
- A purple nylon backpack with padded shoulder straps, front zipper pocket and laptop sleeve.
- A gray canvas backpack with brown leather trims, side water bottle pockets and drawstring top closure.
- A black leather backpack with multiple interior pockets, top carry handle and adjustable padded straps. 5. Smartwatch
- A silver stainless steel smartwatch with heart rate monitor, GPS tracker and sleep analysis.
- A space gray aluminum smartwatch with step counter, phone notifications and calendar syncing.
- A rose gold smartwatch with activity tracking, music controls and customizable watch faces. 6. Coffee maker
- A 12-cup programmable coffee maker in brushed steel with removable water tank and keep warm plate.
- A compact 5-cup single serve coffee maker in matt black with travel mug auto-dispensing feature.
- A retro style stovetop percolator coffee pot in speckled enamel with stay-cool handle and glass knob lid. 7. Yoga mat
- A teal 4mm thick yoga mat made of natural tree rubber with moisture-wicking microfiber top.
- A purple 6mm thick yoga mat made of eco-friendly TPE material with integrated carrying strap.
- A patterned 5mm thick yoga mat made of PVC-free material with towel cover included.

กำหนดการตอบสนองข้างต้นให้กับตัวแปร response_cat. จากนั้นเราใช้โมเดล Titan Image Generator เพื่อสร้างรูปภาพผลิตภัณฑ์สำหรับแต่ละรายการ:

import re def extract_text(input_string): pattern = r"- (.*?)($|n)" matches = re.findall(pattern, input_string) extracted_texts = [match[0] for match in matches] return extracted_texts product_description = extract_text(response_cat) titles = []
for prompt in product_description: images = titan_image( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": prompt, # Required }, }, num_image=1, ) title = "_".join(prompt.split()[:4]).lower() titles.append(title) images[0].save(f"{title}.png", format="png")

รูปภาพที่สร้างขึ้นทั้งหมดสามารถพบได้ในภาคผนวกท้ายโพสต์นี้

การทำดัชนีชุดข้อมูลหลายรูปแบบ

ใช้รหัสต่อไปนี้สำหรับการจัดทำดัชนีชุดข้อมูลหลายรูปแบบ:

multimodal_embeddings = []
for image_filename, description in zip(titles, product_description): embedding = titan_multimodal_embedding(f"{image_filename}.png", dimension=1024)["embedding"] multimodal_embeddings.append(embedding)

การค้นหาหลายรูปแบบ

ใช้รหัสต่อไปนี้สำหรับการค้นหาหลายรูปแบบ:

query_prompt = "<YOUR_QUERY_TEXT>"
query_embedding = titan_multimodal_embedding(description=query_prompt, dimension=1024)["embedding"]
# If searching via Image
# query_image_filename = "<YOUR_QUERY_IMAGE>"
# query_emb = titan_multimodal_embedding(image_path=query_image_filename, dimension=1024)["embedding"]
idx_returned, dist = search(np.array(query_embedding)[None], np.array(multimodal_embeddings))

ต่อไปนี้เป็นผลการค้นหาบางส่วน

สรุป

โพสต์นี้จะแนะนำโมเดล Amazon Titan Image Generator และ Amazon Titan Multimodal Embeddings Titan Image Generator ช่วยให้คุณสร้างภาพคุณภาพสูงที่กำหนดเองได้จากข้อความแจ้ง คุณสมบัติที่สำคัญ ได้แก่ การวนซ้ำตามข้อความแจ้ง การแก้ไขพื้นหลังอัตโนมัติ และการปรับแต่งข้อมูล มีการป้องกันเช่นลายน้ำที่มองไม่เห็นเพื่อส่งเสริมการใช้งานอย่างมีความรับผิดชอบ Titan Multimodal Embeddings แปลงข้อความ รูปภาพ หรือทั้งสองอย่างให้เป็นเวกเตอร์ความหมายเพื่อขับเคลื่อนการค้นหาและคำแนะนำที่แม่นยำ จากนั้นเราได้จัดเตรียมตัวอย่างโค้ด Python สำหรับการใช้บริการเหล่านี้ และสาธิตการสร้างรูปภาพจากข้อความแจ้งและการวนซ้ำบนรูปภาพเหล่านั้น แก้ไขรูปภาพที่มีอยู่โดยการเพิ่ม ลบ หรือแทนที่องค์ประกอบที่ระบุโดยรูปภาพมาสก์หรือข้อความมาสก์ การสร้างการฝังหลายรูปแบบจากข้อความ รูปภาพ หรือทั้งสองอย่าง และการค้นหาการฝังหลายรูปแบบที่คล้ายกันกับข้อความค้นหา นอกจากนี้เรายังสาธิตการใช้ชุดข้อมูลอีคอมเมิร์ซสังเคราะห์ที่จัดทำดัชนีและค้นหาโดยใช้ Titan Multimodal Embeddings จุดมุ่งหมายของโพสต์นี้คือเพื่อให้นักพัฒนาสามารถเริ่มใช้บริการ AI ใหม่เหล่านี้ในแอปพลิเคชันของตนได้ รูปแบบโค้ดสามารถใช้เป็นเทมเพลตสำหรับการใช้งานแบบกำหนดเองได้

รหัสทั้งหมดมีอยู่ที่ พื้นที่เก็บข้อมูล GitHub. สำหรับข้อมูลเพิ่มเติม โปรดดูที่ คู่มือผู้ใช้ Amazon Bedrock.


เกี่ยวกับผู้เขียน

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.โรหิต มิททัล เป็นผู้จัดการผลิตภัณฑ์หลักที่ Amazon AI ที่สร้างโมเดลพื้นฐานหลายรูปแบบ เขาเพิ่งเป็นผู้นำการเปิดตัวโมเดล Amazon Titan Image Generator โดยเป็นส่วนหนึ่งของบริการ Amazon Bedrock มีประสบการณ์ในด้าน AI/ML, NLP และการค้นหา เขาสนใจในการสร้างผลิตภัณฑ์ที่ช่วยแก้ไขปัญหาของลูกค้าด้วยเทคโนโลยีที่เป็นนวัตกรรม

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร.อัชวิน สวามินาธาน เป็นนักวิจัย วิศวกร และผู้จัดการด้านคอมพิวเตอร์วิทัศน์และแมชชีนเลิร์นนิงที่มีประสบการณ์ในอุตสาหกรรมมากกว่า 12 ปี และประสบการณ์การวิจัยเชิงวิชาการมากกว่า 5 ปี พื้นฐานที่แข็งแกร่งและความสามารถที่ได้รับการพิสูจน์แล้วในการรับความรู้อย่างรวดเร็วและมีส่วนร่วมในพื้นที่ใหม่และที่เกิดขึ้นใหม่

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร.หยูเซิง เสีย เป็นนักวิทยาศาสตร์ประยุกต์หลักที่ Amazon AGI งานของเขามุ่งเน้นไปที่การสร้างแบบจำลองรากฐานหลายรูปแบบ ก่อนที่จะมาร่วมงานกับ AGI เขาเคยเป็นผู้นำการพัฒนา AI แบบหลายรูปแบบที่ AWS เช่น Amazon Titan Image Generator และ Amazon Textract Queries

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร.เฮาหยาง เป็นนักวิทยาศาสตร์ประยุกต์หลักที่ Amazon งานวิจัยที่เขาสนใจคือการตรวจจับวัตถุและการเรียนรู้โดยมีคำอธิบายประกอบจำกัด ภายนอกงาน เฮาชอบดูหนัง ภาพถ่าย และกิจกรรมกลางแจ้ง

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร.ดาวิเด โมโดโล เป็นผู้จัดการวิทยาศาสตร์ประยุกต์ที่ Amazon AGI ซึ่งทำงานเกี่ยวกับการสร้างแบบจำลองพื้นฐานหลายรูปแบบขนาดใหญ่ ก่อนที่จะมาร่วมงานกับ Amazon AGI เขาเป็นผู้จัดการ/หัวหน้าเป็นเวลา 7 ปีใน AWS AI Labs (Amazon Bedrock และ Amazon Rekognition) นอกเหนือจากการทำงาน เขาชอบท่องเที่ยวและเล่นกีฬาทุกประเภท โดยเฉพาะฟุตบอล

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร. ไป่ฉวน ซุน ปัจจุบันดำรงตำแหน่งสถาปนิกอาวุโสด้านโซลูชัน AI/ML ที่ AWS โดยมุ่งเน้นที่ AI เชิงสร้างสรรค์ และใช้ความรู้ของเขาในด้านวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่องจักรเพื่อมอบโซลูชันธุรกิจบนระบบคลาวด์ที่ใช้งานได้จริง ด้วยประสบการณ์ในการให้คำปรึกษาด้านการจัดการและสถาปัตยกรรมโซลูชัน AI เขาจัดการกับความท้าทายที่ซับซ้อนมากมาย รวมถึงคอมพิวเตอร์วิทัศน์ด้านหุ่นยนต์ การคาดการณ์อนุกรมเวลา และการบำรุงรักษาเชิงคาดการณ์ และอื่นๆ อีกมากมาย งานของเขามีพื้นฐานมาจากการบริหารโครงการ การวิจัยและพัฒนาซอฟต์แวร์ และงานด้านวิชาการ นอกเหนือจากการทำงาน ดร. ซันยังสนุกกับความสมดุลระหว่างการเดินทางและการใช้เวลาร่วมกับครอบครัวและเพื่อนฝูง

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ดร.ไค จู ปัจจุบันทำงานเป็นวิศวกรสนับสนุนระบบคลาวด์ที่ AWS ช่วยเหลือลูกค้าที่มีปัญหาในบริการที่เกี่ยวข้องกับ AI/ML เช่น SageMaker, Bedrock ฯลฯ เขาเป็นผู้เชี่ยวชาญเฉพาะเรื่องของ SageMaker มีประสบการณ์ในด้านวิทยาศาสตร์ข้อมูลและวิศวกรรมข้อมูล เขาสนใจที่จะสร้างโครงการที่ขับเคลื่อนด้วย AI แบบสร้างสรรค์

ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.คริส ชูลท์ซ ใช้เวลากว่า 25 ปีในการนำประสบการณ์ผู้ใช้ที่น่าดึงดูดมาสู่ชีวิตด้วยการผสมผสานเทคโนโลยีเกิดใหม่เข้ากับการออกแบบระดับโลก ในบทบาทของเขาในฐานะผู้จัดการผลิตภัณฑ์อาวุโส Kris ช่วยออกแบบและสร้างบริการของ AWS เพื่อขับเคลื่อนสื่อและความบันเทิง เกม และคอมพิวเตอร์เชิงพื้นที่


ภาคผนวก

ในส่วนต่อไปนี้ เราจะสาธิตกรณีการใช้งานตัวอย่างที่ท้าทาย เช่น การแทรกข้อความ เข็มนาฬิกา และการสะท้อน เพื่อเน้นความสามารถของโมเดล Titan Image Generator นอกจากนี้เรายังรวมภาพผลลัพธ์ตัวอย่างที่สร้างขึ้นในตัวอย่างก่อนหน้านี้ด้วย

ข้อความ

โมเดล Titan Image Generator เป็นเลิศในขั้นตอนการทำงานที่ซับซ้อน เช่น การแทรกข้อความที่อ่านได้ลงในรูปภาพ ตัวอย่างนี้แสดงให้เห็นถึงความสามารถของ Titan ในการแสดงตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กอย่างชัดเจนในรูปแบบที่สอดคล้องกันภายในรูปภาพ

คอร์กี้สวมหมวกเบสบอลพร้อมข้อความ "เกไน" เด็กชายผู้มีความสุขยกนิ้วโป้งให้สวมเสื้อยืดที่มีข้อความว่า “Generative AI”
ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

มือ

โมเดล Titan Image Generator ยังมีความสามารถในการสร้างภาพ AI ที่มีรายละเอียดอีกด้วย รูปภาพแสดงมือและนิ้วที่สมจริงพร้อมรายละเอียดที่มองเห็นได้ นอกเหนือไปจากการสร้างภาพ AI ขั้นพื้นฐานที่อาจขาดความเฉพาะเจาะจงดังกล่าว ในตัวอย่างต่อไปนี้ ให้สังเกตการแสดงท่าทางและกายวิภาคที่แม่นยำ

มือของบุคคลเมื่อมองจากด้านบน มองมือคนถือแก้วกาแฟอย่างใกล้ชิด
ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

กระจกเงา

รูปภาพที่สร้างโดยโมเดล Titan Image Generator จะจัดเรียงวัตถุเชิงพื้นที่และสะท้อนเอฟเฟกต์กระจกอย่างแม่นยำ ดังแสดงในตัวอย่างต่อไปนี้

แมวสีขาวขนฟูน่ารักยืนบนขาหลัง มองเข้าไปในกระจกสีทองหรูหราอย่างอยากรู้อยากเห็น ในเงาสะท้อนที่แมวมองเห็นตัวเอง ทะเลสาบท้องฟ้าที่สวยงามพร้อมเงาสะท้อนบนน้ำ
ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. ใช้โมเดล Amazon Titan สำหรับการสร้าง การแก้ไข และการค้นหารูปภาพ | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

รูปภาพผลิตภัณฑ์สังเคราะห์

ต่อไปนี้คือรูปภาพผลิตภัณฑ์ที่สร้างขึ้นก่อนหน้าในโพสต์นี้สำหรับโมเดล Titan Multimodal Embeddings

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS