شروع کار با آمازون Titan Text Embeddings در Amazon Bedrock | خدمات وب آمازون

شروع کار با آمازون Titan Text Embeddings در Amazon Bedrock | خدمات وب آمازون

جاسازی‌ها نقش کلیدی در پردازش زبان طبیعی (NLP) و یادگیری ماشین (ML) دارند. جاسازی متن به فرآیند تبدیل متن به نمایش های عددی اشاره دارد که در یک فضای برداری با ابعاد بالا قرار دارند. این تکنیک از طریق استفاده از الگوریتم‌های ML به دست می‌آید که درک معنا و زمینه داده‌ها (روابط معنایی) و یادگیری روابط و الگوهای پیچیده درون داده‌ها (روابط نحوی) را ممکن می‌سازد. می‌توانید از نمایش‌های برداری به‌دست‌آمده برای طیف گسترده‌ای از برنامه‌ها، مانند بازیابی اطلاعات، طبقه‌بندی متن، پردازش زبان طبیعی و بسیاری موارد دیگر استفاده کنید.

جاسازی متن آمازون تایتان یک مدل جاسازی متن است که متن زبان طبیعی را - متشکل از کلمات، عبارات یا حتی اسناد بزرگ - به نمایش‌های عددی تبدیل می‌کند که می‌تواند در موارد استفاده از جمله جستجو، شخصی‌سازی و خوشه‌بندی بر اساس شباهت معنایی استفاده شود.

در این پست به مدل آمازون Titan Text Embeddings، ویژگی های آن و موارد استفاده نمونه می پردازیم.

برخی از مفاهیم کلیدی عبارتند از:

  • نمایش عددی متن (بردارها) معنایی و روابط بین کلمات را نشان می دهد
  • برای مقایسه شباهت متن می توان از جاسازی های غنی استفاده کرد
  • تعبیه متن چند زبانه می تواند معنی را در زبان های مختلف شناسایی کند

چگونه یک قطعه متن به وکتور تبدیل می شود؟

چندین تکنیک برای تبدیل یک جمله به بردار وجود دارد. یکی از روش‌های رایج استفاده از الگوریتم‌های جاسازی کلمه، مانند Word2Vec، GloVe، یا FastText، و سپس جمع‌آوری واژه‌های embeddings برای تشکیل یک نمایش برداری در سطح جمله است.

یکی دیگر از رویکردهای رایج استفاده از مدل‌های زبان بزرگ (LLMs)، مانند BERT یا GPT است که می‌تواند جاسازی‌های متنی را برای کل جملات فراهم کند. این مدل‌ها مبتنی بر معماری‌های یادگیری عمیق مانند Transformers هستند که می‌توانند اطلاعات متنی و روابط بین کلمات را در یک جمله به طور مؤثرتری ثبت کنند.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

چرا به یک مدل تعبیه نیاز داریم؟

تعبیه‌های برداری برای LLMها برای درک درجات معنایی زبان اساسی است و همچنین به LLMها امکان می‌دهد تا در وظایف پایین‌دستی NLP مانند تجزیه و تحلیل احساسات، شناسایی موجودیت نام‌گذاری شده و طبقه‌بندی متن به خوبی عمل کنند.

علاوه بر جستجوی معنایی، می‌توانید از جاسازی‌ها برای تقویت درخواست‌های خود برای نتایج دقیق‌تر از طریق Retrieval Augmented Generation (RAG) استفاده کنید - اما برای استفاده از آنها، باید آنها را در یک پایگاه داده با قابلیت‌های برداری ذخیره کنید.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

مدل آمازون Titan Text Embeddings برای بازیابی متن بهینه شده است تا موارد استفاده RAG را فعال کند. این به شما امکان می‌دهد ابتدا داده‌های متنی خود را به نمایش‌های عددی یا بردار تبدیل کنید و سپس از آن بردارها برای جستجوی دقیق متن‌های مربوطه از یک پایگاه داده برداری استفاده کنید و به شما امکان می‌دهد از داده‌های اختصاصی خود در ترکیب با سایر مدل‌های پایه استفاده کنید.

زیرا آمازون Titan Text Embeddings یک مدل مدیریت شده است بستر آمازون، به عنوان یک تجربه کاملاً بدون سرور ارائه می شود. می توانید از طریق Amazon Bedrock REST از آن استفاده کنید API یا AWS SDK. پارامترهای مورد نیاز متنی هستند که می‌خواهید جاسازی‌های آن را ایجاد کنید modelID پارامتر، که نشان دهنده نام مدل آمازون Titan Text Embeddings است. کد زیر نمونه ای با استفاده از AWS SDK برای پایتون (Boto3) است:

import boto3
import json #Create the connection to Bedrock
bedrock = boto3.client( service_name='bedrock', region_name='us-west-2', ) bedrock_runtime = boto3.client( service_name='bedrock-runtime', region_name='us-west-2', ) # Let's see all available Amazon Models
available_models = bedrock.list_foundation_models() for model in available_models['modelSummaries']: if 'amazon' in model['modelId']: print(model) # Define prompt and model parameters
prompt_data = """Write me a poem about apples""" body = json.dumps({ "inputText": prompt_data,
}) model_id = 'amazon.titan-embed-text-v1' #look for embeddings in the modelID
accept = 'application/json' content_type = 'application/json' # Invoke model response = bedrock_runtime.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type
) # Print response
response_body = json.loads(response['body'].read())
embedding = response_body.get('embedding') #Print the Embedding print(embedding)

خروجی چیزی شبیه به زیر خواهد بود:

[-0.057861328, -0.15039062, -0.4296875, 0.31054688, ..., -0.15625]

به مراجعه راه اندازی Amazon Bedrock boto3 برای جزئیات بیشتر در مورد نحوه نصب بسته های مورد نیاز، به Amazon Bedrock متصل شوید و مدل ها را فراخوانی کنید.

ویژگی های Amazon Titan Text Embeddings

با آمازون Titan Text Embeddings، می‌توانید تا 8,000 توکن وارد کنید، که آن را برای کار با کلمات، عبارات، یا کل اسناد بر اساس موارد استفاده شما مناسب می‌کند. آمازون تایتان بردارهای خروجی بعد 1536 را برمی‌گرداند و دقت بالایی به آن می‌دهد و در عین حال برای نتایج کم تاخیر و مقرون‌به‌صرفه بهینه‌سازی می‌شود.

آمازون Titan Text Embeddings از ایجاد و جستجوی جاسازی برای متن در بیش از 25 زبان مختلف پشتیبانی می کند. این بدان معناست که می‌توانید بدون نیاز به ایجاد و نگهداری مدل‌های جداگانه برای هر زبانی که می‌خواهید از آن پشتیبانی کنید، مدل را در موارد استفاده خود اعمال کنید.

داشتن یک مدل جاسازی منفرد که بر روی بسیاری از زبان ها آموزش داده شده است، مزایای کلیدی زیر را به همراه دارد:

  • دسترسی گسترده تر - با پشتیبانی از بیش از 25 زبان خارج از جعبه، می توانید دسترسی برنامه های خود را به کاربران و محتوا در بسیاری از بازارهای بین المللی گسترش دهید.
  • عملکرد مداوم - با یک مدل یکپارچه که چندین زبان را پوشش می دهد، به جای بهینه سازی جداگانه برای هر زبان، نتایج ثابتی را در بین زبان ها دریافت می کنید. این مدل به طور جامع آموزش داده شده است، بنابراین شما از مزیت بین زبان‌ها بهره می‌برید.
  • پشتیبانی از پرس و جو چند زبانه – Amazon Titan Text Embeddings امکان جستجوی جاسازی متن در هر یک از زبان های پشتیبانی شده را می دهد. این انعطاف‌پذیری را برای بازیابی محتوای مشابه معنایی در بین زبان‌ها بدون محدود شدن به یک زبان فراهم می‌کند. می‌توانید برنامه‌هایی بسازید که داده‌های چندزبانه را با استفاده از همان فضای جاسازی یکپارچه جستجو و تحلیل می‌کنند.

از زمان نگارش این مقاله، زبان‌های زیر پشتیبانی می‌شوند:

  • عربی
  • زبان چینی ساده شده)
  • چینی (سنتی)
  • کشور چک
  • هلندی
  • انگلیسی
  • فرانسوی
  • آلمانی
  • عبری
  • هندی
  • ایتالیایی
  • ژاپنی
  • کانادهای
  • کره ای
  • مالایایی
  • مراتی
  • لهستانی
  • پرتغالی
  • روسی
  • اسپانیایی
  • سوئد
  • فیلیپینی تاگالوگ
  • تامیل
  • تلوگو
  • ترکی

استفاده از جاسازی متن آمازون Titan با LangChain

LangChain یک چارچوب متن باز محبوب برای کار با آن است هوش مصنوعی مولد مدل ها و فناوری های پشتیبانی شامل الف است مشتری BedrockEmbeddings که به راحتی Boto3 SDK را با یک لایه انتزاعی می پوشاند. این BedrockEmbeddings کلاینت به شما امکان می دهد بدون اطلاع از جزئیات درخواست JSON یا ساختارهای پاسخ، مستقیماً با متن و جاسازی ها کار کنید. مثال زیر یک مثال ساده است:

from langchain.embeddings import BedrockEmbeddings #create an Amazon Titan Text Embeddings client
embeddings_client = BedrockEmbeddings() #Define the text from which to create embeddings
text = "Can you please tell me how to get to the bakery?" #Invoke the model
embedding = embeddings_client.embed_query(text) #Print response
print(embedding)

شما همچنین می توانید از LangChain استفاده کنید BedrockEmbeddings مشتری در کنار مشتری Amazon Bedrock LLM برای ساده سازی پیاده سازی RAG، جستجوی معنایی و سایر الگوهای مرتبط با جاسازی.

از موارد برای جاسازی استفاده کنید

اگرچه RAG در حال حاضر محبوب ترین مورد استفاده برای کار با جاسازی ها است، موارد استفاده دیگری نیز وجود دارد که می توان از جاسازی ها استفاده کرد. در زیر چند سناریو اضافی وجود دارد که در آنها می‌توانید از جاسازی‌ها برای حل مشکلات خاص، به تنهایی یا با همکاری یک LLM استفاده کنید:

  • پرسش و پاسخ - تعبیه‌ها می‌توانند به پشتیبانی از رابط‌های پرسش و پاسخ از طریق الگوی RAG کمک کنند. ایجاد تعبیه‌های جفت شده با یک پایگاه داده برداری به شما امکان می‌دهد تطابق نزدیک بین سؤالات و محتوا را در یک مخزن دانش پیدا کنید.
  • توصیه های شخصی - مشابه پرسش و پاسخ، می‌توانید از جاسازی‌ها برای یافتن مقاصد تعطیلات، کالج‌ها، وسایل نقلیه یا سایر محصولات بر اساس معیارهای ارائه شده توسط کاربر استفاده کنید. این می‌تواند به شکل یک لیست ساده از موارد مشابه باشد، یا می‌توانید از یک LLM برای پردازش هر توصیه استفاده کنید و توضیح دهید که چگونه معیارهای کاربر را برآورده می‌کند. همچنین می‌توانید از این رویکرد برای تولید مقالات «10 بهترین» سفارشی برای یک کاربر بر اساس نیازهای خاص خود استفاده کنید.
  • مدیریت اطلاعات – وقتی منابع داده ای دارید که به طور واضح با یکدیگر نگاشت نیستند، اما محتوای متنی دارید که رکورد داده را توصیف می کند، می توانید از جاسازی ها برای شناسایی رکوردهای تکراری احتمالی استفاده کنید. برای مثال، می‌توانید از جاسازی‌ها برای شناسایی نامزدهای تکراری استفاده کنید که ممکن است از قالب‌بندی، اختصارات یا حتی نام‌های ترجمه شده استفاده کنند.
  • منطقی سازی نمونه کارها - هنگامی که به دنبال همراستا کردن پورتفولیوهای برنامه در یک شرکت مادر و یک خرید هستید، همیشه مشخص نیست که پیدا کردن همپوشانی بالقوه از کجا شروع شود. کیفیت داده‌های مدیریت پیکربندی می‌تواند یک عامل محدودکننده باشد و هماهنگی بین تیم‌ها برای درک چشم‌انداز برنامه دشوار است. با استفاده از تطبیق معنایی با جاسازی‌ها، می‌توانیم تجزیه و تحلیل سریعی را در سراسر مجموعه‌های برنامه‌ها انجام دهیم تا برنامه‌های کاربردی با پتانسیل بالا را برای منطقی‌سازی شناسایی کنیم.
  • گروه بندی محتوا - می‌توانید از جاسازی‌ها برای کمک به گروه‌بندی محتوای مشابه به دسته‌هایی که ممکن است از قبل نمی‌دانید، استفاده کنید. به عنوان مثال، فرض کنید مجموعه ای از ایمیل های مشتری یا بررسی آنلاین محصول را داشتید. می‌توانید برای هر آیتم جاسازی‌هایی ایجاد کنید، سپس آن جاسازی‌ها را اجرا کنید k-به معنای خوشه بندی است برای شناسایی گروه بندی های منطقی نگرانی های مشتری، تمجید یا شکایات محصول، یا موضوعات دیگر. سپس می‌توانید خلاصه‌های متمرکزی را از محتوای آن گروه‌ها با استفاده از یک LLM ایجاد کنید.

مثال جستجوی معنایی

در ما مثال در GitHub، ما یک برنامه جستجوی جاسازی ساده را با Amazon Titan Text Embeddings، LangChain و Streamlit نشان می دهیم.

مثال، پرس و جوی کاربر را با نزدیکترین ورودی های پایگاه داده برداری درون حافظه مطابقت می دهد. سپس آن موارد را مستقیماً در رابط کاربری نمایش می دهیم. اگر می‌خواهید یک برنامه RAG را عیب‌یابی کنید یا مستقیماً یک مدل جاسازی‌ها را ارزیابی کنید، می‌تواند مفید باشد.

برای سادگی، از حافظه داخلی استفاده می کنیم FAISS پایگاه داده برای ذخیره و جستجوی بردارهای embeddings. در یک سناریوی واقعی در مقیاس، شما احتمالاً می خواهید از یک ذخیره داده دائمی مانند موتور برداری برای Amazon OpenSearch Serverless یا pgvector پسوند برای PostgreSQL.

چند دستور از برنامه تحت وب را به زبان های مختلف امتحان کنید، مانند موارد زیر:

  • چگونه می توانم استفاده خود را کنترل کنم؟
  • چگونه می توانم مدل ها را سفارشی کنم؟
  • از کدام زبان های برنامه نویسی می توانم استفاده کنم؟
  • نظر بدهید mes données sont-elles sécurisées ?
  • 私のデータはどのように保護されていますか؟
  • Quais fornecedores de modelos estão disponíveis por meio do bedrock؟
  • در welchen Regionen ist Amazon Bedrock verfügbar؟
  • 有哪些级别的支持؟

توجه داشته باشید که با وجود اینکه منبع منبع به زبان انگلیسی بود، درخواست‌های زبان‌های دیگر با ورودی‌های مرتبط مطابقت داشتند.

نتیجه

قابلیت‌های تولید متن در مدل‌های پایه بسیار هیجان‌انگیز است، اما یادآوری این نکته مهم است که درک متن، یافتن محتوای مرتبط از مجموعه‌ای از دانش، و ایجاد ارتباط بین متن‌ها برای دستیابی به ارزش کامل هوش مصنوعی مولد بسیار مهم است. ما همچنان شاهد ظهور موارد استفاده جدید و جالب برای تعبیه‌ها در سال‌های آینده با ادامه بهبود این مدل‌ها خواهیم بود.

مراحل بعدی

می‌توانید نمونه‌های دیگری از تعبیه‌ها را به عنوان نوت‌بوک یا برنامه‌های آزمایشی در کارگاه‌های زیر بیابید:


درباره نویسنده

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.جیسون استهل یک معمار ارشد راه حل در AWS است که در منطقه نیوانگلند مستقر است. او با مشتریان کار می کند تا قابلیت های AWS را با بزرگترین چالش های تجاری آنها هماهنگ کند. او در خارج از محل کار، وقت خود را صرف ساختن وسایل و تماشای فیلم های کمیک با خانواده اش می کند.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.نیتین اوسبیوس یک معمار راه حل های سازمانی Sr. در AWS، با تجربه در مهندسی نرم افزار، معماری سازمانی، و AI/ML است. او عمیقاً مشتاق کشف امکانات هوش مصنوعی مولد است. او با مشتریان همکاری می کند تا به آنها کمک کند تا برنامه های کاربردی با معماری خوب بر روی پلت فرم AWS بسازند، و به حل چالش های فناوری و کمک به سفر ابری آنها اختصاص دارد.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.راج پاتاک معمار راه حل های اصلی و مشاور فنی شرکت های بزرگ Fortune 50 و موسسات خدمات مالی متوسط ​​(FSI) در سراسر کانادا و ایالات متحده است. او در کاربردهای یادگیری ماشینی مانند هوش مصنوعی تولیدی، پردازش زبان طبیعی، پردازش هوشمند اسناد و MLO تخصص دارد.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.مانی خانوجه یک رهبر فناوری – متخصصان هوش مصنوعی مولد، نویسنده کتاب – یادگیری ماشین کاربردی و محاسبات با عملکرد بالا در AWS، و عضو هیئت مدیره بنیاد آموزش زنان در تولید است. او پروژه های یادگیری ماشینی (ML) را در حوزه های مختلف مانند بینایی کامپیوتر، پردازش زبان طبیعی و هوش مصنوعی مولد رهبری می کند. او به مشتریان کمک می کند تا مدل های بزرگ یادگیری ماشین را در مقیاس بسازند، آموزش دهند و به کار گیرند. او در کنفرانس های داخلی و خارجی مانند re:Invent، Women in Manufacturing West، وبینارهای یوتیوب و GHC 23 صحبت می کند. او در اوقات فراغت خود دوست دارد برای دویدن طولانی در کنار ساحل برود.

Getting started with Amazon Titan Text Embeddings in Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.مارک روی یک معمار اصلی یادگیری ماشین برای AWS است که به مشتریان در طراحی و ساخت راه‌حل‌های AI/ML کمک می‌کند. کار مارک طیف گسترده ای از موارد استفاده از ML را پوشش می دهد، با علاقه اولیه به بینایی کامپیوتر، یادگیری عمیق، و مقیاس بندی ML در سراسر سازمان. او به شرکت ها در بسیاری از صنایع از جمله بیمه، خدمات مالی، رسانه و سرگرمی، مراقبت های بهداشتی، آب و برق و تولید کمک کرده است. مارک دارای شش گواهینامه AWS، از جمله گواهینامه تخصصی ML است. قبل از پیوستن به AWS، مارک به مدت بیش از 25 سال، از جمله 19 سال در خدمات مالی، معمار، توسعه دهنده و رهبر فناوری بود.

تمبر زمان:

بیشتر از آموزش ماشین AWS