paint-brush
מסגרת קוד פתוח זו מביאה סוכני AI מלאים ליישום PHP שלךעל ידי@valerio
היסטוריה חדשה

מסגרת קוד פתוח זו מביאה סוכני AI מלאים ליישום PHP שלך

על ידי Inspector.dev7m2025/03/07
Read on Terminal Reader

יותר מדי זמן; לקרוא

אם הלקוחות שלך דוחפים אותך ליישם תכונות בינה מלאכותית באפליקציה שלך, נסה את Neuron, נדרשות רק כמה שורות קוד כדי ליישם את הסוכן המלא הראשון שלך.
featured image - מסגרת קוד פתוח זו מביאה סוכני AI מלאים ליישום PHP שלך
Inspector.dev HackerNoon profile picture

בחודשים האחרונים עבדתי רבות כדי לדחוף את שילוב סוכני הבינה המלאכותית במוצר ה-SaaS שלי לרמה גבוהה יותר. זה היה מסע ארוך מאוד, שהתחיל לפני יותר משנה עם הניסויים הראשונים. הייתי חייב לומר שהבנת כל החלקים הנעים של מערכת מונעת בינה מלאכותית הייתה רחוקה מלהיות קלה.


כמפתח PHP נאבקתי הרבה, בעיקר בגלל שמערכת האקולוגית של PHP לפתח סוג זה של תכונות "Agentic" לתוך יישומים קיימים, היא לא מתקדמת ועשירה כמו שהיא בטכנולוגיות אחרות.


Python ו-Javascript "מניעים את האוטובוס", וברור שמפתחים אחרים העובדים עם שפות תכנות שונות יוצרים את החפצים שלהם כדי לקבל את ההזדמנות להתחיל גם את המסע שלהם.


לפני שישה חודשים, כשהתחלתי לעבוד על הפרק הזה, לקחתי בחשבון כמה חבילות שזכו לתשומת לב כמו LLPhant , או Prism . היה הרבה פיתוח מאחורי החבילות האלה והן כבר יישמו הרבה דברים. אבל לצרכים שלי יש להם חולשות רציניות מכדי לשקול לבנות את הבסיס של פרק זה עבור העסק שלי על ספריות אלה. Prism מיועדת בלעדית ל-Laravel, אז אתה נעול, ול-LLPhant יש הרבה מחלקות שונות ונראה יותר כמו ספרייה מאשר מסגרת. זה גם חסר תכונות כמו זיכרון, היסטוריית צ'אט, צפייה.

הדרך הבלתי ברת קיימא

מההתחלה הבנתי שאני לא יכול להסתכל על שפות תכנות אחרות. זה לא בר קיימא. ואני בטוח שזה אותו הדבר עבור רוב המפתחים המתמחים בטכנולוגיה מסוימת.


אם יש לך אפליקציית PHP, אתה לא יכול ליישם סוכן ב-javascript או ב-Python, מכיוון שהם צריכים את נתוני היישום וההקשר שלך כדי ליצור את הקסם שלהם. העברת הנתונים וההקשר הללו לישות חיצונית הכתובה בשפה אחרת מובילה לשכפול קוד רב, או לאילוץ טכני שאינו בר קיימא מדי.


אני סקרן לראות אם רק אני נאבקתי, או שהרגשות האלה זהים למפתחי PHP אחרים.


התחלתי לחשוב שהכלי שיצרתי לעצמי היה ממש ממש טוב, לפחות בפרספקטיבה שלי.


אז החלטתי לשחרר את הכלי הפנימי הזה כפרויקט קוד פתוח: Neuron AI , Framework של קוד פתוח לשילוב סוכני AI מלאים ביישום PHP הקיים שלך.


https://neuron.inspector.dev

למה החלטתי להפוך את זה לקוד פתוח

המסע שהייתי רוצה לחקור הוא בהשראת LangChain, שנותן לאנשים את הכוח ליצור ישויות Agentic לתוך יישומי PHP, עם ערכת כלים מלאה בקוד פתוח. ולספק תמיכה ונראות לטווח ארוך הודות לשירות הניטור והניפוי המקצועי המופעל על ידי Inspector.dev


יחד עם זאת אני מאמין שזה באמת יכול לעזור למפתחי PHP "לקפוץ לאפיק AI" עם יסודות חזקים יותר.

זו נראתה לי הזדמנות ברורה. אני מקווה שזה יכול להביא לך את התשובות שאתה מחפש כדי להמשיך ולבנות תוכנה נהדרת עם שפת התכנות המועדפת עליך.


הנה איך מאורגנת המערכת:

מושגי מפתח

Neuron AI נועד לספק לך ערכת כלים מלאה להטמעת יישומים מונעי בינה מלאכותית, מה שמקל על השילוב במערכת הקיימת שלך.


רוב רכיבי המסגרת של Neuron AI אינם מיישמים בנאים פעילים, הם רק מספקים לך תכונות ליישום ההתנהגות הסוכנת שלך. שני המחלקות החשובות ביותר, Agent ו- RAG , נועדו להרחיב כדי ליצור את היישום הספציפי שלך. לעתים רחוקות הם משמשים כאובייקטים עצמאיים.


זה מבטיח את הניידות של יישום הסוכן שלך מכיוון שכל החלקים הנעים מובלעים בישות אחת שאתה יכול פשוט להפעיל בכל מקום שתרצה ביישום שלך.


 namespace App\Agents; use NeuronAI\Agent; use NeuronAI\Providers\Anthropic; use NeuronAI\Tools\Tool; class SEOAgent extends Agent { public function provider(): AIProviderInterface { // return an AI provider instance (Anthropic, OpenAI, Mistral, etc.) return new Anthropic( key: 'ANTHROPIC_API_KEY', model: 'ANTHROPIC_MODEL', ); } public function instructions() { return "Act as an expert of SEO (Search Engine Optimization). ". "Your role is to analyze a text and provide suggestions on how the content can be improved to better rank on Google search."; } public function tools(): array { return [ Tool::make( "get_file_content", "Use the url to get the content in plain text." )->addProperty( new ToolPropertry( name: 'url', type: 'string', description: 'The URL of the article you want to analyze.', required: true ) )->setCallable(function (string $url) { return file_get_contents($url); }) ]; } }


דבר עם הסוכן


 use NeuronAI\Chat\Messages\UserMessage; $response = SEOAgent::make($user) ->chat( new UserMessage("Give me your feedback about this article: https://inspector.dev/introduction-to-neuron-ai-create-full-featured-ai-agents-in-php/") ); echo $response->getContent(); // It seems like a good job has been done on the article, // however I can give you some tips to improve SEO:...

תלות בחבילה

החלטנו בכוונה לבנות את Neuron חופשי ככל האפשר מתלות חיצונית. החבילה נשלחת עם תלות אחת בלבד: "guzzlehttp/guzzle": "^7.0"


מבלי להכניס עשרות תלות בתוך האפליקציה שלך, אתה לא מסתכן בנעילת Neuron אם אתה צריך לשדרג את הארכיטקטורה הנוכחית שלך, כמו מסגרת יישום האינטרנט (Laravel, Symfony, CodeIgniter וכו') לגרסה חדשה יותר, או לשלב תלות חדשות.


בהתבסס על הניסיון שלנו, שרשרת תלות גרועה עלולה להיות הפתעה מאוד לא נעימה כשזה מאוחר מדי. כבר השקעת מאמצים רבים כדי ליישם את אינטראקציות הבינה המלאכותית שלך, ופתאום זה הפך לצוואר בקבוק כי התלות לא מאפשרת לשדרג ולפתח את שאר המערכת שלך.


אנחנו רוצים שתדע שעם Neuron AI זה לא המקרה.

פְּרִישׁוּת

כל רכיב של המסגרת תלוי בממשק שלו. זה מבטיח לך את היכולת ליצור יישומים קונקרטיים חדשים של כל רכיב כדי ליצור אינטראקציה עם מערכות חיצוניות ולהעביר אותם לסוכנים שלך בביטחון.


בתיעוד הרכיבים תמצאו את החלק הייעודי של איך ליישם אחד חדש, בעצם הרחבת הממשק שלו.

האם אתה רוצה ליישם חנות וקטור חדשה, או ספק הטמעות ? עקוב אחר התיעוד ואל תהסס לשלוח לנו יחסי ציבור עם המודול החדש שלך. נשמח לשלב אותם כחלק מהמסגרת כדי להבטיח תמיכה ותחזוקה של צד ראשון.

יכולת תצפית של סוכני AI

Neuron תוכננה עם מערכת מובנית כדי להפוך את יישומי הסוכן וה-RAG שלך לניתנים לצפייה. אתה יכול להתחיל לעקוב אחר הפעילויות והביצועים של הסוכנים שלך עם שורת קוד אחת בלבד. עיין בקטע הייעודי בסעיף הנצפה .

ערכת הכלים של Neuron AI

כדי ליצור סוכן AI פונקציונלי לחלוטין, עליך לגרום למספר דברים לעבוד יחד. מלבד ה-LLM, אתה צריך כל הזמן לעבד נתונים, ליצור ולאחסן הטבעות כדי להזין את הסוכן שלך במידע חדש.


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

מה הלאה לאחר ההשקה

ב-Inspector אנו מאמצים צמיחה אורגנית. אז אנחנו רוצים להתחיל לעזור למפתחים ליצור את הסוכנים הראשונים שלהם כדי לגלות מקרי קצה, צרכים חדשים, וכמובן תיקון באגים.


אנחנו כבר עובדים עם בסיס המשתמשים הפנימי שלנו של +10K מפתחי PHP שמתחילים את הסוכנים שלהם עכשיו והרבה דברים מרגשים צצים עדיין.


מקרי שימוש אמיתיים יהיו המניעים של התפתחות המסגרת, אז אל תהסס לפנות אלינו אם אתה רוצה לתפוס קצת ידע מהניסיון שלנו. אנחנו כאן כדי לעזור.

מַסְקָנָה

אם הלקוחות שלך דוחפים אותך להטמיע תכונות AI באפליקציה שלך, נסה את Neuron, נדרשות רק כמה שורות קוד כדי ליישם את הסוכן המלא הראשון שלך.


תודה שקראת את המאמר הזה, אני מזמין אותך ליצור איתי קשר לכל שאלה, סקרנות, או סתם לתת לי משוב. ואם אתה חושב שהכלי הזה יכול להיות שימושי למפתחי PHP אחרים, אנא שתף ​​אותו בבלוג, במדיה החברתית ובערוצי YouTube שלך.

למידע נוסף על מפקח באתר: https://inspector.dev


טוֹב בִּיוֹתֵר,

ולריו