Skip to content

Commit 2a3e6c6

Browse files
authored
Merge pull request #67 from microsoft/update-translations
🌐 Update translations via Co-op Translator
2 parents a9680d0 + 512f1b3 commit 2a3e6c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+19625
-1520
lines changed

translations/ar/AGENTS.md

Lines changed: 375 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,375 @@
1+
<!--
2+
CO_OP_TRANSLATOR_METADATA:
3+
{
4+
"original_hash": "afc90918d008cf77fd1982691f681306",
5+
"translation_date": "2025-10-03T08:26:25+00:00",
6+
"source_file": "AGENTS.md",
7+
"language_code": "ar"
8+
}
9+
-->
10+
# AGENTS.md
11+
12+
## نظرة عامة على المشروع
13+
14+
هذا مستودع تعليمي لتعلم تطوير الذكاء الاصطناعي التوليدي باستخدام Java. يقدم دورة عملية شاملة تغطي نماذج اللغة الكبيرة (LLMs)، هندسة التوجيه، التضمينات، RAG (توليد معزز بالاسترجاع)، وبروتوكول سياق النموذج (MCP).
15+
16+
**التقنيات الرئيسية:**
17+
- Java 21
18+
- Spring Boot 3.5.x
19+
- Spring AI 1.1.x
20+
- Maven
21+
- LangChain4j
22+
- نماذج GitHub، Azure OpenAI، و OpenAI SDKs
23+
24+
**الهندسة المعمارية:**
25+
- تطبيقات Spring Boot مستقلة متعددة منظمة حسب الفصول
26+
- مشاريع نموذجية توضح أنماط الذكاء الاصطناعي المختلفة
27+
- جاهزة للعمل مع GitHub Codespaces مع حاويات تطوير مُعدة مسبقًا
28+
29+
## أوامر الإعداد
30+
31+
### المتطلبات الأساسية
32+
- Java 21 أو أعلى
33+
- Maven 3.x
34+
- رمز وصول شخصي لـ GitHub (لنماذج GitHub)
35+
- اختياري: بيانات اعتماد Azure OpenAI
36+
37+
### إعداد البيئة
38+
39+
**الخيار 1: GitHub Codespaces (موصى به)**
40+
```bash
41+
# Fork the repository and create a codespace from GitHub UI
42+
# The dev container will automatically install all dependencies
43+
# Wait ~2 minutes for environment setup
44+
```
45+
46+
**الخيار 2: حاوية تطوير محلية**
47+
```bash
48+
# Clone repository
49+
git clone https://github.com/microsoft/Generative-AI-for-beginners-java.git
50+
cd Generative-AI-for-beginners-java
51+
52+
# Open in VS Code with Dev Containers extension
53+
# Reopen in Container when prompted
54+
```
55+
56+
**الخيار 3: إعداد محلي**
57+
```bash
58+
# Install dependencies
59+
sudo apt-get update
60+
sudo apt-get install -y maven openjdk-21-jdk
61+
62+
# Verify installation
63+
java -version
64+
mvn -version
65+
```
66+
67+
68+
### التكوين
69+
70+
**إعداد رمز GitHub:**
71+
```bash
72+
# Create a GitHub Personal Access Token
73+
# Set environment variable
74+
export GITHUB_TOKEN="your-token-here"
75+
```
76+
77+
**إعداد Azure OpenAI (اختياري):**
78+
```bash
79+
# For examples using Azure OpenAI
80+
cd 02-SetupDevEnvironment/examples/basic-chat-azure
81+
cp .env.example .env
82+
# Edit .env with your Azure OpenAI credentials
83+
```
84+
85+
86+
## سير العمل التطويري
87+
88+
### هيكل المشروع
89+
```
90+
/
91+
├── 01-IntroToGenAI/ # Chapter 1: Introduction
92+
├── 02-SetupDevEnvironment/ # Chapter 2: Environment setup
93+
│ └── examples/ # Working examples
94+
├── 03-CoreGenerativeAITechniques/ # Chapter 3: Core techniques
95+
├── 04-PracticalSamples/ # Chapter 4: Sample projects
96+
│ ├── calculator/ # MCP service example
97+
│ ├── foundrylocal/ # Local model integration
98+
│ └── petstory/ # Multi-modal app
99+
├── 05-ResponsibleGenAI/ # Chapter 5: Responsible AI
100+
└── translations/ # Multi-language support
101+
```
102+
103+
104+
### تشغيل التطبيقات
105+
106+
**تشغيل تطبيق Spring Boot:**
107+
```bash
108+
cd [project-directory]
109+
mvn spring-boot:run
110+
```
111+
112+
**بناء المشروع:**
113+
```bash
114+
cd [project-directory]
115+
mvn clean install
116+
```
117+
118+
**تشغيل خادم MCP Calculator:**
119+
```bash
120+
cd 04-PracticalSamples/calculator
121+
mvn spring-boot:run
122+
# Server runs on http://localhost:8080
123+
```
124+
125+
**تشغيل أمثلة العميل:**
126+
```bash
127+
# After starting the server in another terminal
128+
cd 04-PracticalSamples/calculator
129+
130+
# Direct MCP client
131+
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.SDKClient"
132+
133+
# AI-powered client (requires GITHUB_TOKEN)
134+
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.LangChain4jClient"
135+
136+
# Interactive bot
137+
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.Bot"
138+
```
139+
140+
141+
### إعادة التحميل السريع
142+
تم تضمين Spring Boot DevTools في المشاريع التي تدعم إعادة التحميل السريع:
143+
```bash
144+
# Changes to Java files will automatically reload when saved
145+
mvn spring-boot:run
146+
```
147+
148+
149+
## تعليمات الاختبار
150+
151+
### تشغيل الاختبارات
152+
153+
**تشغيل جميع الاختبارات في المشروع:**
154+
```bash
155+
cd [project-directory]
156+
mvn test
157+
```
158+
159+
**تشغيل الاختبارات مع إخراج مفصل:**
160+
```bash
161+
mvn test -X
162+
```
163+
164+
**تشغيل فئة اختبار محددة:**
165+
```bash
166+
mvn test -Dtest=CalculatorServiceTest
167+
```
168+
169+
170+
### هيكل الاختبار
171+
- ملفات الاختبار تستخدم JUnit 5 (Jupiter)
172+
- فئات الاختبار موجودة في `src/test/java/`
173+
- أمثلة العميل في مشروع الحاسبة موجودة في `src/test/java/com/microsoft/mcp/sample/client/`
174+
175+
### الاختبار اليدوي
176+
العديد من الأمثلة هي تطبيقات تفاعلية تتطلب اختبارًا يدويًا:
177+
178+
1. قم بتشغيل التطبيق باستخدام `mvn spring-boot:run`
179+
2. اختبر نقاط النهاية أو تفاعل مع CLI
180+
3. تحقق من أن السلوك المتوقع يتطابق مع الوثائق في README.md لكل مشروع
181+
182+
### الاختبار باستخدام نماذج GitHub
183+
- حدود الطبقة المجانية: 15 طلبًا/دقيقة، 150/يوم
184+
- 5 طلبات متزامنة كحد أقصى
185+
- اختبار تصفية المحتوى باستخدام أمثلة الذكاء الاصطناعي المسؤول
186+
187+
## إرشادات نمط الكود
188+
189+
### اتفاقيات Java
190+
- **إصدار Java:** Java 21 مع الميزات الحديثة
191+
- **النمط:** اتباع اتفاقيات Java القياسية
192+
- **التسمية:**
193+
- الفئات: PascalCase
194+
- الطرق/المتغيرات: camelCase
195+
- الثوابت: UPPER_SNAKE_CASE
196+
- أسماء الحزم: أحرف صغيرة
197+
198+
### أنماط Spring Boot
199+
- استخدام `@Service` للمنطق التجاري
200+
- استخدام `@RestController` لنقاط النهاية REST
201+
- التكوين عبر `application.yml` أو `application.properties`
202+
- تفضيل متغيرات البيئة على القيم الثابتة
203+
- استخدام التعليمة `@Tool` للطرق المكشوفة عبر MCP
204+
205+
### تنظيم الملفات
206+
```
207+
src/
208+
├── main/
209+
│ ├── java/
210+
│ │ └── com/microsoft/[component]/
211+
│ │ ├── [Component]Application.java
212+
│ │ ├── config/
213+
│ │ ├── controller/
214+
│ │ ├── service/
215+
│ │ └── exception/
216+
│ └── resources/
217+
│ ├── application.yml
218+
│ └── static/
219+
└── test/
220+
└── java/
221+
└── com/microsoft/[component]/
222+
```
223+
224+
225+
### التبعيات
226+
- تُدار عبر Maven `pom.xml`
227+
- Spring AI BOM لإدارة الإصدارات
228+
- LangChain4j للتكاملات الذكاء الاصطناعي
229+
- Spring Boot starter parent لتبعيات Spring
230+
231+
### تعليقات الكود
232+
- إضافة JavaDoc لواجهات برمجة التطبيقات العامة
233+
- تضمين تعليقات تفسيرية للتفاعلات المعقدة مع الذكاء الاصطناعي
234+
- توثيق أوصاف أدوات MCP بوضوح
235+
236+
## البناء والنشر
237+
238+
### بناء المشاريع
239+
240+
**البناء بدون اختبارات:**
241+
```bash
242+
mvn clean install -DskipTests
243+
```
244+
245+
**البناء مع جميع الفحوصات:**
246+
```bash
247+
mvn clean install
248+
```
249+
250+
**تغليف التطبيق:**
251+
```bash
252+
mvn package
253+
# Creates JAR in target/ directory
254+
```
255+
256+
257+
### أدلة الإخراج
258+
- الفئات المترجمة: `target/classes/`
259+
- فئات الاختبار: `target/test-classes/`
260+
- ملفات JAR: `target/*.jar`
261+
- قطع Maven: `target/`
262+
263+
### تكوين خاص بالبيئة
264+
265+
**التطوير:**
266+
```yaml
267+
# application.yml
268+
spring:
269+
ai:
270+
openai:
271+
api-key: ${GITHUB_TOKEN}
272+
base-url: https://models.inference.ai.azure.com
273+
```
274+
275+
**الإنتاج:**
276+
- استخدام نماذج Azure AI Foundry بدلاً من نماذج GitHub
277+
- تحديث عنوان URL الأساسي إلى نقطة نهاية Azure OpenAI
278+
- إدارة الأسرار عبر Azure Key Vault أو متغيرات البيئة
279+
280+
### اعتبارات النشر
281+
- هذا مستودع تعليمي مع تطبيقات نموذجية
282+
- غير مصمم للنشر الإنتاجي كما هو
283+
- الأمثلة توضح أنماطًا يمكن تكييفها للاستخدام الإنتاجي
284+
- راجع ملفات README لكل مشروع للحصول على ملاحظات النشر المحددة
285+
286+
## ملاحظات إضافية
287+
288+
### نماذج GitHub مقابل Azure OpenAI
289+
- **نماذج GitHub:** طبقة مجانية للتعلم، لا حاجة لبطاقة ائتمان
290+
- **Azure OpenAI:** جاهزة للإنتاج، تتطلب اشتراك Azure
291+
- الكود متوافق بين الاثنين - فقط قم بتغيير نقطة النهاية ومفتاح API
292+
293+
### العمل مع مشاريع متعددة
294+
كل مشروع نموذجي مستقل:
295+
```bash
296+
# Navigate to specific project
297+
cd 04-PracticalSamples/[project-name]
298+
299+
# Each has its own pom.xml and can be built independently
300+
mvn clean install
301+
```
302+
303+
304+
### المشكلات الشائعة
305+
306+
**عدم توافق إصدار Java:**
307+
```bash
308+
# Verify Java 21
309+
java -version
310+
# Update JAVA_HOME if needed
311+
export JAVA_HOME=/usr/lib/jvm/msopenjdk-current
312+
```
313+
314+
**مشكلات تنزيل التبعيات:**
315+
```bash
316+
# Clear Maven cache and retry
317+
rm -rf ~/.m2/repository
318+
mvn clean install
319+
```
320+
321+
**رمز GitHub غير موجود:**
322+
```bash
323+
# Set in current session
324+
export GITHUB_TOKEN="your-token-here"
325+
326+
# Or use .env file in project directory
327+
echo "GITHUB_TOKEN=your-token-here" > .env
328+
```
329+
330+
**المنفذ قيد الاستخدام بالفعل:**
331+
```bash
332+
# Spring Boot uses port 8080 by default
333+
# Change in application.properties:
334+
server.port=8081
335+
```
336+
337+
338+
### دعم متعدد اللغات
339+
- الوثائق متوفرة بأكثر من 45 لغة عبر الترجمة الآلية
340+
- الترجمات موجودة في دليل `translations/`
341+
- تُدار الترجمة بواسطة سير عمل GitHub Actions
342+
343+
### مسار التعلم
344+
1. ابدأ بـ [02-SetupDevEnvironment](02-SetupDevEnvironment/README.md)
345+
2. اتبع الفصول بالترتيب (01 → 05)
346+
3. أكمل الأمثلة العملية في كل فصل
347+
4. استكشف المشاريع النموذجية في الفصل 4
348+
5. تعلم ممارسات الذكاء الاصطناعي المسؤول في الفصل 5
349+
350+
### حاوية التطوير
351+
تقوم `.devcontainer/devcontainer.json` بتكوين:
352+
- بيئة تطوير Java 21
353+
- Maven مثبت مسبقًا
354+
- ملحقات Java لـ VS Code
355+
- أدوات Spring Boot
356+
- تكامل GitHub Copilot
357+
- دعم Docker-in-Docker
358+
- Azure CLI
359+
360+
### اعتبارات الأداء
361+
- طبقة نماذج GitHub المجانية لديها حدود معدل
362+
- استخدم أحجام دفعات مناسبة للتضمينات
363+
- ضع في اعتبارك التخزين المؤقت لطلبات API المتكررة
364+
- راقب استخدام الرموز لتحسين التكلفة
365+
366+
### ملاحظات الأمان
367+
- لا تقم أبدًا بارتكاب ملفات `.env` (موجودة بالفعل في `.gitignore`)
368+
- استخدم متغيرات البيئة لمفاتيح API
369+
- يجب أن تحتوي رموز GitHub على أقل النطاقات المطلوبة
370+
- اتبع إرشادات الذكاء الاصطناعي المسؤول في الفصل 5
371+
372+
---
373+
374+
**إخلاء المسؤولية**:
375+
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.

0 commit comments

Comments
 (0)