هياكل البيانات للذكاء الاصطناعي
القواميس
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. :::