Login

منصة بايثون للتفاعل مع قواعد البيانات وبحيرات البيانات باللغة الطبيعية، تستخدم تقنيات LLM و RAG لجعل تحليل البيانات تفاعليًا.

NOASSERTIONPython 20.9ksinaptik-aipandas-ai Last Updated: 2025-07-13

نظرة عامة مفصلة على مشروع PandasAI

نظرة عامة على المشروع

PandasAI هي منصة Python مبتكرة تمكن المستخدمين من التفاعل مع قواعد البيانات وبحيرات البيانات باستخدام اللغة الطبيعية. تم تطوير هذا المشروع بواسطة فريق Sinaptik-AI، ويهدف إلى جعل تحليل البيانات أكثر سهولة وبديهية، بغض النظر عن الخلفية التقنية للمستخدم.

عنوان GitHub: https://github.com/Sinaptik-AI/pandas-ai

الميزات الأساسية

1. استعلام البيانات باللغة الطبيعية

  • يدعم طرح الأسئلة المتعلقة بالبيانات باللغة الطبيعية.
  • لا حاجة لكتابة استعلامات SQL معقدة أو أكواد Python.
  • مناسب للمستخدمين غير التقنيين والتقنيين على حد سواء.

2. دعم مصادر بيانات متعددة

  • قواعد البيانات: قواعد بيانات SQL.
  • تنسيقات الملفات: ملفات CSV، Parquet.
  • إطارات البيانات: Pandas DataFrame.
  • أخرى: MongoDB، NoSQL، إلخ.

3. دمج تقنيات LLM و RAG

  • يستخدم نماذج اللغة الكبيرة (LLM) لفهم استعلامات اللغة الطبيعية.
  • يعتمد تقنية التوليد المعزز بالاسترجاع (RAG) لتحسين دقة الاستعلام.
  • يستخدم BambooLLM افتراضيًا، ويدعم نماذج LLM أخرى أيضًا.

4. تصور البيانات

  • يولد تلقائيًا أنواعًا مختلفة من الرسوم البيانية.
  • يدعم أنواعًا متعددة من الرسوم البيانية مثل الرسوم البيانية التكرارية (histograms) والرسوم البيانية الشريطية (bar charts).
  • يمكن تخصيص أنماط وألوان الرسوم البيانية.

الخصائص التقنية

متطلبات النظام

  • Python 3.8+ < 3.12
  • يدعم دفاتر Jupyter وتطبيقات Streamlit.
  • يوفر بنية عميل-خادم.

طريقة التثبيت

التثبيت باستخدام pip:

pip install "pandasai>=3.0.0b2"

التثبيت باستخدام poetry:

poetry add "pandasai>=3.0.0b2"

أمثلة الاستخدام الأساسية

استعلام إطار بيانات واحد

import pandasai as pai

# إنشاء إطار بيانات مثال
df = pai.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "revenue": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000]
})

# تعيين مفتاح API
pai.api_key.set("your-pai-api-key")

# إجراء استعلام باللغة الطبيعية
df.chat('Which are the top 5 countries by sales?')

استعلام ربط إطارات بيانات متعددة

import pandasai as pai

employees_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'],
    'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance']
}

salaries_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Salary': [5000, 6000, 4500, 7000, 5500]
}

employees_df = pai.DataFrame(employees_data)
salaries_df = pai.DataFrame(salaries_data)

pai.api_key.set("your-pai-api-key")
pai.chat("Who gets paid the most?", employees_df, salaries_df)

توليد الرسوم البيانية

df.chat(
    "Plot the histogram of countries showing for each one the gd. Use different colors for each bar",
)

الميزات المتقدمة

دمج منصات البيانات

يوفر PandasAI قدرات قوية لدمج منصات البيانات، مما يسهل تحميل ومشاركة البيانات:

import pandasai as pai

pai.api_key.set("your-pai-api-key")
file = pai.read_csv("./filepath.csv")
dataset = pai.create(path="your-organization/dataset-name",
                    df=file,
                    name="dataset-name",
                    description="dataset-description")
dataset.push()

بيئة Docker Sandbox

لتوفير بيئة آمنة لتنفيذ الكود، يدعم PandasAI بيئة Docker Sandbox:

pip install "pandasai-docker"
import pandasai as pai
from pandasai_docker import DockerSandbox

# تهيئة Sandbox
sandbox = DockerSandbox()
sandbox.start()

# تنفيذ الاستعلام في Sandbox
pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# إيقاف Sandbox
sandbox.stop()

حالات الاستخدام

الجمهور المستهدف

  1. المستخدمون غير التقنيين: لا حاجة لتعلم SQL أو Python لتحليل البيانات.
  2. محللو البيانات: استكشاف وتحليل البيانات بسرعة.
  3. المطورون: الدمج في التطبيقات الحالية.
  4. مستخدمو الشركات: بناء أدوات تحليل البيانات الداخلية.

التطبيقات النموذجية

  • تحليل ذكاء الأعمال.
  • استكشاف البيانات وتصورها.
  • توليد التقارير.
  • التعليم والتدريب.
  • تطوير النماذج الأولية.

البنية التقنية

المكونات الأساسية

  • معالجة اللغة الطبيعية: فهم نية استعلام المستخدم.
  • توليد الكود: تحويل اللغة الطبيعية إلى كود قابل للتنفيذ.
  • التنفيذ الآمن: تنفيذ الكود بأمان في بيئة Sandbox.
  • عرض النتائج: تنسيق وعرض نتائج الاستعلام.

قابلية التوسع

  • يدعم عدة خلفيات LLM.
  • موصلات بيانات قابلة للتخصيص.
  • بنية قابلة للتوصيل (plugin architecture) لتسهيل التوسع.

الخلاصة

يمثل PandasAI ابتكارًا مهمًا في مجال تحليل البيانات، حيث يقلل بشكل كبير من الحاجز التقني لتحليل البيانات من خلال معالجة اللغة الطبيعية وتقنية LLM. إنه مناسب ليس فقط للمستخدمين الأفراد لاستكشاف البيانات، ولكن أيضًا للشركات لبناء منصات تحليل بيانات ذكية. مع التطور المستمر لتقنيات الذكاء الاصطناعي، ستلعب هذه الأدوات دورًا متزايد الأهمية في اتخاذ القرارات القائمة على البيانات.

Star History Chart