برنامهریزی پرسوجو و مسیریابی بازیابی
توسعه عاملهای هوشمند (Agentic Ai) با Langchain و Langgraph
- Classify questions as direct answer, file retrieval, calculation, or clarification.
- Rewrite retrieval queries for document search.
- Route requests to the minimum necessary set of tools and graph nodes.
چرا مسیریابی پرسوجو مهم است؟
```mermaid
درخواست بر اساس نیت به یکی از چهار مسیر میرود.
```
چهار نیت، چهار مسیر
**مجموعه مسیرها**
\[\operatorname{route}(q) \in \{\text{direct},\ \text{retrieval},\ \text{calculation},\ \text{clarification}\}\]
**میانگین سه عدد**
دادهها: `12, 15, 18`\n\[12+15+18=45\]\n\[45/3=15\]\nنتیجه: مسیر `calculation` و میانگین `15`.
بازنویسی برای جستوجوی سند
```mermaid
پرسش طبیعی به ویژگیهای جستوجو تبدیل و سپس به retriever داده میشود.
```
برنامهریزی حداقلی ابزارها
**بازیابی سپس محاسبه**
مقدار بازیابیشده از `config`: `30`\n\[30 \times 2 = 60\]\nنتیجه نهایی: `60`. اگر مقدار پیدا نشود، مسیر به `clarification` میرود.
```mermaid
محاسبه تا زمان پیدا شدن مقدار قابل اجرا نیست.
```
پیادهسازی گره مسیریابی
**ردیابی یک درخواست**
ورودی: `question = «در فایل، timeout نسخه 2 چیست؟»`\n\n`path = "retrieval"`\n\n`rewritten_query = "installation guide timeout version 2"`\n\n`next_node(state) = "retrieve"`
```mermaid
برچسب ساختاریافته، نام گره بعدی را تعیین میکند.
```
جمعبندی مسیریابی
**تمرین چندفایلی**
درخواست: «از سه فایل گزارش، موارد مشترک را پیدا کن و تعدادشان را بشمار.»\n\n۱. اگر تعریف «موارد مشترک» مبهم است: `clarification`.\n۲. پس از روشن شدن تعریف: `retrieval` برای فایلها.\n۳. مقایسه نتایج بازیابیشده.\n۴. شمارش موارد مشترک با `calculation`.
**پرسش سنجش**
کدام مرحله باید پیش از `calculation` انجام شود، وقتی عدد از فایل گرفته میشود؟ پاسخ: `retrieval`، چون محاسبه به مقدار بازیابیشده وابسته است.
بازگشت به دوره