🎓 תלמיד רשום? חזור לפורטל לאחר הלימוד | 🚀 גולש חדש? הצטרף חינם
🎓 תלמיד רשום? חזור לפורטל לאחר הלימוד פורטל התלמידים | 🚀 גולש חדש? הצטרף חינם
יחידת לימוד מקיפה

מדריך מקיף ל-AI API: מהבסיס ועד להטמעה מלאה

בעולם הפיתוח המודרני, שילוב בינה מלאכותית באפליקציות הוא סטנדרט חדש. יחידת לימוד זו תיקח אתכם למסע מעמיק להבנת עולם ה-API של מודלי AI (כגון OpenAI, Anthropic ועוד). נלמד כיצד המערכת עובדת, איך משיגים גישה, כיצד בונים בקשות תקינות, ואיך מטפלים בתשובות ובשגיאות בצורה מקצועית ומאובטחת. היחידה בנויה על פי עקרונות בלום (Bloom's Taxonomy) כדי להבטיח למידה מדורגת ויעילה.

🎯 מטרות הלמידה (Bloom)

הבנת הקונספט של API בהקשר של מודלי שפה ובינה מלאכותית.

רכישת מיומנות ביצירת מפתחות גישה (API Keys) ושמירה על אבטחת מידע.

יכולת לבנות בקשות HTTP (Requests) עם פרמטרים מתקדמים.

ניתוח תשובות השרת וטיפול בשגיאות נפוצות.

יישום פרקטיקות נכונות לחיסכון בעלויות ושיפור ביצועים.

01 חלק 1: יסודות ה-AI API

לפני שנצלול לקוד, חשוב להבין מהו API בהקשר של AI. ממשק תכנות יישומים (API) משמש כמתווך בין התוכנה שלכם (הלקוח) לבין המודל המאומן שיושב בשרתים מרוחקים (השרת). במקום להריץ מודל כבד על המחשב שלכם, אתם שולחים 'הנחיה' (Prompt) דרך האינטרנט, והשרת מחזיר את התוצאה. זה מאפשר לכל מפתח לשלב יכולות על-אנושיות באפליקציות פשוטות.

נקודות מפתח:

  • API הוא הגשר בין האפליקציה למודל ה-AI.
  • המודלים רצים בענן ולא על המכשיר המקומי.
  • התקשורת מתבצעת בפורמט JSON סטנדרטי.
  • כל בקשה דורשת אימות באמצעות מפתח API.
תרשים זרימה
flowchart TD A[האפליקציה שלכם] -->|POST Request| B[API Gateway] B -->|Prompt| C[מודל AI בענן] C -->|Processing| C C -->|Completion| B B -->|JSON Response| A
ייצוג ויזואלי של תהליך התקשורת עם AI API

02 חלק 2: אימות ואבטחה (Authentication)

הצעד הראשון המעשי הוא קבלת גישה. זה נעשה באמצעות מפתח API (API Key). מפתח זה הוא כמו סיסמה סודית שאומרת לשרת מי אתם ומאפשרת לו לחייב את חשבונכם. כלל הברזל באבטחה: לעולם אל תחשפו את המפתח בקוד צד-לקוח (Client Side) או במאגרים ציבוריים (כמו GitHub). יש להשתמש במשתני סביבה (.env).

נקודות מפתח:

  • API Key הוא פרטי ורגיש - כמו סיסמה.
  • שימוש במשתני סביבה (.env) לאחסון מפתחות.
  • הבדלה בין ארגונים ופרויקטים שונים.
  • מעקב אחר שימוש ועלויות דרך לוח הבקרה.

דוגמה: הגדרת משתני סביבה

.env / setup.py
# קובץ .env
OPENAI_API_KEY="sk-proj-your-secret-key-here"
ANTHROPIC_API_KEY="sk-ant-your-secret-key-here"

# Python - טעינת המפתחות
import os
from dotenv import load_dotenv

load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
תהליך אבטחה
1
הרשמה לשירות

יצירת חשבון ב-OpenAI, Anthropic או ספק אחר

2
יצירת מפתח API

גישה ללוח הבקרה ויצירת מפתח חדש עם הרשאות מתאימות

3
אחסון מאובטח

שמירת המפתח בקובץ .env ואי-העלאה למאגר קוד

4
שימוש בצד שרת בלבד

וידוא שהמפתח נגיש רק לקוד שרת ולא לדפדפן

03 חלק 3: מבנה הבקשה (Request Structure)

כדי לקבל תשובה טובה, צריך לדעת איך לבקש. בקשת POST טיפוסית ל-AI API מורכבת מ-Headers (שם נמצא המפתח) ו-Body. ה-Body מכיל את המודל הנבחר (למשל gpt-4), את ההודעות (Messages) ואת הפרמטרים ששולטים על היצירתיות, כמו Temperature. הבנת הפרמטרים הללו קריטית לקבלת תוצאות מדויקות.

רכיבי הבקשה:

  • Endpoint: הכתובת אליה שולחים את הבקשה
  • Headers: מכילים את ה-Authorization ואת סוג התוכן
  • Body: מכיל את המודל, ההודעות והגדרות הטמפרטורה
  • Parameters: שולטים על התנהגות המודל

דוגמה: בקשה מלאה ל-OpenAI API

openai_request.py
import requests
import json

url = "https://api.openai.com/v1/chat/completions"

headers = {
  "Authorization": f"Bearer {api_key}",
  "Content-Type": "application/json"
}

payload = {
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "אתה עוזר מועיל ומקצועי"
    },
    {
      "role": "user",
      "content": "הסבר לי מה זה machine learning"
    }
  ],
  "temperature": 0.7,
  "max_tokens": 1000
}

response = requests.post(url, headers=headers, json=payload)

Temperature

שולט על רמת היצירתיות. 0 = צפוי ועקבי, 1 = יצירתי ומגוון

Max Tokens

מגביל את אורך התשובה. 1 token ≈ 0.75 מילים באנגלית

System Role

מגדיר את התנהגות המודל והקשר כללי לשיחה

User Role

מכיל את השאלה או הבקשה הספציפית מהמשתמש

04 חלק 4: טיפול בתשובות ושגיאות

לאחר השליחה, השרת מחזיר תשובה. במקרה הטוב, נקבל אובייקט JSON עם הטקסט שיצר המודל. במקרה הפחות טוב, נקבל שגיאה. שגיאות נפוצות כוללות 401 (בעיית אימות), 429 (חריגה ממכסת הבקשות - Rate Limit), או 500 (שגיאת שרת). מפתח מקצועי חייב לכתוב קוד שיודע להתמודד עם שגיאות אלו, למשל על ידי ניסיון חוזר (Retry) או המתנה.

סוגי תשובות:

  • 200 OK: הבקשה הצליחה והתשובה מוכנה
  • 401 Unauthorized: בעיה במפתח API או הרשאות
  • 429 Rate Limited: חריגה ממכסת הבקשות
  • 500 Server Error: שגיאה בשרת של הספק

דוגמה: טיפול מקצועי בתשובות

retry_logic.py
import time
import random

def make_api_request_with_retry(url, headers, payload, max_retries=3):
  for attempt in range(max_retries):
    try:
      response = requests.post(url, headers=headers, json=payload)
      
      if response.status_code == 200:
        # הצלחה - חילוץ התוכן
        data = response.json()
        return data['choices'][0]['message']['content']
      
      elif response.status_code == 429:
        # Rate limit - המתנה והמשך
        wait_time = (2 ** attempt) + random.uniform(0, 1)
        print(f"Rate limited. Waiting {wait_time:.2f} seconds...")
        time.sleep(wait_time)
      
      elif response.status_code == 401:
        raise Exception("Invalid API key or insufficient permissions")
      
      else:
        raise Exception(f"API error: {response.status_code} - {response.text}")
    
    except requests.exceptions.RequestException as e:
      print(f"Network error on attempt {attempt + 1}: {e}")
      if attempt == max_retries - 1:
        raise
  
  raise Exception("Max retries exceeded")
התפלגות שגיאות נפוצות
401
אימות
15%
429
Rate Limit
35%
500
שרת
25%
400
בקשה שגויה
25%

05 חלק 5: שיטות עבודה מומלצות

מה כן לעשות

  • • השתמש במשתני סביבה למפתחות
  • • הטמע מנגנון retry לשגיאות זמניות
  • • עקוב אחר שימוש ועלויות
  • • השתמש ב-streaming לתשובות ארוכות
  • • בדוק את הקלט לפני השליחה
  • • שמור היסטוריית שיחות במקומות מתאימים

מה לא לעשות

  • • אל תחשוף מפתחות בקוד צד-לקוח
  • • אל תשלח מידע רגיש ללא הצפנה
  • • אל תתעלם משגיאות Rate Limit
  • • אל תשתמש ב-temperature גבוה למשימות דיוק
  • • אל תשכח לנקות היסטוריה ישנה
  • • אל תסמוך על המודל למשימות קריטיות בלבד

💰 אופטימיזציה של עלויות

בחירת מודל

השתמש במודל הקטן ביותר שמספק את הדיוק הנדרש

אורך הקשר

שמור רק על ההיסטוריה הרלוונטית לשיחה

Cache תשובות

שמור תשובות לשאלות נפוצות במטמון

🧠 בוחן בדיקת ידע

1. מהו המקום המאובטח ביותר לשמור בו את ה-API Key?

2. איזה קוד שגיאה HTTP מעיד על חריגה ממכסת הבקשות (Rate Limit)?

3. מה יקרה אם נגדיר את פרמטר ה-Temperature ל-0?

4. מה תפקיד ה-Headers בבקשת API?