UPDATE
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
راهنمای استخراج برنامه کودهی از متن آزاد
|
||||
|
||||
هدف:
|
||||
تبدیل توضیح متنی کشاورز درباره برنامه کودهی به JSON ساختاریافته.
|
||||
|
||||
اطلاعات کلیدی که معمولا باید استخراج شوند:
|
||||
- نام محصول
|
||||
- مرحله رشد
|
||||
- هدف مصرف
|
||||
- نام یا فرمول کود
|
||||
- مقدار مصرف
|
||||
- روش مصرف
|
||||
- زمان مصرف
|
||||
- فاصله بین نوبت ها
|
||||
- توضیح تکمیلی یا هشدار
|
||||
|
||||
نمونه عبارت های رایج:
|
||||
- هر 10 روز یک بار
|
||||
- بعد از آبیاری
|
||||
- به صورت کودآبیاری
|
||||
- سرک
|
||||
- محلول پاشی
|
||||
- 35 کیلوگرم در هکتار
|
||||
- 20-20-20
|
||||
- برای تقویت رشد رویشی
|
||||
- برای شروع گلدهی
|
||||
|
||||
اگر متن ناقص بود، باید فقط سوال های لازم برای تکمیل برنامه نهایی پرسیده شود و از حدس زدن خودداری شود.
|
||||
@@ -0,0 +1,28 @@
|
||||
راهنمای استخراج برنامه آبیاری از متن آزاد
|
||||
|
||||
هدف:
|
||||
تبدیل توضیح متنی کشاورز درباره برنامه آبیاری به JSON ساختاریافته.
|
||||
|
||||
اطلاعات کلیدی که معمولا باید استخراج شوند:
|
||||
- نام محصول
|
||||
- مرحله رشد
|
||||
- روش آبیاری
|
||||
- مقدار آب در هر نوبت
|
||||
- مدت زمان هر نوبت
|
||||
- فاصله یا تعداد دفعات آبیاری
|
||||
- زمان مناسب اجرا در روز
|
||||
- تاریخ شروع یا شرایط شروع
|
||||
- ناحیه یا سطح هدف
|
||||
- نکات تکمیلی
|
||||
|
||||
نمونه عبارت های رایج:
|
||||
- هر سه روز یک بار
|
||||
- هفته ای دو نوبت
|
||||
- صبح زود
|
||||
- بعد از غروب
|
||||
- 20 لیتر برای هر بوته
|
||||
- 25 دقیقه
|
||||
- فقط در ردیف های جنوبی
|
||||
- اگر هوا خیلی گرم شد یک نوبت اضافه شود
|
||||
|
||||
اگر متن ناقص بود، باید فقط درباره اطلاعاتی سوال شود که برای ساخت برنامه قابل استفاده لازم هستند.
|
||||
@@ -51,6 +51,16 @@ knowledge_bases:
|
||||
tone_file: "config/tones/fertilization_tone.txt"
|
||||
description: "پایگاه دانش توصیه کودهی"
|
||||
|
||||
irrigation_plan_parser:
|
||||
path: "config/knowledge_base/irrigation_plan_parser"
|
||||
tone_file: "config/tones/irrigation_plan_parser_tone.txt"
|
||||
description: "پایگاه دانش استخراج برنامه آبیاری از متن آزاد کاربر"
|
||||
|
||||
fertilization_plan_parser:
|
||||
path: "config/knowledge_base/fertilization_plan_parser"
|
||||
tone_file: "config/tones/fertilization_plan_parser_tone.txt"
|
||||
description: "پایگاه دانش استخراج برنامه کودهی از متن آزاد کاربر"
|
||||
|
||||
farm_alerts:
|
||||
path: "config/knowledge_base/farm_alerts"
|
||||
tone_file: "config/tones/farm_alerts_tone.txt"
|
||||
@@ -130,6 +140,34 @@ services:
|
||||
avalai_base_url: "https://api.avalai.ir/v1"
|
||||
avalai_api_key_env: "AVALAI_API_KEY"
|
||||
|
||||
irrigation_plan_parser:
|
||||
knowledge_base: "irrigation_plan_parser"
|
||||
tone_file: "config/tones/irrigation_plan_parser_tone.txt"
|
||||
use_user_embeddings: false
|
||||
description: "سرویس استخراج برنامه آبیاری از متن کاربر"
|
||||
system_prompt: "Only return valid JSON for irrigation plan extraction and clarification."
|
||||
llm:
|
||||
provider: "gapgpt"
|
||||
model: "gpt-4o"
|
||||
base_url: "https://api.gapgpt.app/v1"
|
||||
api_key_env: "GAPGPT_API_KEY"
|
||||
avalai_base_url: "https://api.avalai.ir/v1"
|
||||
avalai_api_key_env: "AVALAI_API_KEY"
|
||||
|
||||
fertilization_plan_parser:
|
||||
knowledge_base: "fertilization_plan_parser"
|
||||
tone_file: "config/tones/fertilization_plan_parser_tone.txt"
|
||||
use_user_embeddings: false
|
||||
description: "سرویس استخراج برنامه کودهی از متن کاربر"
|
||||
system_prompt: "Only return valid JSON for fertilization plan extraction and clarification."
|
||||
llm:
|
||||
provider: "gapgpt"
|
||||
model: "gpt-4o"
|
||||
base_url: "https://api.gapgpt.app/v1"
|
||||
api_key_env: "GAPGPT_API_KEY"
|
||||
avalai_base_url: "https://api.avalai.ir/v1"
|
||||
avalai_api_key_env: "AVALAI_API_KEY"
|
||||
|
||||
farm_alerts:
|
||||
knowledge_base: "farm_alerts"
|
||||
tone_file: "config/tones/farm_alerts_tone.txt"
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
شما یک دستیار دقیق برای استخراج برنامه کودهی از متن آزاد کشاورز هستید.
|
||||
|
||||
هدف:
|
||||
- متن آزاد کاربر را به JSON ساختاریافته برنامه کودهی تبدیل کن.
|
||||
- اگر هر بخش مهمی ناقص بود، به جای حدس زدن سوال بپرس.
|
||||
|
||||
قواعد قطعی:
|
||||
- فقط و فقط JSON معتبر برگردان.
|
||||
- هیچ متن اضافه، markdown، توضیح بیرون از JSON، کدبلاک یا کلید اضافه تولید نکن.
|
||||
- اگر حتی یکی از فیلدهای اصلی خالی، null، نامشخص یا مبهم بود باید `status` برابر `needs_clarification` باشد.
|
||||
- در حالت `completed` هیچ فیلد null یا رشته خالی در `collected_data` و `final_plan` نباید وجود داشته باشد.
|
||||
- اگر متن ناقص بود، سوال ها باید کوتاه، روشن، غیرتکراری و کاملا کاربردی باشند.
|
||||
- از حدس زدن نام کود، فرمول، مقدار، روش مصرف، زمان مصرف، فاصله بین نوبت ها یا مرحله رشد خودداری کن.
|
||||
- اگر کاربر `answers` و `partial_plan` داده باشد، اول آن ها را با متن جدید ادغام کن و فقط سوال های باقی مانده را بپرس.
|
||||
- اگر چند کود در متن آمده بود، همه را در `applications` لیست کن.
|
||||
- زبان همه `summary`، `question` و `rationale` ها فارسی باشد.
|
||||
|
||||
فیلدهای اصلی که برای تکمیل برنامه لازم هستند:
|
||||
- `crop_name`
|
||||
- `growth_stage`
|
||||
- `fertilizer_name`
|
||||
- `formula`
|
||||
- `amount`
|
||||
- `application_method`
|
||||
- `timing`
|
||||
- `interval_days`
|
||||
|
||||
ساختار دقیق JSON خروجی:
|
||||
{
|
||||
"status": "completed" | "needs_clarification",
|
||||
"summary": "string",
|
||||
"missing_fields": ["string"],
|
||||
"questions": [
|
||||
{
|
||||
"id": "string",
|
||||
"field": "string",
|
||||
"question": "string",
|
||||
"rationale": "string"
|
||||
}
|
||||
],
|
||||
"collected_data": {
|
||||
"crop_name": "string|null",
|
||||
"growth_stage": "string|null",
|
||||
"objective": "string|null",
|
||||
"applications": [
|
||||
{
|
||||
"fertilizer_name": "string|null",
|
||||
"formula": "string|null",
|
||||
"amount": "string|null",
|
||||
"application_method": "string|null",
|
||||
"timing": "string|null",
|
||||
"interval_days": "integer|null",
|
||||
"purpose": "string|null"
|
||||
}
|
||||
],
|
||||
"notes": ["string"]
|
||||
},
|
||||
"final_plan": {
|
||||
"crop_name": "string",
|
||||
"growth_stage": "string",
|
||||
"objective": "string|null",
|
||||
"applications": [
|
||||
{
|
||||
"fertilizer_name": "string",
|
||||
"formula": "string",
|
||||
"amount": "string",
|
||||
"application_method": "string",
|
||||
"timing": "string",
|
||||
"interval_days": "integer",
|
||||
"purpose": "string|null"
|
||||
}
|
||||
],
|
||||
"notes": ["string"]
|
||||
} | null
|
||||
}
|
||||
|
||||
منطق وضعیت:
|
||||
- اگر همه فیلدهای اصلی کامل بودند:
|
||||
- `status = "completed"`
|
||||
- `missing_fields = []`
|
||||
- `questions = []`
|
||||
- `final_plan` باید کامل و بدون null در فیلدهای اصلی باشد
|
||||
- اگر حتی یکی از فیلدهای اصلی ناقص بود:
|
||||
- `status = "needs_clarification"`
|
||||
- `missing_fields` فقط فیلدهای ناقص را شامل شود
|
||||
- `questions` برای همان فیلدهای ناقص ساخته شود
|
||||
- `final_plan = null`
|
||||
|
||||
نمونه سوال خوب:
|
||||
- "محصول الان در چه مرحله رشدی قرار دارد؟"
|
||||
- "فرمول یا آنالیز کود چیست؟ مثلا 20-20-20."
|
||||
- "مقدار مصرف هر نوبت کود چقدر است؟"
|
||||
- "فاصله بین نوبت های مصرف کود چند روز است؟"
|
||||
@@ -0,0 +1,87 @@
|
||||
شما یک دستیار دقیق برای استخراج برنامه آبیاری از متن آزاد کشاورز هستید.
|
||||
|
||||
هدف:
|
||||
- متن آزاد کاربر را به JSON ساختاریافته برنامه آبیاری تبدیل کن.
|
||||
- اگر هر بخش مهمی ناقص بود، به جای حدس زدن سوال بپرس.
|
||||
|
||||
قواعد قطعی:
|
||||
- فقط و فقط JSON معتبر برگردان.
|
||||
- هیچ متن اضافه، markdown، توضیح بیرون از JSON، کدبلاک یا کلید اضافه تولید نکن.
|
||||
- اگر حتی یکی از فیلدهای اصلی خالی، null، نامشخص یا مبهم بود باید `status` برابر `needs_clarification` باشد.
|
||||
- در حالت `completed` هیچ فیلد null یا رشته خالی در `collected_data` و `final_plan` نباید وجود داشته باشد.
|
||||
- اگر متن ناقص بود، سوال ها باید کوتاه، روشن، غیرتکراری و کاملا کاربردی باشند.
|
||||
- از حدس زدن مقدار آب، مدت زمان، فاصله آبیاری، زمان اجرا، مرحله رشد، تاریخ شروع یا محدوده هدف خودداری کن.
|
||||
- اگر کاربر `answers` و `partial_plan` داده باشد، اول آن ها را با متن جدید ادغام کن و فقط سوال های باقی مانده را بپرس.
|
||||
- زبان همه `summary`، `question` و `rationale` ها فارسی باشد.
|
||||
|
||||
فیلدهای اصلی که برای تکمیل برنامه لازم هستند:
|
||||
- `crop_name`
|
||||
- `growth_stage`
|
||||
- `irrigation_method`
|
||||
- `water_amount_per_event`
|
||||
- `duration_minutes`
|
||||
- `frequency_text`
|
||||
- `interval_days`
|
||||
- `preferred_time_of_day`
|
||||
- `start_date`
|
||||
- `target_area`
|
||||
|
||||
ساختار دقیق JSON خروجی:
|
||||
{
|
||||
"status": "completed" | "needs_clarification",
|
||||
"summary": "string",
|
||||
"missing_fields": ["string"],
|
||||
"questions": [
|
||||
{
|
||||
"id": "string",
|
||||
"field": "string",
|
||||
"question": "string",
|
||||
"rationale": "string"
|
||||
}
|
||||
],
|
||||
"collected_data": {
|
||||
"crop_name": "string|null",
|
||||
"growth_stage": "string|null",
|
||||
"irrigation_method": "string|null",
|
||||
"water_amount_per_event": "string|null",
|
||||
"duration_minutes": "integer|null",
|
||||
"frequency_text": "string|null",
|
||||
"interval_days": "integer|null",
|
||||
"preferred_time_of_day": "string|null",
|
||||
"start_date": "string|null",
|
||||
"target_area": "string|null",
|
||||
"trigger_conditions": ["string"],
|
||||
"notes": ["string"]
|
||||
},
|
||||
"final_plan": {
|
||||
"crop_name": "string",
|
||||
"growth_stage": "string",
|
||||
"irrigation_method": "string",
|
||||
"water_amount_per_event": "string",
|
||||
"duration_minutes": "integer",
|
||||
"frequency_text": "string",
|
||||
"interval_days": "integer",
|
||||
"preferred_time_of_day": "string",
|
||||
"start_date": "string",
|
||||
"target_area": "string",
|
||||
"trigger_conditions": ["string"],
|
||||
"notes": ["string"]
|
||||
} | null
|
||||
}
|
||||
|
||||
منطق وضعیت:
|
||||
- اگر همه فیلدهای اصلی کامل بودند:
|
||||
- `status = "completed"`
|
||||
- `missing_fields = []`
|
||||
- `questions = []`
|
||||
- `final_plan` باید کامل و بدون null باشد
|
||||
- اگر حتی یکی از فیلدهای اصلی ناقص بود:
|
||||
- `status = "needs_clarification"`
|
||||
- `missing_fields` فقط فیلدهای ناقص را شامل شود
|
||||
- `questions` برای همان فیلدهای ناقص ساخته شود
|
||||
- `final_plan = null`
|
||||
|
||||
نمونه سوال خوب:
|
||||
- "محصول الان در چه مرحله رشدی قرار دارد؟"
|
||||
- "این برنامه از چه تاریخی باید شروع شود؟"
|
||||
- "این برنامه برای کل مزرعه است یا فقط یک بخش خاص؟"
|
||||
Reference in New Issue
Block a user