مصادر البيانات البعيدة
تحميل بيانات التعليق التوضيحي من عناوين URL والتخزين السحابي وقواعد البيانات والمزيد.
مصادر البيانات البعيدة
يدعم Potato تحميل بيانات التعليق التوضيحي من مصادر بعيدة متنوعة تتجاوز الملفات المحلية، بما في ذلك عناوين URL وخدمات التخزين السحابي وقواعد البيانات ومجموعات بيانات Hugging Face.
نظرة عامة
يوفر نظام مصادر البيانات:
- أنواع مصادر متعددة: عناوين URL، Google Drive، Dropbox، S3، Hugging Face، Google Sheets، قواعد بيانات SQL
- التحميل الجزئي: تحميل البيانات على دفعات لمجموعات البيانات الكبيرة
- التحميل التدريجي: تحميل المزيد من البيانات تلقائيًا مع تقدم التعليق التوضيحي
- التخزين المؤقت: تخزين الملفات البعيدة محليًا لتجنب التنزيل المتكرر
- بيانات الاعتماد الآمنة: استبدال متغيرات البيئة للأسرار
الإعداد
أضف data_sources إلى ملف config.yaml الخاص بك:
data_sources:
- type: file
path: "data/annotations.jsonl"
- type: url
url: "https://example.com/data.jsonl"أنواع المصادر
ملف محلي
data_sources:
- type: file
path: "data/annotations.jsonl"عنوان HTTP/HTTPS
data_sources:
- type: url
url: "https://example.com/data.jsonl"
headers:
Authorization: "Bearer ${API_TOKEN}"
max_size_mb: 100
timeout_seconds: 30
block_private_ips: true # SSRF protectionAmazon S3
data_sources:
- type: s3
bucket: "my-annotation-data"
key: "datasets/items.jsonl"
region: "us-east-1"
access_key_id: "${AWS_ACCESS_KEY_ID}"
secret_access_key: "${AWS_SECRET_ACCESS_KEY}"المتطلبات: pip install boto3
Google Drive
data_sources:
- type: google_drive
url: "https://drive.google.com/file/d/xxx/view?usp=sharing"للملفات الخاصة، استخدم credentials_file مع حساب خدمة. المتطلبات: pip install google-api-python-client google-auth
Dropbox
data_sources:
- type: dropbox
url: "https://www.dropbox.com/s/xxx/file.jsonl?dl=0"للملفات الخاصة، استخدم access_token: "${DROPBOX_TOKEN}". المتطلبات: pip install dropbox
مجموعات بيانات Hugging Face
data_sources:
- type: huggingface
dataset: "squad"
split: "train"
token: "${HF_TOKEN}" # For private datasets
id_field: "id"
text_field: "context"المتطلبات: pip install datasets
Google Sheets
data_sources:
- type: google_sheets
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheet_name: "Sheet1"
credentials_file: "credentials/service_account.json"المتطلبات: pip install google-api-python-client google-auth
قاعدة بيانات SQL
data_sources:
- type: database
connection_string: "${DATABASE_URL}"
query: "SELECT id, text, metadata FROM items WHERE status = 'pending'"أو باستخدام معلمات فردية:
data_sources:
- type: database
dialect: postgresql
host: "localhost"
port: 5432
database: "annotations"
username: "${DB_USER}"
password: "${DB_PASSWORD}"
table: "items"المتطلبات: pip install sqlalchemy psycopg2-binary (PostgreSQL) أو pymysql (MySQL)
التحميل الجزئي/التدريجي
لمجموعات البيانات الكبيرة، قم بتمكين التحميل الجزئي:
partial_loading:
enabled: true
initial_count: 1000
batch_size: 500
auto_load_threshold: 0.8 # Auto-load when 80% annotatedالتخزين المؤقت
يتم تخزين المصادر البعيدة مؤقتًا محليًا:
data_cache:
enabled: true
cache_dir: ".potato_cache"
ttl_seconds: 3600 # 1 hour
max_size_mb: 500إدارة بيانات الاعتماد
استخدم متغيرات البيئة للقيم الحساسة:
data_sources:
- type: url
url: "https://api.example.com/data"
headers:
Authorization: "Bearer ${API_TOKEN}"
credentials:
env_substitution: true
env_file: ".env"مصادر متعددة
اجمع البيانات من مصادر متعددة:
data_sources:
- type: file
path: "data/base.jsonl"
- type: url
url: "https://example.com/extra.jsonl"
- type: s3
bucket: "my-bucket"
key: "annotations/batch1.jsonl"التوافق مع الإصدارات السابقة
يستمر إعداد data_files في العمل جنبًا إلى جنب مع data_sources:
data_files:
- "data/existing.jsonl"
data_sources:
- type: url
url: "https://example.com/additional.jsonl"الأمان
- مصادر URL تحظر عناوين IP الخاصة/الداخلية افتراضيًا (حماية SSRF)
- لا تقم أبدًا بإيداع بيانات الاعتماد في نظام التحكم بالإصدارات
- استخدم صيغة
${VAR_NAME}للأسرار - خزّن ملفات
.envخارج مستودعك
قراءة إضافية
- تنسيقات البيانات - مرجع تنسيق بيانات الإدخال
- لوحة تحكم المسؤول - مراقبة حالة مصادر البيانات
لمزيد من تفاصيل التنفيذ، راجع الوثائق المصدرية.