الدرس 6 من 20

هياكل البيانات للذكاء الاصطناعي

القواميس

3 دقيقة للقراءة

القواميس تخزن أزواج المفتاح-القيمة. إنها في كل مكان في تطوير الذكاء الاصطناعي—استجابات API والتكوين وتنسيق الرسائل والمزيد.

إنشاء القواميس

# قاموس فارغ
config = {}

# مع قيم أولية
message = {
    "role": "user",
    "content": "مرحباً، كلود!"
}

# قواميس متداخلة
api_config = {
    "openai": {
        "model": "gpt-4",
        "temperature": 0.7
    },
    "anthropic": {
        "model": "claude-3-opus",
        "max_tokens": 1000
    }
}

الوصول إلى القيم

message = {"role": "user", "content": "مرحباً"}

# الوصول المباشر (يرفع KeyError إذا كان مفقوداً)
role = message["role"]  # "user"

# الوصول الآمن مع .get() (يرجع None إذا كان مفقوداً)
role = message.get("role")           # "user"
name = message.get("name")           # None
name = message.get("name", "ضيف")    # "ضيف" (افتراضي)

تعديل القواميس

config = {"model": "gpt-3.5"}

# إضافة أو تحديث
config["model"] = "gpt-4"          # تحديث موجود
config["temperature"] = 0.7        # إضافة جديد

# تحديث عدة في مرة واحدة
config.update({
    "max_tokens": 1000,
    "top_p": 0.9
})

# إزالة
del config["top_p"]                # حذف مفتاح
value = config.pop("temperature")  # إزالة وإرجاع القيمة

التكرار على القواميس

settings = {"model": "gpt-4", "temp": 0.7}

# المفاتيح فقط
for key in settings:
    print(key)  # "model", "temp"

# القيم فقط
for value in settings.values():
    print(value)  # "gpt-4", 0.7

# المفاتيح والقيم معاً
for key, value in settings.items():
    print(f"{key}: {value}")

الوصول المتداخل

response = {
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "مرحباً!"
            }
        }
    ]
}

# سلسلة الوصول بحذر
content = response["choices"][0]["message"]["content"]

# أكثر أماناً مع .get() للهياكل غير المؤكدة
content = response.get("choices", [{}])[0].get("message", {}).get("content", "")

بعد ذلك، سنتعلم العمل مع بيانات JSON. :::

اختبار

الوحدة 2: هياكل البيانات للذكاء الاصطناعي

خذ الاختبار