0Pricing
AI Prompt Engineering · Ders

Alan Sözlüğü ve Ontoloji Enjeksiyonu

Alana özgü terminoloji ve bilgiyi sistem istemlerine yerleştirme.

Alan Sözlüğü ve Ontoloji Enjeksiyonu, CoddyKit'te ücretsiz bir AI Prompt Engineering dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Prompt Engineering öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Prompt Engineering kursu toplamda 4 dersten oluşur.

Anlam Belirsizliği Sorunu

Alan dili belirsizliklerle doludur. 'Getiri', finansta tahvil getirisini, tarımda ise mahsul verimini ifade eder. 'Çözünürlük', kullanıcı arayüzünde ekran çözünürlüğü, destekte ise sorun çözümü anlamına gelir. Alan bağlamı olmadan modeller, en yaygın genel dil anlamını varsayılan olarak seçer; uzmanlık alanlarında bu yanlıştır.

Alan Sözlüğü Ekleme Deseni

Alan sözlüğünü doğrudan sistem istemine ekleyin. Bu, modelin varsayılan kelime dağarcığını geçersiz kılar ve alan terimlerinin oturum boyunca doğru yorumlanmasını sağlar.

FINANCE_GLOSSARY = '''
DOMAIN GLOSSARY (these definitions override general language meaning):
- yield: bond yield (annual return as percentage of bond price), NOT crop or harvest
- duration: interest rate sensitivity measure (modified duration), NOT time length
- spread: yield spread between two bonds, NOT physical spreading
- convexity: second-order price sensitivity to interest rate changes, NOT geometry
- tenor: remaining time to maturity of a financial instrument, NOT musical pitch
- floor: minimum interest rate in a rate agreement, NOT building floor
- cap: maximum interest rate, NOT a hat or market capitalization
- swap: exchange of cash flows between counterparties, NOT physical exchange
- basis: difference between spot and futures price, NOT foundation
'''

FINANCE_SYSTEM_PROMPT = (
    'You are a fixed income analyst.\n\n'
    + FINANCE_GLOSSARY +
    '\nAlways use these domain definitions when answering questions.'
)

import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')

response = client.messages.create(
    model='claude-opus-4-5', max_tokens=500,
    system=FINANCE_SYSTEM_PROMPT,
    messages=[{'role': 'user', 'content': 'What is the yield of a 10-year bond?'}]
)
print(response.content[0].text)

Alan Sözlüğü Dosyası Oluşturma

Sözlükleri yapılandırılmış YAML dosyaları olarak saklayın; böylece sürümlendirilebilir, istemler arasında paylaşılabilir ve alan uzmanları tarafından istem koduna dokunmadan güncellenebilirler.

# glossaries/fixed_income.yaml
glossary:
  yield:
    domain_meaning: Annual return on a bond as a percentage of its current market price
    general_meaning: Crop or harvest output
    use_domain: true
    examples:
      - 'The 10-year Treasury yield rose to 4.5%'
      - 'Current yield = annual coupon / market price'

  duration:
    domain_meaning: |
      Measure of a bond's price sensitivity to interest rate changes.
      Modified duration = -dP/P / dr
    general_meaning: Length of time
    use_domain: true

  basis:
    domain_meaning: Difference between spot price and futures price of the same instrument
    general_meaning: Foundation or base
    use_domain: true

# glossaries/load.py
import yaml

def load_glossary(domain):
    with open(f'glossaries/{domain}.yaml') as f:
        data = yaml.safe_load(f)
    lines = ['DOMAIN GLOSSARY:']
    for term, info in data['glossary'].items():
        lines.append(f'- {term}: {info["domain_meaning"].strip()}')
    return '\n'.join(lines)

Karmaşık Alanlar için Ontoloji Ekleme

Bir ontoloji bir sözlüğün ötesine geçer — kavramlar arasındaki ilişkileri tanımlar: hiyerarşiler, kısıtlamalar ve kurallar. Bir ontolojiyi eklemek, modelin hangi kavramların hangi kategorilere ait olduğunu ve bunların birbiriyle nasıl ilişkili olduğunu anlamasına yardımcı olur.

MEDICAL_ONTOLOGY_SNIPPET = '''
CLINICAL ONTOLOGY (use these relationships in all analysis):

Diagnosis Hierarchy:
- Condition > Category > Specific Diagnosis
- "Hypertension" is a specific diagnosis under "Cardiovascular Conditions"
- "Type 2 Diabetes" is under "Endocrine / Metabolic Conditions"

Medication Classes:
- ACE inhibitors (e.g., lisinopril) -> used for: hypertension, heart failure, CKD
- Beta-blockers (e.g., metoprolol) -> used for: hypertension, angina, heart failure
- Statins (e.g., atorvastatin) -> used for: hyperlipidemia, cardiovascular risk

Measurement Rules:
- "BP" means Blood Pressure, format: systolic/diastolic (e.g., 130/85 mmHg)
- "A1c" means glycated hemoglobin; > 6.5% is diagnostic for Type 2 Diabetes
- "eGFR" means estimated Glomerular Filtration Rate; < 60 mL/min/1.73m2 = CKD

Always use ICD-10 categories when classifying diagnoses.
'''

print(MEDICAL_ONTOLOGY_SNIPPET[:300])

Dinamik Alan Sözlüğü Oluşturma

Büyük bilgi tabanları için odaklanmış bir alan sözlüğünü dinamik olarak oluşturun — bağlam penceresini yalın tutarak ana sözlükten yalnızca mevcut görevle en ilgili terimleri çıkarın.

import json

# master_glossary.json — full domain glossary
MASTER_GLOSSARY = {
    'yield': 'Bond yield: annual return as percentage of current market price',
    'duration': 'Modified duration: bond price sensitivity to rate changes',
    'convexity': 'Second-order rate sensitivity measure',
    'swap': 'Exchange of fixed and floating cash flows',
    'option': 'Contract giving right (not obligation) to buy/sell an asset',
    'beta': 'Stock volatility relative to market index',
    'alpha': 'Excess return over benchmark after adjusting for risk',
    # ... hundreds more
}

def focused_glossary(user_query, master_glossary, max_terms=10):
    '''Select glossary terms most relevant to the user query.'''
    query_lower = user_query.lower()
    relevant = {}
    for term, definition in master_glossary.items():
        if term.lower() in query_lower or any(
            word in query_lower for word in definition.lower().split()[:5]
        ):
            relevant[term] = definition
        if len(relevant) >= max_terms:
            break
    lines = ['RELEVANT DOMAIN TERMS:']
    for t, d in relevant.items():
        lines.append(f'- {t}: {d}')
    return '\n'.join(lines)

query = 'What is the duration and convexity of this bond portfolio?'
print(focused_glossary(query, MASTER_GLOSSARY))

Çok Alanlı Anlam Belirsizliğini Giderme

Bazı sorgular birden çok alanı kapsar. İlgili tüm alanlar için alan bağlamını ekleyin ve modele konuşma bağlamına göre anlam belirsizliğini gidermesini söyleyin.

MULTI_DOMAIN_SYSTEM = '''
This system serves both agricultural and financial users.
The domain is determined by context cues in the user message.

Domain disambiguation rules:
- If the user mentions "crops", "harvest", "acres", "soil", "planting":
  Use AGRICULTURAL definitions: yield = crop output, spread = physical spreading
- If the user mentions "bonds", "portfolio", "maturity", "coupon", "treasuries":
  Use FINANCIAL definitions: yield = bond yield, spread = yield spread
- If the domain is ambiguous:
  Ask the user to clarify: "Are you asking about agricultural or financial yields?"

AGRICULTURAL GLOSSARY:
- yield: crop output per unit area (e.g., bushels per acre)
- basis: difference between local cash price and futures price for a commodity

FINANCIAL GLOSSARY:
- yield: annual bond return as percentage of current price
- basis: yield spread between two financial instruments
'''

print('Multi-domain system prompt loaded.')
print('The model will ask for clarification when domain is ambiguous.')

Ontolojiyle Kısıtlanmış Çıktı

Ontoloji ekleme, modelin çıktısını yalnızca önceden tanımlanmış kategorileri kullanacak şekilde kısıtlayabilir; böylece sonraki işleme sürecini bozan serbest biçimli kategorilendirme önlenir.

SUPPORT_ONTOLOGY_SYSTEM = '''
You are a support ticket classifier for a B2B SaaS company.

TICKET CATEGORY ONTOLOGY (use ONLY these exact category names):
Level 1 Categories:
- Billing > Sub-categories: Invoice Error, Subscription Change, Refund Request, Payment Failure
- Technical > Sub-categories: Bug Report, Performance Issue, Integration Error, Feature Not Working
- Account > Sub-categories: Access Request, User Management, Security Concern, Password Reset
- Feature Request > Sub-categories: New Feature, Enhancement, UI/UX Improvement

CLASSIFICATION RULES:
1. Always return exactly one Level 1 category and one Sub-category.
2. If ticket spans multiple categories, choose the PRIMARY issue.
3. If uncertain, use the category that would route to the most qualified team.
4. Return format: {"category": "Technical", "subcategory": "Bug Report", "confidence": "HIGH"}
   Confidence: HIGH (clear), MEDIUM (likely), LOW (ambiguous)
'''

def classify_ticket(ticket_text):
    import json
    response = client.messages.create(
        model='claude-opus-4-5', max_tokens=100,
        system=SUPPORT_ONTOLOGY_SYSTEM,
        messages=[{'role': 'user', 'content': f'Classify: {ticket_text}'}]
    )
    return json.loads(response.content[0].text)

Hukuki Ontoloji Ekleme

Hukuk alanı ontolojileri sözleşme maddesi hiyerarşilerini, taraf ilişkilerini ve yükümlülük türlerini tanımlar. Bunları eklemek, tüm sözleşme analizi görevlerinde tutarlı sınıflandırma yapılmasını sağlar.

LEGAL_ONTOLOGY = '''
CONTRACT CLAUSE ONTOLOGY:

Obligation Types:
- SHALL: mandatory obligation (enforceable duty)
- MAY: permissive right (optional action)
- SHALL NOT: mandatory prohibition
- WILL: future intention (weaker than SHALL)

Clause Risk Hierarchy:
- CRITICAL: financial exposure > $1M or termination rights
- HIGH: material business impact, IP rights, indemnification
- MEDIUM: operational restrictions, notice requirements
- LOW: administrative provisions, definitions

Party References (standardize to these canonical forms):
- "the Company", "we", "us" -> VENDOR
- "Customer", "Client", "you" -> CUSTOMER
- "third party", "subcontractor" -> THIRD_PARTY

Always use these canonical party names in your analysis.
Do not use the actual company names — replace with canonical form.
'''

print('Legal ontology loaded. Party names will be canonicalized in all analysis.')

Terim Tutarlılığı Denetleyicisi

Model çıktısını aldıktan sonra, alan terimlerinin tutarlı kullanıldığını ve yeniden genel dil anlamlarına kaymadığını doğrulayın. İşleme sonrası bir denetim, terim kaymasını yakalar.

PROHIBITED_GENERAL_MEANINGS = {
    # In fixed income context: these general meanings should not appear
    'yield': ['harvest', 'crop', 'produce', 'give way', 'surrender'],
    'duration': ['how long', 'length of time', 'period of time'],
    'floor': ['ground floor', 'building floor', 'floor plan'],
    'cap': ['hat', 'market cap', 'bottle cap'],
}

def check_terminology_consistency(text, domain_term):
    text_lower = text.lower()
    prohibited = PROHIBITED_GENERAL_MEANINGS.get(domain_term, [])
    violations = []
    for general_phrase in prohibited:
        if general_phrase in text_lower:
            # Find context window around the violation
            idx = text_lower.index(general_phrase)
            context = text[max(0, idx-50):idx+80]
            violations.append({'phrase': general_phrase, 'context': context})
    return violations

# Usage after LLM call
output = 'The yield of the bond is 4.5% per annum based on current market price.'
violations = check_terminology_consistency(output, 'yield')
if violations:
    print('Terminology violation detected:', violations)
else:
    print('Terminology consistency: PASS')

Sözlük Sürümü Yönetimi

Alan sözlükleri istemlerle birlikte sürümlendirilmelidir. Bir terim değişikliği (yeni bir düzenleyici tanım, güncellenmiş bir klinik standart), etkilenen terimleri kullanan tüm istemlerin yeniden değerlendirilmesini gerektirir.

# Glossary versioning with impact tracking
GLOSSARY_VERSIONS = {
    '1.0.0': {
        'yield': 'Bond yield: annual coupon / face value (current yield)',
        'duration': 'Macaulay duration'
    },
    '2.0.0': {
        'yield': 'Bond yield: annual return as % of current market price (yield to maturity)',
        'duration': 'Modified duration (more precise for risk management)',
        'convexity': 'Second-order rate sensitivity (new in v2)'  # new term
    }
}

def get_affected_prompts(old_version, new_version, prompt_registry):
    '''Find prompts that use terms changed between glossary versions.'''
    old_terms = set(GLOSSARY_VERSIONS[old_version].keys())
    new_terms = set(GLOSSARY_VERSIONS[new_version].keys())
    changed_terms = old_terms ^ new_terms  # symmetric difference

    affected = []
    for prompt_id, artifact in prompt_registry.items():
        if any(term in artifact['template'] for term in changed_terms):
            affected.append(prompt_id)
    return affected

print('Prompts affected by glossary v1.0.0 -> v2.0.0 update:', ['rate-analysis-v1', 'bond-report'])

Üst-Alt İlişkilerine Sahip Hiyerarşik Ontoloji

Tam ontolojiler, üst-alt kavram hiyerarşilerini tanımlar. Bir hiyerarşiyle istem oluşturmak, modelin doğru özgüllük düzeyinde akıl yürütmesini sağlar — ne fazla genel ne de fazla dar.

PRODUCT_ONTOLOGY = '''
PRODUCT CATEGORY ONTOLOGY (use for all product classification tasks):

Electronics
  Computing
    Laptops
      Gaming Laptops
      Ultrabooks
      Workstations
    Desktops
    Tablets
  Consumer Electronics
    Smartphones
    Smart Speakers
    Wearables
      Smartwatches
      Fitness Trackers

CLASSIFICATION RULES:
1. Always classify to the most specific level where evidence exists.
2. If a product matches multiple branches, use the primary use case.
3. Use exact taxonomy names from above — do not invent new categories.
4. If a product does not fit, use the nearest parent category and
   add "[NON-STANDARD: <reason>]" after the category name.
'''

print('Product ontology ready. 4-level hierarchy loaded.')

Hızlı Kontrol

Model, tahvil portföylerini analiz etmek üzere devreye alınmıştır. Sözlük eklenmediğinde model, 'Bu finansal aracın getirisi nedir?' sorusunu mahsul verimini açıklayarak yorumluyor. Temel neden ve çözüm nedir?

Sözlük ve Ontoloji Ekleme Özeti

Alan sözlüğü ve ontoloji ekleme, terimsel belirsizliği sistem düzeyinde çözer:

  • Alan sözlüğü ekleme: Belirsiz terimler için alana özgü anlamları sistem isteminde tanımlayın
  • Ontoloji ekleme: Kavram hiyerarşileri, ilişki kuralları ve sınıflandırma kısıtlamaları sağlayın
  • Dinamik alan sözlüğü: Bağlam pencerelerini yalın tutmak için ana sözlükten yalnızca ilgili terimleri seçin
  • Çok alanlı anlam belirsizliğini giderme: Bağlama dayalı alan tespiti için kurallar ekleyin
  • Sürüm yönetimi: Terimler değiştiğinde sözlükler sürümlendirilmeli ve istemler yeniden değerlendirilmelidir
  • Tutarlılık denetimi: Terim kaymasını tespit etmek için çıktıları işleme sonrası denetimden geçirin

Sıkça Sorulan Sorular

“Alan Sözlüğü ve Ontoloji Enjeksiyonu” dersi ücretsiz mi?

Evet — “Alan Sözlüğü ve Ontoloji Enjeksiyonu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Prompt Engineering kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Prompt Engineering kursu toplamda 4 dersten oluşur.

“Alan Sözlüğü ve Ontoloji Enjeksiyonu” dersinde ne öğreneceğim?

Alana özgü terminoloji ve bilgiyi sistem istemlerine yerleştirme. AI Prompt Engineering ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Prompt Engineering öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Prompt Engineering, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Alan Sözlüğü ve Ontoloji Enjeksiyonu” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Prompt Engineering dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Prompt Engineering dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Hukuk Alanı İstem Kalıpları
  2. Tıp ve Klinik İstem Oluşturma
  3. Finansal ve Nicel İstemler
  4. Alan Sözlüğü ve Ontoloji Enjeksiyonu
← AI Prompt Engineering Sayfasına Dön