README.md
February 1, 2026 · View on GitHub
שימוש ב-Phi-4-mini-mm ליצירת קוד
Phi-4-mini ממשיך את יכולות התכנות החזקות של משפחת Phi. ניתן להשתמש ב-Prompt כדי לשאול שאלות הקשורות לתכנות. כמובן, לאחר הוספת יכולת ההסקה החזקה, יש לו יכולות תכנות מתקדמות יותר, כמו יצירת פרויקטים בהתאם לדרישות. לדוגמה, יצירת פרויקטים לפי דרישות, כגון:
דרישה
יצירת אפליקציית עגלת קניות
- יצירת API Rest עם השיטות הבאות:
- קבלת רשימת בירות באמצעות page offset ו-limit.
- קבלת פרטי בירה לפי id.
- חיפוש בירה לפי שם, תיאור, tagline, food pairings ומחיר.
- יצירת רשימת מוצרים בדף הראשי.
- יצירת שורת חיפוש לסינון מוצרים.
- ניווט לדף התיאור כאשר המשתמש לוחץ על מוצר.
- (אופציונלי) Slicer לסינון מוצרים לפי מחיר.
- יצירת עגלת קניות.
- הוספת מוצרים לעגלה.
- הסרת מוצרים מהעגלה.
- חישוב המחיר הכולל של המוצרים בעגלה.
קוד לדוגמה - Python
import requests
import torch
from PIL import Image
import soundfile
from transformers import AutoModelForCausalLM, AutoProcessor, GenerationConfig,pipeline,AutoTokenizer
model_path = 'Your Phi-4-mini-mm-instruct'
kwargs = {}
kwargs['torch_dtype'] = torch.bfloat16
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_path,
trust_remote_code=True,
torch_dtype='auto',
_attn_implementation='flash_attention_2',
).cuda()
generation_config = GenerationConfig.from_pretrained(model_path, 'generation_config.json')
user_prompt = '<|user|>'
assistant_prompt = '<|assistant|>'
prompt_suffix = '<|end|>'
requirement = """
Create a Shopping Cart App
- Create an API Rest with the following methods:
- Get a list of beers using page offset and limit.
- Get beer details by id.
- Search for beer by name, description, tagline, food pairings, and price.
- Create a list of products on the main page.
- Create a search bar to filter products.
- Navigate to the description page when the user clicks on a product.
- (Optional) Slicer to filter products by price.
- Create a shopping cart.
- Add products to the cart.
- Remove products from the cart.
- Calculate the total price of the products in the cart."""
note = """
Note:
1. Use Python Flask to create a Repository pattern based on the following structure to generate the files
|- models
|- controllers
|- repositories
|- views
2. For the view page, please use SPA + VueJS + TypeScript to build
3. Firstly use markdown to output the generated project structure (including directories and files), and then generate the file names and corresponding codes step by step, output like this
## Project Structure
|- models
| - user.py
|- controllers
| - user_controller.py
|- repositories
| - user_repository.py
|- templates
| - index.html
## Backend
#### `models/user.py`
```python
```
.......
## Frontend
#### `templates/index.html`
```html
```
......."""
prompt = f'{user_prompt}Please create a project with Python and Flask according to the following requirements:\n{requirement}{note}{prompt_suffix}{assistant_prompt}'
inputs = processor(prompt, images=None, return_tensors='pt').to('cuda:0')
generate_ids = model.generate(
**inputs,
max_new_tokens=2048,
generation_config=generation_config,
)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1] :]
response = processor.batch_decode(
generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(response)
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון כי תרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפת המקור שלו נחשב למקור הסמכותי. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי אדם. אנו לא נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.