Dil modelleriyle metin üretme

Amazon Bedrock'a Giriş

Nikhil Rangarajan

Data Scientist

Dil modellerine prompt gönderme

  • Prompt: modele gönderdiğiniz giriş metni
    • "Explain how AWS Lambda works"

Promptu temsil eden bir simge.

Amazon Bedrock'a Giriş

Dil modellerine prompt gönderme

  • Prompt: modele gönderdiğiniz giriş metni
    • "Explain how AWS Lambda works"
  • Completion: modelin ürettiği metin
    • "AWS Lambda is a serverless compute service that..."

Prompt ve completion'ı temsil eden simgeler.

Amazon Bedrock'a Giriş

Dil modellerine prompt gönderme

  • Prompt: modele gönderdiğiniz giriş metni
    • "Explain how AWS Lambda works"
  • Completion: modelin ürettiği metin
    • "AWS Lambda is a serverless compute service that..."
  • Response:
    • Üretilen metin (completion)
    • Meta veriler (tokenlar, model bilgisi)
    • Durum bilgisi

Prompt, completion ve response'u sırayla temsil eden üç simge.

Amazon Bedrock'a Giriş

Temel prompt mühendisliği tekniklerini uygulama

  • Daha iyi sonuçlar için teknikler:
    • Açıklık ve özgüllük: ayrıntılı, net talimatlar yazın
    • Rol atama: bağlamı güçlendirmek için persona verin
    • Biçimlendirme talimatları: yanıtı yönlendirmek için kısıtlar ekleyin
"Explain the benefits of exercise 
in simple terms."
"You are a nutritionist. Explain the 
benefits of a balanced diet."
"List the top 3 benefits of cloud 
computing in bullet points."
Amazon Bedrock'a Giriş

Gelişmiş metin ayrıştırma teknikleri

  • Eksik veya beklenmeyen anahtarları ele alın
data = json.loads(response['body'].read())
if 'completion' in data:
    output = data['completion']

else: output = "Key not found"
  • Derin yapılar için çok seviyeli JSON ayrıştırma
try:
    nova_output = data.decode()["output"]

except (KeyError, IndexError) as e: nova_output = f"Error: {str(e)}"
Amazon Bedrock'a Giriş

Yanıt işleme ve metin yönetimi

  • Unicode/kodlama sorunları: yanıtlardaki özel karakterleri yönetin
    # Ensure proper encoding
    output = data['completion'].encode('utf-8').decode('unicode_escape')
    print(output)
    
  • Büyük yanıtları işleme: kullanılabilirlik için bölün veya kesintileyin
    # Truncate response for display
    output = data['completion'][:500]  # Limit to 500 characters
    print(output)
    
Amazon Bedrock'a Giriş

Bedrock ile kategori çıkarımı

  • Örnek: metin verisini sınıflandırma
  • Net kategori seçenekleriyle yapılandırılmış promptlar kullanın
  • Tek kategori çıktısı için açık talimat verin
  • Model yanıtlarını verimli işleyin
  • Sonuç: Doğru metin kategorilendirme

Metin sınıflandırmayı temsil eden simgeler

Amazon Bedrock'a Giriş

Bedrock ile kategori çıkarımı

def categorize_ticket(ticket, categories):
  prompt = f"Categorize into one: {', '.join(categories)}. 
  Ticket: {ticket}"
  response = bedrock.invoke_model(
    modelId='amazon.nova-micro-v1:0',
    body=json.dumps({"messages": [{"role": "user", "content": 
                                   [{"text": prompt}]}]}))

return json.loads(nova_response.get("body").read().decode())["output"]
{"output": {"message": {"role": "assistant","content": [
        {
          "text": "Customer Service"
        }]}, "stop_reason": "stop_sequence"}}
Amazon Bedrock'a Giriş

Hadi pratik yapalım!

Amazon Bedrock'a Giriş

Preparing Video For Download...