Structured data exercise
Structured data exercise
Bu modül için tahmini süre: 5 dakika
Genel bakış
Bu alıştırmada bir önceki derste öğrenilen assistant message prefilling + stop sequences tekniğini bir senaryoya uygulayacağız. Hedef: chat() helper’ımızı stop_sequences parametresini de kabul edecek şekilde genişletmek ve sonra Claude’tan açıklama olmadan tek bir Python fonksiyonu üretmesini sağlamak.
Egzersiz
İki adım var:
chat()fonksiyonunuza opsiyonel birstop_sequencesparametresi ekleyin. Sadece dolu liste geldiğindeparams["stop_sequences"]olarak set edilsin.- Mesaj listesine prefilled bir assistant mesajı (örn.
```python) ekleyin ve Claude’a bir Python fonksiyonu yazdırın.stop_sequences=["\“”]` parametresi ile generation’ı kapanış işaretinde durdurun.
Örnek çözüm
def chat(messages, system=None, temperature=1.0, stop_sequences=[]):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
"temperature": temperature,
}
if system:
params["system"] = system
if stop_sequences:
params["stop_sequences"] = stop_sequences
response = client.messages.create(**params)
return response.content[0].text
messages = []
add_user_message(messages, "Write a Python function that checks a string for duplicate characters")
add_assistant_message(messages, "```python")
answer = chat(messages, stop_sequences=["```"])
print(answer)
Çıktı sadece fonksiyonun gövdesi olur — başında açıklama, sonunda yorum yoktur. answer’ı doğrudan bir .py dosyasına yazabilir veya başka bir pipeline’a feed edebilirsiniz.
Temel çıkarımlar
chat()helper’ına opsiyonelstop_sequencesparametresi eklemek tüm structured-output senaryolarında işinize yarayacak- Prefilled assistant message (örn.
```python) Claude’u o code block’un içinde başlamış gibi davranmaya zorlar ```stop sequence’i, Claude block’u kapatmaya çalıştığında üretimi anında keser; sonuçta sadece kodu alırsınız- Aynı pattern JSON, regex, CSV gibi farklı formatlar için de geçerli — sadece prefill etiketini değiştirin
- Bu teknik, AI çıktısını başka bir programa veya parser’a doğrudan beslemek istediğinizde kritik