Add Qdrant and ChromaDB support to the project
- Added Qdrant service to both docker-compose files for production and development. - Updated environment variables in .env.example and settings.py to include Qdrant configuration. - Included necessary dependencies for Qdrant and ChromaDB in requirements.txt. - Updated .gitignore to exclude ChromaDB data files.
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# پایگاه دانش CropLogic
|
||||
|
||||
فایلهای `.txt` و `.md` این پوشه بهصورت خودکار embed و به Qdrant اضافه میشوند.
|
||||
@@ -0,0 +1,19 @@
|
||||
# دانش پایه خاک برای کشاورزی
|
||||
|
||||
## انواع خاک
|
||||
خاکها بر اساس بافت (نسبت رس، سیلت و شن) دستهبندی میشوند. خاک رسی زهکشی ضعیفتری دارد و خاک شنی زهکشی سریع. خاک لومی ترکیبی متعادل از هر سه است و برای اغلب گیاهان مناسب است.
|
||||
|
||||
## pH خاک
|
||||
مقیاس pH از ۰ تا ۱۴ است؛ مقدار ۷ خنثی است. خاکهای اسیدی (زیر ۷) و قلیایی (بالای ۷) بر جذب عناصر غذایی تأثیر میگذارند. بیشتر گیاهان زراعی pH حدود ۶ تا ۷.۵ را ترجیح میدهند.
|
||||
|
||||
## رطوبت خاک
|
||||
رطوبت خاک بر رشد ریشه و جذب آب و مواد غذایی تأثیر مستقیم دارد. رطوبت بیش از حد باعث خفگی ریشه و کمبود اکسیژن میشود؛ رطوبت کم باعث تنش آبی و کاهش عملکرد میشود.
|
||||
|
||||
## NPK و عناصر غذایی
|
||||
نیتروژن (N) برای رشد سبزینه و برگها ضروری است. فسفر (P) برای ریشهزایی و گلدهی مهم است. پتاسیم (K) مقاومت به خشکی و بیماری را افزایش میدهد. مقادیر این عناصر در خاک با آزمون خاک قابل اندازهگیری است.
|
||||
|
||||
## هدایت الکتریکی (EC)
|
||||
EC نشاندهنده شوری خاک است. EC بالا یعنی نمک زیاد و میتواند به ریشه گیاه آسیب برساند. واحد آن معمولاً dS/m یا mS/cm است.
|
||||
|
||||
## عمق خاک
|
||||
دادههای خاک معمولاً در اعماق ۰–۵، ۵–۱۵ و ۱۵–۳۰ سانتیمتر اندازهگیری میشوند. لایه سطحی برای جوانهزنی و ریشههای سطحی مهم است؛ لایههای عمیقتر برای گیاهان ریشهعمیق اهمیت دارند.
|
||||
@@ -0,0 +1,23 @@
|
||||
# تنظیمات RAG برای پایگاه دانش CropLogic
|
||||
|
||||
embedding:
|
||||
provider: "avalai" # Avalai API (OpenAI-compatible)
|
||||
model: "text-embedding-3-small"
|
||||
base_url: "https://api.avalai.ir/v1"
|
||||
api_key_env: "AVALAI_API_KEY"
|
||||
batch_size: 32
|
||||
|
||||
# فاز یک: Qdrant بهعنوان vector store
|
||||
qdrant:
|
||||
host: "localhost" # یا qdrant در Docker
|
||||
port: 6333
|
||||
collection_name: "croplogic_kb"
|
||||
vector_size: 1536 # متناسب با text-embedding-3-small
|
||||
|
||||
chunking:
|
||||
max_chunk_tokens: 500
|
||||
overlap_tokens: 50
|
||||
|
||||
tone_file: "config/tone.txt"
|
||||
knowledge_base_path: "config/knowledge_base"
|
||||
user_info_path: "config/user_info"
|
||||
@@ -20,6 +20,7 @@ INSTALLED_APPS = [
|
||||
"django.contrib.staticfiles",
|
||||
"rest_framework",
|
||||
"corsheaders",
|
||||
"rag",
|
||||
"tasks",
|
||||
"soil_data",
|
||||
"sensor_data",
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# فایل لحن / سبک پاسخهای RAG
|
||||
|
||||
لحن و سبک پاسخها:
|
||||
- سطح: دوستانه و تخصصی؛ با کشاورز به زبان ساده و علمی صحبت کن.
|
||||
- واژگان: از اصطلاحات رایج کشاورزی و خاکشناسی استفاده کن، در صورت نیاز معادل فارسی بیاور.
|
||||
- طول: پاسخها مختصر و کاربردی؛ در صورت لزوم با بولت یا شماره ساختاربندی کن.
|
||||
- هشدار: اگر موضوع ایمنی یا سلامتی گیاه/خاک باشد، صریحاً هشدار بده.
|
||||
@@ -0,0 +1,3 @@
|
||||
# اطلاعات کاربران
|
||||
|
||||
فایلهای `.txt` و `.md` این پوشه بهعنوان اطلاعات هر کاربر embed و ذخیره میشوند.
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"farm": {
|
||||
"name": "مزرعه نمونه گلستان",
|
||||
"location": {
|
||||
"latitude": 36.2,
|
||||
"longitude": 52.5
|
||||
}
|
||||
},
|
||||
"soil_data": {
|
||||
"0-5cm": {
|
||||
"phh2o": 7.2,
|
||||
"clay": 25,
|
||||
"sand": 45,
|
||||
"silt": 30,
|
||||
"soc": 1.4,
|
||||
"nitrogen": 0.12
|
||||
},
|
||||
"5-15cm": {
|
||||
"phh2o": 7.4,
|
||||
"clay": 28,
|
||||
"sand": 42,
|
||||
"silt": 30,
|
||||
"soc": 1.1,
|
||||
"nitrogen": 0.09
|
||||
},
|
||||
"15-30cm": {
|
||||
"phh2o": 7.5,
|
||||
"clay": 30,
|
||||
"sand": 40,
|
||||
"silt": 30,
|
||||
"soc": 0.8,
|
||||
"nitrogen": 0.07
|
||||
}
|
||||
},
|
||||
"sensor_readings": {
|
||||
"soil_moisture": 32,
|
||||
"soil_temperature": 24.5,
|
||||
"soil_ph": 7.1,
|
||||
"electrical_conductivity": 2.1,
|
||||
"nitrogen": 15,
|
||||
"phosphorus": 8,
|
||||
"potassium": 180
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user