Files
Houshyar_Backend/chat/__pycache__/schema.cpython-312.pyc

204 lines
8.4 KiB
Plaintext
Raw Normal View History

2026-02-01 16:51:45 +03:30
<EFBFBD>
<00>Qi<7F>#<00><00>Z<00>ddlmZddlZddlZdZeed<04><05>Zdidd<08>d d<08>d
d<08>d d<08>d d<08>d d<08>dd<08>dd<08>dd<08>dd<08>dd<13>dd<08>dd<08>dd<08>dd<08>dd<08>dd<08>idd<13>dd<13>dd<13>dd<08>dd<08>dd<08>d d<08>d!d<08>d"d<08>d#d<08>d$d<08>d%d<08>d&d<08>d'd<08>d(d<08>d)d<08>d*d<08><01>dddddddddddd+<2B> <0B>idid,d-<2D>d.d/<2F>d0d/<2F>d1d2<64>d3d<08>d4d<08>d5d<08>d6d<08>d7d<08>d8d2<64>d9d2<64>d:d<08>d;d2<64>d<d<08>d=d<08>d>d<08>d?d2<64>id@d2<64>dAd2<64>dBd<13>dCd<13>dDd2<64>dEd<08>dFd<08>dGd<08>dHd<08>dId<08>dJd<08>d$d<08>d%d<08>dKd2<64>d'd<08>dLd<08>dMd<08><01>idNd<08>dOd2<64>dPd<08>dQd<08>dRd<08>dSd2<64>dTd2<64>dUd<08>dVd<08>dWd<08>dXd2<64>dYd<08>dZd2<64>d[d<08>d\d<08>d]d<08>d^d2<64><01>id_d<08>d`d<08>d(d<08>dad<08>dbd<08>dcd<08>ddd<08>ded<08>dfd2<64>dgd<08>dhd<08>did<08>djd<08>dd<08>dd<08>dd<08>dd<08><01>idkd<08>dd<08>dd<13>dd<13>dd<13>dd<08>dd<08>dd<08>d d2<64>d!d<08>d"d<08>d#d<08>dld2<64>dmd2<64>dnd2<64>dod2<64>dpd2<64><01>d2d2dq<64><02>idr<64>Zds<64>Zdt<64>Zy)u<>)<01>OpenAINz<4E>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<38><)<02>api_key<65>timeout<75>fields<64>UserName<6D>string<6E>Password<72> FirstName<6D>LastName<6D> UserGroupName<6D> UserRoleName<6D> UserGroupId<49>
UserRoleId<EFBFBD>Mobile<6C>Email<69> UserIsActive<76>boolean<61>UserIsActiveDescription<6F>RegDate<74> RegDateShamsi<73>RegDateShamsiWithTime<6D>RegDateShamsiOnlyTime<6D>StringId<49> IsPersisted<65> AllowInsert<72> AllowUpdate<74>ModalCss<73>GridContainerParametersModel<65>MenuUserAccess<73>MenuUserAccessId<49> LogTableName<6D> LogTableAlias<61> PageTitle<6C>UnitName<6D>
SystemCode<EFBFBD> TrackingCode<64>EpidemiologicCode<64>
PartIdCode<EFBFBD>
PostalCode<EFBFBD>UnitId) <0B>
UnitTypeId<EFBFBD> UnitTypeName<6D>LocationIdProvince<63>LocationIdCity<74>LocationNameProvince<63>LocationNameCity<74> UnitIsActive<76>UnitIsActiveDescription<6F>PId<49>Province<63>City<74>poultryzForeignKey(Poultry)<29>Date<74>datetime<6D> ArchiveDate<74>BroilerFlockRequestId<49>integer<65>
InsertDate<EFBFBD>LastChangeStatusDate<74>LastChangeStatusDateShamsi<73>FlockRequestUnitName<6D> PedigreeName<6D>StatusId<49>Status<75>
StatusName<EFBFBD> PedigreeType<70>BroilerPedigreeTypeName<6D> StatusColor<6F>SystemRevocationDate<74>
RemindDays<EFBFBD>
PartyCount<EFBFBD> GoodCount<6E> ShowButtons<6E>HasSync<6E>BroilerFlockRequestExpireStatus<75> IdWithFormat<61> ProvinceName<6D>CityName<6D>Address<73>UnitTel<65>UnitPostalCode<64>CapacityFemale<6C> RequestCode<64> RequestDate<74> RequestDateFa<46> RequestCount<6E> DeliverDate<74> DeliverDateFa<46> UnionName<6D> PersonTypeId<49>
PersonType<EFBFBD>PersonTypeName<6D>PersonFullName<6D> NationalCode<64> InteractType<70>InteractTypeName<6D> UnionTypeId<49> UnionTypeName<6D>SendDate<74>
SendDateFa<EFBFBD> ChickCountSum<75>CalculatedDate<74>CalculatedDateFa<46>CertId<49> StartDate<74> StartDateFa<46>EndDate<74> EndDateFa<46> RemainCredit<69>StrRemainCredit<69>
ShowStatus<EFBFBD> ValidStatus<75>ValidStatusName<6D>
HatchingId<EFBFBD>
Evacuation<EFBFBD>Age<67>
KillingAve<EFBFBD>Period<6F>LeftOver)<02>samasat_discharge_percentage<67>GoodSum)<02>Poultry<72>Hatchingc<00>~<00>tjdd|<00>}tjdd|<00>}|j<00>S)uR
بک‌تیک‌ها و پیشوندهای GPT را پاک می‌کند
z^```(?:json)?\s*<2A>z\s*```$)<03>re<72>sub<75>strip)<01>texts <20>C:\Houshyar\chat\schema.py<70>clean_gpt_jsonr<6E><00>s5<00><00>
<0E>6<EFBFBD>6<EFBFBD>%<25>r<EFBFBD>4<EFBFBD> 0<>D<EFBFBD> <0A>6<EFBFBD>6<EFBFBD>*<2A>b<EFBFBD>$<24> '<27>D<EFBFBD> <0F>:<3A>:<3A><<3C><17>c<00><><00>dt<00>d|<00>d<03>} tjjj dd|d<06>g<01><07>}|j
dj jj<00>}t|<03>} tj|<03>}|S#tj$rtd |<03>i}Y|SwxYw#t$r}td
|<05>i}Yd}~|Sd}~wwxYw) Nug
شما مدل‌های زیر را دارید و فیلدهایشان را می‌دانید:
u
سوال کاربر: "u<>"
لطفاً یک JSON بازگردانید که فیلترهای Django ORM را نشان می‌دهد.
JSON باید فقط شامل کلید زیر باشد:
- "models": لیستی از مدل‌هایی که برای پاسخ به سوال کاربر نیاز است.
هر آیتم داخل "models" باید شامل این کلیدها باشد:
- "model": نام مدل (مثلا "Hatching" یا "Poultry")
- "filters": دیکشنری فیلدها و مقادیر برای filter(**filters)
- "aggregations":
- اگر کاربر عملیات آماری خواسته، لیستی از نام عملیات‌ها مثل ["count", "sum"]
- اگر عملیات آماری ندارد، مقدار null
- "fields_to_return":
- اگر کاربر اطلاعات توصیفی خواسته، لیستی از فیلدها
- در غیر این صورت null
اگر سوال شامل زمان نسبی بود (مثل امروز، دیروز، دو روز پیش، یک هفته پیش و ...):
- به جای مقدار مستقیم تاریخ،
- یک key به نام "date_filter" اضافه کن.
ساختار date_filter باید این باشد:
{
"field": "Date",
"type": یکی از این مقادیر:
"today"
"yesterday"
"last_n_days"
"this_week"
"this_month",
"last_n_month"
"this_year",
"last_n_year",
"value": فقط در صورتی که لازم بود
(مثلا برای last_n_days عدد روز)
}
❗️هرگز تاریخ میلادی یا شمسی ننویس.
❗️هرگز از today یا now به عنوان مقدار فیلتر استفاده نکن.
قوانین بسیار مهم:
- اگر سوال کاربر ترکیبی است، باید چند مدل در لیست "models" بازگردانده شود.
- اگر فقط یک مدل لازم است، باز هم آن را داخل لیست قرار دهید.
- مقدار aggregations فقط نام ساده عملیات‌ها باشد (بدون ":"، بدون نام فیلد، بدون دیکشنری).
- هیچ کلید اضافه‌ای ننویسید.
- خروجی فقط JSON معتبر باشد، بدون توضیح اضافی.
z gpt-4.1-mini<6E>user)<02>role<6C>content)<02>model<65>messagesrz,GPT output is not valid JSON after cleaning:zError calling OpenAI API:)<0F> MODELS_SCHEMA<4D>client<6E>chat<61> completions<6E>create<74>choices<65>messager<65>r<>r<><00>json<6F>loads<64>JSONDecodeError<6F>print<6E> Exception)<06>question<6F>prompt<70>response<73>
gpt_output<EFBFBD> filters_json<6F>es r<><00>get_filters_from_questionr<6E><00>s<><00><00><05><12>O<EFBFBD><1B>#<23>*<2A>/%<01> 3<04>F<EFBFBD>j<1A><19>;<3B>;<3B>*<2A>*<2A>1<>1<> <20>%<25>&<26>9<>:<3A>2<>
<EFBFBD><08><1E>%<25>%<25>a<EFBFBD>(<28>0<>0<>8<>8<>><3E>><3E>@<40>
<EFBFBD>#<23>J<EFBFBD>/<2F>
<EFBFBD> <1E><1F>:<3A>:<3A>j<EFBFBD>1<>L<EFBFBD> <18><17><><14>#<23>#<23> <1E> <11>@<40>*<2A> M<><1D>L<EFBFBD>
<18><17> <1E><> <15><1A> <0A>)<29>1<EFBFBD>-<2D><19> <0C> <17><17><> <1A>s6<00>A+B:<00>;B<00>!B7<03>3B:<00>6B7<03>7B:<00>: C<03>C<03>C) <09>openairr<>r<><00>API_KEYr<59>r<>r<>r<><00>r<>r<><00><module>r<>s<><00><01><19> <0B> <09> q<02><07> <0F><07><12> ,<2C><06> <11>.
<EFBFBD> <16><08>.
<EFBFBD> <16><08>.
<EFBFBD> <18><18>.
<EFBFBD> <17><08> .
<EFBFBD>
<1C>X<EFBFBD> .
<EFBFBD> <1B>H<EFBFBD> .
<EFBFBD> <1A>8<EFBFBD>.
<EFBFBD> <19>(<28>.
<EFBFBD> <15>h<EFBFBD>.
<EFBFBD> <14>X<EFBFBD>.
<EFBFBD> <1B>I<EFBFBD>.
<EFBFBD> &<26>x<EFBFBD>.
<EFBFBD> <16>x<EFBFBD>.
<EFBFBD> <1C>X<EFBFBD>.
<EFBFBD> $<24>X<EFBFBD>.
<EFBFBD> $<24>X<EFBFBD>!.
<EFBFBD>" <17><08>#.
<EFBFBD>$ <1A>9<EFBFBD>%.
<EFBFBD>& <1A>9<EFBFBD>'.
<EFBFBD>( <1A>9<EFBFBD>).
<EFBFBD>* <17><08>+.
<EFBFBD>, +<2B>H<EFBFBD>-.
<EFBFBD>. <1D>h<EFBFBD>/.
<EFBFBD>0 <1F><08>1.
<EFBFBD>2 <1B>H<EFBFBD>3.
<EFBFBD>4 <1C>X<EFBFBD>5.
<EFBFBD>6 <18><18>7.
<EFBFBD>8 <17><08>9.
<EFBFBD>: <19>(<28>;.
<EFBFBD>< <1B>H<EFBFBD>=.
<EFBFBD>> <20><18>?.
<EFBFBD>@ <19>(<28>A.
<EFBFBD>B <19>(<28>C.
<EFBFBD>D <15>h<EFBFBD>E.
<EFBFBD>F#<23>$<24>"*<2A>&<26>$,<2C> (<28>%<25>'/<2F><1B> <20><1C>[.
<EFBFBD>0<06>d <11>X
<EFBFBD> <15>,<2C>X
<EFBFBD> <12>J<EFBFBD>X
<EFBFBD> <1A>:<3A>X
<EFBFBD> $<24>Y<EFBFBD> X
<EFBFBD>
<19>(<28> X
<EFBFBD> #<23>H<EFBFBD> X
<EFBFBD> )<29>(<28>X
<EFBFBD> #<23>H<EFBFBD>X
<EFBFBD> <1B>H<EFBFBD>X
<EFBFBD> <17> <09>X
<EFBFBD> <15>i<EFBFBD>X
<EFBFBD> <19>(<28>X
<EFBFBD> <1B>I<EFBFBD>X
<EFBFBD> &<26>x<EFBFBD>X
<EFBFBD> <1A>8<EFBFBD>X
<EFBFBD> #<23>H<EFBFBD>!X
<EFBFBD>" <19>)<29>#X
<EFBFBD>$ <19>)<29>%X
<EFBFBD>& <18><19>'X
<EFBFBD>( <1A>9<EFBFBD>)X
<EFBFBD>* <16>y<EFBFBD>+X
<EFBFBD>, .<2E>y<EFBFBD>-X
<EFBFBD>. <1B>H<EFBFBD>/X
<EFBFBD>0 <1B>H<EFBFBD>1X
<EFBFBD>2 <17><08>3X
<EFBFBD>4 <16>x<EFBFBD>5X
<EFBFBD>6 <16>x<EFBFBD>7X
<EFBFBD>8 <1D>h<EFBFBD>9X
<EFBFBD>: <17><08>;X
<EFBFBD>< <19>(<28>=X
<EFBFBD>> <1D>i<EFBFBD>?X
<EFBFBD>@ <20><18>AX
<EFBFBD>B <1A>8<EFBFBD>CX
<EFBFBD>D <1A>8<EFBFBD>EX
<EFBFBD>F <1C>X<EFBFBD>GX
<EFBFBD>H <1B>I<EFBFBD>IX
<EFBFBD>J <1A>8<EFBFBD>KX
<EFBFBD>L <1C>X<EFBFBD>MX
<EFBFBD>N <18><18>OX
<EFBFBD>P <1B>I<EFBFBD>QX
<EFBFBD>R <19>)<29>SX
<EFBFBD>T <1D>h<EFBFBD>UX
<EFBFBD>V <1D>h<EFBFBD>WX
<EFBFBD>X <1B>H<EFBFBD>YX
<EFBFBD>Z <1B>I<EFBFBD>[X
<EFBFBD>\ <1F><08>]X
<EFBFBD>^ <1A>9<EFBFBD>_X
<EFBFBD>` <1C>X<EFBFBD>aX
<EFBFBD>b <17><08>cX
<EFBFBD>d <19>(<28>eX
<EFBFBD>f <1C>Y<EFBFBD>gX
<EFBFBD>h <1D>h<EFBFBD>iX
<EFBFBD>j <1F><08>kX
<EFBFBD>l <19>(<28>mX
<EFBFBD>n <15>h<EFBFBD>oX
<EFBFBD>p <18><18>qX
<EFBFBD>r <1A>8<EFBFBD>sX
<EFBFBD>t <16>x<EFBFBD>uX
<EFBFBD>v <18><18>wX
<EFBFBD>x <1B>I<EFBFBD>yX
<EFBFBD>z <1E>x<EFBFBD>{X
<EFBFBD>| <19>(<28>}X
<EFBFBD>~ <1A>8<EFBFBD>X
<EFBFBD>@ <1E>x<EFBFBD>AX
<EFBFBD>B <16>x<EFBFBD>CX
<EFBFBD>D <1C>X<EFBFBD>EX
<EFBFBD>F $<24>X<EFBFBD>GX
<EFBFBD>H $<24>X<EFBFBD>IX
<EFBFBD>J <19>(<28>KX
<EFBFBD>L <17><08>MX
<EFBFBD>N <1A>9<EFBFBD>OX
<EFBFBD>P <1A>9<EFBFBD>QX
<EFBFBD>R <1A>9<EFBFBD>SX
<EFBFBD>T <17><08>UX
<EFBFBD>V +<2B>H<EFBFBD>WX
<EFBFBD>X <1D>h<EFBFBD>YX
<EFBFBD>Z <1F> <09>[X
<EFBFBD>\ <1B>H<EFBFBD>]X
<EFBFBD>^ <1C>X<EFBFBD>_X
<EFBFBD>` <18><18>aX
<EFBFBD>b <19>)<29>cX
<EFBFBD>d <12>9<EFBFBD>eX
<EFBFBD>f <19>)<29>gX
<EFBFBD>h <15>i<EFBFBD>iX
<EFBFBD>j <17> <09>kX
<EFBFBD>l-6<> <20>oX
<EFBFBD>Z<06>eM<02> <0A>d<18>Gr<>