واجهة OpenAI Assistants API وسلاسل المحادثات
وكلاء OpenAI المُدارون: بنية تحتية معدومة، لكن مع الارتهان للمورّد ونقص في قابلية المراقبة.
واجهة OpenAI Assistants API وسلاسل المحادثات درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
ما هو؟
OpenAI Assistants API هو منتج مُدار للوكلاء. تحددون مساعدًا (النموذج + التعليمات + الأدوات)، ويتفاعل المستخدمون عبر «سلاسل المحادثات» (المحادثات). وتتولى OpenAI إدارة الحالة وRAG ومفسر الشيفرة وتخزين الملفات.
ميزتان بارزتان
- بحث الملفات المضمّن — نظام RAG مُدار، من دون الحاجة إلى تشغيل قاعدة بيانات متجهات
- مفسّر التعليمات البرمجية المضمّن — تنفيذ Python في بيئة معزولة
إذا كنتم تريدون هذه الميزات من دون بنائها بأنفسكم، فإن Assistants يتيح ذلك بسرعة.
Creating an Assistant
from openai import OpenAI
client = OpenAI()
assistant = client.beta.assistants.create(
name='Support Bot',
instructions='You help customers with orders.',
model='gpt-4o-mini',
tools=[{'type': 'file_search'}, {'type': 'code_interpreter'}]
)Threads = Conversations
thread = client.beta.threads.create()
client.beta.threads.messages.create(
thread_id=thread.id,
role='user',
content='Where is my order?'
)
run = client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=assistant.id
)الاستطلاع حتى الاكتمال
عمليات التشغيل غير متزامنة. أجروا الاستطلاع حتى تكتمل:
import time
while run.status not in ('completed', 'failed', 'requires_action'):
time.sleep(1)
run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)استدعاء الدوال
النمط نفسه المستخدم مع أدوات chat.completions. عندما تصبح قيمة run.status مساوية لـ 'requires_action'، نفّذوا استدعاءات الأدوات وأرسلوا النتائج:
if run.status == 'requires_action':
tool_outputs = []
for tc in run.required_action.submit_tool_outputs.tool_calls:
result = dispatch(tc)
tool_outputs.append({'tool_call_id': tc.id, 'output': json.dumps(result)})
client.beta.threads.runs.submit_tool_outputs(thread_id=thread.id, run_id=run.id, tool_outputs=tool_outputs)File Search (Vector Store)
vector_store = client.beta.vector_stores.create(name='docs')
client.beta.vector_stores.file_batches.upload_and_poll(
vector_store_id=vector_store.id,
files=[open('handbook.pdf', 'rb')]
)
assistant = client.beta.assistants.update(assistant.id, tool_resources={'file_search': {'vector_store_ids': [vector_store.id]}})مفسّر التعليمات البرمجية
أضيفوا code_interpreter ليحصل Assistant على بيئة Python معزولة. وهذا مناسب جدًا لمهام البيانات:
{'type': 'code_interpreter'}Streaming
with client.beta.threads.runs.stream(thread_id=thread.id, assistant_id=assistant.id) as stream:
for event in stream:
print(event)المفاضلات
- + لا حاجة إلى بنية تحتية لمخازن المتجهات والبيئة المعزولة
- + إدارة الذاكرة وحالة السلسلة مضمّنة
- + استشهادات مضمّنة من file_search
- - الارتهان إلى المورّد
- - تحكّم أقل في استراتيجية الاسترجاع
- - زمن الاستجابة أعلى من chat.completions المباشر
- - إمكانات المراقبة محدودة أكثر
خارطة الطريق
أعلنت OpenAI عن Responses API بوصفها خلفًا لـ Assistants. وتنتظر بعض الفرق إلى أن تستقر Responses قبل اعتماد Assistants.
استخدموه للنماذج الأولية
هل تريدون إنشاء روبوت للإجابة عن الأسئلة المتعلقة بالوثائق في 50 سطرًا؟ من الصعب التفوق على Assistants في ذلك. أما في الإنتاج مع اتفاقيات مستوى خدمة صارمة واسترجاع مخصص، فابنوه بأنفسكم.
التكلفة
يفرض Assistants الرسوم التالية:
- التكاليف المعتادة للرموز
- file_search: تخزين يُحاسب عليه لكل غيغابايت يوميًا
- code_interpreter: يُحاسب عليه لكل جلسة
يكون رخيصًا عند الاستخدام منخفض الحجم، لكن التكلفة قد تتراكم مع الاستخدام المكثف.
أنسب استخدامات Assistants
ما حالة الاستخدام الأنسب لـ Assistants API؟
مراجعة سريعة
Assistants = منتج وكلاء مُدار. يجمع بين file_search وcode_interpreter والسلاسل. مناسب جدًا للنماذج الأولية، وأقل ملاءمة للإنتاج واسع النطاق. تابعوا Responses API.
الأسئلة الشائعة
هل درس «واجهة OpenAI Assistants API وسلاسل المحادثات» مجاني؟
نعم — نص درس «واجهة OpenAI Assistants API وسلاسل المحادثات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «واجهة OpenAI Assistants API وسلاسل المحادثات»؟
وكلاء OpenAI المُدارون: بنية تحتية معدومة، لكن مع الارتهان للمورّد ونقص في قابلية المراقبة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «واجهة OpenAI Assistants API وسلاسل المحادثات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- LangGraph مقابل CrewAI مقابل AutoGen
- Letta (المعروف سابقًا باسم MemGPT) للوكلاء طويلي العمر
- واجهة OpenAI Assistants API وسلاسل المحادثات
- اختيار الإطار المناسب لكل حالة استخدام