הקדם
בזמן שפיתחות יישומים בפייתון, FastAPI מתפרסם כבחירה עיקרית לבניית פתרונות בעלי ביצועים גבוהים. הוא מעניק מהירות, פשטות ותמיכה בתכנות אסינכרוני, מה שהוא מושלם לפיתוח יישומים מודרניים, סקלאבליים.
במדריך הלימוד הזה, אנחנו נדבר אתכם דרך תהליך ההגדרה של יישומות FastAPI עם בסיס נוסף לנתונים (NoSQL). כשמגיע לאחסון וניהול מידע, בסיסים ה NoSQL מציעים גמישות והתאמה, מה שהוא מועדף ליישומים שצריכים להתמודד עם מבנים מאגר מגוונים ומורכבים.
דרישות
לפני שיתחילו, עליכם לוודא שיש לכם את הדברים הבאים:
- שרת פועל בעזרת Ubuntu ביחד עם משתמש לא כולני עם זכויות sudo ומערך חיצון פעיל. עבור הוראות על איך להגדיר את זה, בבקשה בחרו את החלון הזה מרשימת זהועיצבו את הדרכנו להגדרת השרת הראשון. בהתחשב בזאת, תוודאו לעבוד עם גרסהתמיכהשל Ubuntu.
-
הכרה בשורה הפקודה של לינוקס. להתקדמות או התעצמות בשורה הפקודה, בקר במדריך זה על הדרכה בשורה הפקודה של לינוקס.
-
הרץ
sudo apt-get update
במסוף של אובונטו כדי לוודא שלמערכת שלך ישנם הגרסאות העדכניות והעדכונים לבטחון לתוכנה הזמינה מהמאגרים המוגדרים על המערכת שלך.
ההוראות הבאות מוגמרות עבור הגירסאות האחרונות של Ubuntu: Ubuntu 24.04, Ubuntu 22.04 ו Ubuntu 20.04. אם אתה משתמש בגירסא של Ubuntu <= 18.04, אנחנו ממליצים לך לעדכן לגירסה יותר חדשה מפני ש Ubuntu אינו מספק תמיכה בגירסאות אלה. אוסף המדריכים הזה יעזר לך בעדכון הגירסה של ה Ubuntu שלך.
שלב 1 – הגדרת סביבת Python על המכשיר שלך
במהלך המדריך הזה, אנחנו נהשיג את הערכת הפייתים python3
כדי להריץ הוראות. הגירסאות האחרונות של Ubuntu מופיעות עם התקנת Python 3, אז כדי לבדוק את ההתקנה שלו, בואו נבצע את ההוראה הבאה:
במקרה שזה יחזיר שגיאה, תוכל להתקין/לשנות בעזרת ההוראה הבאה:
בהמשך, עליך להתקין את pip
כדי להתקין ערכים Python והתלותיהם בדרך בטוחה.
שלב 2 – יצירת סביבת מעטפת
אם אתה משתמש בגירסא של Ubuntu < 24.04, לא נדרשת ליצור סביבת מעטפת, אך זה מנהג טוב להפריד את התלותים של הפרוייקט שלך.
מהדבר החדש של PEP 668 ב- Python 3.11 ו- pip 22.3 אומר על המתייחסות לסביבות בסיס פיתוח פונקציות Python כ "ניהלות חיצונית", מה שאומר שאתה לא יוכל להשתמש ב- pip כדי להתקין ערכים בהצלחה אלא אם אתה עובד בסביבה מדומה.
בשלב זה, תיצור סביבה מדומה לפרוייקט שלך שתאילץ על בידוד התלותות של הפרוייקט שלך כדי למנוע סכסוכים בין גרסאות שונות של ערכים אחרים. בעזרת הקומאנד הבא, יש להריץ את התוצאה הבאה:
זה יתקין את הערך venv
הנחוץ על מנת ליצור סביבה מדומה.
בפעם הזו, הפקת הקומאנד ייצר סביבה מדומה בשם fastapi-env
בתוך התיקייה העבודה שלך. כדי להתחיל לעבוד בתוך הסביבה הזו, צריך להפעילה.
אחרי ההוצאה המוצלחת, תראה שהתוצאה הקודמת מופרעת כך:
(fastapi-env) user@machine:~$
עכשיו, תוכל להתחיל בהתקנת התלותות הנחוצות בסביבה המדומה הזו.
שלב 3 – התקנת הספקים הנחוצים
בשלב זה, תתקנים קטעים ספציפיים שנדרשים כדי לעבוד בהוראת המסע.
בואו נתחיל בהתקנת fastapi
, שהוא נדרש כדי לבנות את היישומך של FastAPI, וuvicorn
, שהוא נדרש כדי להפעיל את היישומך של FastAPI.
בהדרכה זו, נהיה משתמשים ב MongoDB כבסיס נתונים NoSQL. כדי לתקשר עם MongoDB מתוך FastAPI, צריך להתקנת motor
, שהוא נהג פיתוח פתוח בעל תאמה ל Python עבור MongoDB.
שלב 4 – התקנה והגדרת MongoDB על Ubuntu
כדי להתקנת MongoDB על המחשב שלך ב Ubuntu, צרך להריץ את התוך הפקודות הבאות בתוך התמנון:
אחרי ההרצאה הזו, זה יחזיר את הפרמטר echo. עכשיו, בואו נבצע במהירות קטנה:
זה יוודא שתקבלו את העדכונים האחרונים לאחר הגדרת המפתחים של MongoDB.
בשלב הבא, צריך להתקנת תלוית openssl
על המערכת שנדרשת עבור התקנת MongoDB.
אחרי ההרצאה הזו, תבקשו להמתחדש את השירותים. אחרי ההתחדשות, תתקנו MongoDB בעזרת הפקודה הבאה:
התחל ואפשר את השירותים של MongoDB:
ניתן לבדוק את מצב השירות של MongoDB ולבדוק את החיבור על ידי הרצת הפקודות הבאות:
שלב 5 – יצירת יישומון FastAPI
השלב הבא הוא ליצור יישומון FastAPI. בתוך התיקייה העבודה שלך, יצירות קובץ database.py
:
זה יפתח מחשב טקסט ריק. כאן תכתב את ההגיון לקישור לבסיס נתונים שלך.
מנבאת שבסיס נתונים mycollection
של mydatabase
מופלא עם מספר נתונים, אתה עכשיו יוצר קובץ main.py
שמחזיק את ההגיון של היישומון שלך. ביישומון FastAPI הבא, קישור לבסיס נתונים נעשה בעזרת הנתונים ב database.py
נתונים מוגדלים עבור התחבורה.
במחשב טקסט הזה, כתבו את ההגיון:
הנושא של היישומון הזה הוא:
- מודל הדרך ישרה מ sklearn: המודל הזה מעריך יצוא בהתבסס על תכונה אחת קדמת.
- מידע קודמ ממודל Pydantic: זה הגדר את מבנה המידע הצפוי לנקודת ההערכה. במקרה זה, זה עשירית.
- נתיבים MongoDB: הנתיבים
/items/
וPOST /items/
מאפשרים לך לקבל ולהכניס חפצים לאוסף שלך בMongoDB.
שלב 6 – הרצת יישומות FastAPI
כדי להריץ בהצלחה את היישום הזה, צריך להתקין את הספקטים והתוספים בהם משמשים ביישום.
עכשיו, תשמש את הפקטים הבא כדי להריץ את היישום הזה:
היצאת הפקטים הזו תהיה:
OutputINFO: Will watch for changes in these directories: ['/path/to/your/project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [XXXXX] using statreload
INFO: Started server process [XXXXX]
INFO: Waiting for application startup.
INFO: Application startup complete.
FastAPI ייצר באופן אוטומטי מידע שימושי של ה API בעזרת Swagger UI. ניתן לגשת אליו על ידי ניווט אל http://127.0.0.1:8000/docs
.
ניתן להשתמש בכלים כמו curl
או Postman כדי לקרוא לנקודת הקצה שמעריכה ערך בהתבסס על המידע שלך.
curl -X POST "http://127.0.0.1:8000/predict/" -H "Content-type: application/json" -d '{"feature": 3}'
שלב 7 [אפשרי] – הרצת יישומות בעזרת Docker Compose
אתה יכול למלא את היישומך באחסון אקסיבים ולהריץ אותו בעזרת docker-compose
תרגום הסיכום בסיום ההדרכה הזו, למידע נוסף על איך להגדיל את היישומך באמצעות דוקר פילים וכיצד לשמור על מערכת מתאימה. כדי להגדיר את היישומך כעל קומפוזידר דוקר, עבודה מוסכמת בעזרת הדוקר שלך והדרך בה היישומך מופיע. כאשר היישומך מוגדר, ניתן להגדיל את היישומך בקל ובזול, אתם יכולים להגדיל את היישומך באופן מוגדר.
סיכום
בהדרכה הזו, למדת איך להגדיל יישום FastAPI עם MongoDB, ויצרת יישום פשוט על-בסיס AI שמסוגל לאחסן ולהוציא הערכים מודעות.
השילוב של FastAPI ובסיס נוסף לנתונים מציע סביבה חזקה ומתאימה לבניית והגדלת יישומים מונעים על-בסיס AI.
Source:
https://www.digitalocean.com/community/tutorials/set-up-fastapi-app-with-nosql-db