Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions words/arabic/net/ai-powered-document-processing/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@
| [العمل مع نموذج الذكاء الاصطناعي من Google](./working-with-google-ai-model/) |قم بترقية معالجة المستندات لديك باستخدام Aspose.Words for .NET وGoogle AI لإنشاء ملخصات موجزة بسهولة. |
| [العمل مع نموذج الذكاء الاصطناعي المفتوح](./working-with-open-ai-model/) | أطلق العنان لتلخيص المستندات بكفاءة باستخدام Aspose.Words لـ .NET مع نماذج OpenAI القوية. انغمس في هذا الدليل الشامل الآن. |
| [العمل مع خيارات التلخيص](./working-with-summarize-options/) | تعلم كيفية تلخيص مستندات Word بشكل فعال باستخدام Aspose.Words for .NET من خلال دليلنا خطوة بخطوة حول دمج نماذج الذكاء الاصطناعي للحصول على رؤى سريعة. |
| [استدعاء واجهة برمجة تطبيقات OpenAI من C# – دليل كامل لإعادة كتابة فقرات Word](./call-openai-api-from-c-complete-guide-to-rewrite-word-paragr/) | تعلم كيفية استدعاء API الخاص بـ OpenAI من C# لإعادة صياغة فقرات مستندات Word بدقة وسهولة. |
| [كيفية فحص القواعد النحوية في C# باستخدام Aspose.Words AI – دليل كامل](./how-to-check-grammar-in-c-with-aspose-words-ai-complete-guid/) | تعلم كيفية استخدام Aspose.Words AI في C# للتحقق من القواعد النحوية في مستندات Word بدقة وسهولة. |

{{< /blocks/products/pf/tutorial-page-section >}}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
---
category: general
date: 2026-05-23
description: استدعاء واجهة برمجة تطبيقات OpenAI في C# لإعادة صياغة الجملة بأسلوب رسمي.
تعلم كيفية تحميل مستند Word، واستدعاء نموذج اللغة المحلي، وإعادة صياغة الفقرة بأسلوب
رسمي باستخدام Aspose.Words.
draft: false
keywords:
- call openai api
- call local llm
- rewrite sentence formal
- rewrite paragraph formal
- load word document
language: ar
og_description: استدعاء واجهة برمجة تطبيقات OpenAI في C# لإعادة صياغة الجملة بأسلوب
رسمي. دليل كامل خطوة بخطوة مع الشيفرة، الشروحات، والنصائح.
og_title: استدعاء واجهة برمجة تطبيقات OpenAI من C# – إعادة كتابة فقرات Word
schemas:
- author: Aspose
dateModified: '2026-05-23'
description: Call OpenAI API in C# to rewrite sentence formal style. Learn how to
load word document, call local LLM, and rewrite paragraph formal with Aspose.Words.
headline: Call OpenAI API from C# – Complete Guide to Rewrite Word Paragraphs
type: TechArticle
- description: Call OpenAI API in C# to rewrite sentence formal style. Learn how to
load word document, call local LLM, and rewrite paragraph formal with Aspose.Words.
name: Call OpenAI API from C# – Complete Guide to Rewrite Word Paragraphs
steps:
- name: Why This Works
text: '- **LocalLargeLanguageModel** abstracts the HTTP details, letting you **call
local llm** exactly the same way you would a cloud OpenAI endpoint. - The prompt
we send (`Rewrite the following sentence in formal tone:`) is concise, which
helps the model focus on a **rewrite sentence formal** transforma'
- name: Expected Output Example
text: '| Original (informal) | Rewritten (formal) | |---------------------|--------------------|
| *Hey team, can we get the results ASAP?* | *Dear team, could you please provide
the results at your earliest convenience?* |'
- name: Empty Paragraphs
text: 'Sometimes a Word file contains empty paragraphs that throw off the LLM.
Guard against this:'
- name: Large Documents
text: 'Processing a 100‑page report paragraph‑by‑paragraph can be slow. Batch
the calls:'
type: HowTo
tags:
- Aspose.Words
- C#
- LLM
- OpenAI
- Word Automation
title: استدعاء واجهة برمجة تطبيقات OpenAI من C# – دليل كامل لإعادة كتابة فقرات Word
url: /ar/net/ai-powered-document-processing/call-openai-api-from-c-complete-guide-to-rewrite-word-paragr/
---

{{< blocks/products/pf/main-wrap-class >}}
{{< blocks/products/pf/main-container >}}
{{< blocks/products/pf/tutorial-page-section >}}

# استدعاء واجهة OpenAI API من C# – دليل شامل لإعادة صياغة فقرات Word

هل تساءلت يومًا كيف **call OpenAI API** من تطبيق .NET وتقوم بتحسين نص على الفور؟ ربما لديك ملف Word يحتاج إلى نبرة أكثر رسمية لتقرير عميل، ولا ترغب في إعادة كتابة كل شيء بنفسك. في هذا الدرس سنستعرض ذلك بالضبط: تحميل مستند Word، إرسال فقرة إلى نموذج لغة كبير مستضاف محليًا يحاكي واجهة OpenAI المتوافقة، والحصول على نسخة **rewrite paragraph formal**. في النهاية ستحصل على تطبيق C# console قابل للتنفيذ يقوم بكل ذلك في بضع أسطر.

سنتناول كل ما تحتاجه: حزم NuGet المطلوبة، كيفية **load word document** باستخدام Aspose.Words، تفاصيل **call local llm**، ولماذا يُنتج التوجيه “Rewrite the following sentence in formal tone” نتيجة **rewrite sentence formal** بشكل موثوق. لا مستندات خارجية، مجرد دليل مستقل يمكنك نسخه ولصقه وتشغيله.

## ما ستحقه

- تحميل ملف *.docx* باستخدام Aspose.Words.
- إنشاء عميل يمكنه **call OpenAI API**‑compatible endpoints، حتى إذا كان يعمل محليًا.
- إرسال فقرة إلى نموذج اللغة الكبيرة واستلام استجابة **rewrite paragraph formal**.
- استبدال النص الأصلي في ملف Word وحفظ المستند المحدث.

المتطلبات الأساسية قليلة: .NET 6+ SDK، Visual Studio أو VS Code، ومثال على نموذج لغة كبير محلي يُظهر نقطة نهاية HTTP متوافقة مع OpenAI (مثل Ollama، LM Studio). إذا كان لديك مفتاح سحابي يمكنك استبدال نقطة النهاية ومفتاح API – سيبقى الكود كما هو.

---

## الخطوة 1: إعداد المشروع وتثبيت الحزم

لبدء، أنشئ مشروع console جديد:

```bash
dotnet new console -n WordLlmRewrite
cd WordLlmRewrite
```

الآن أضف حزم NuGet الاثنين التي سنحتاجها:

```bash
dotnet add package Aspose.Words
dotnet add package Aspose.Words.AI
```

> **نصيحة احترافية:** Aspose.Words.AI يأتي مع غلاف خفيف يعرف كيفية **call OpenAI API**‑style services، لذا لا تحتاج إلى إنشاء طلبات HTTP يدويًا.

## الخطوة 2: كتابة الكود الذي **Call OpenAI API** (أو نموذج لغة محلي)

افتح `Program.cs` واستبدل محتوياته بما يلي. كل سطر موضح أدناه، لذا لن تضيع.

```csharp
using Aspose.Words;
using Aspose.Words.AI;
using System;

// ------------------------------------------------------------
// 1️⃣ Create a client for the local LLM that follows the
// OpenAI‑compatible API. This is the heart of the
// “call openai api” step.
// ------------------------------------------------------------
var localLlm = new LocalLargeLanguageModel(
endpoint: "http://localhost:8000/v1", // change if your server runs elsewhere
apiKey: "dummy", // dummy because the local server usually skips auth
model: "my-llm"); // name of the model you want to use

// ------------------------------------------------------------
// 2️⃣ Load the source Word document.
// ------------------------------------------------------------
Document doc = new Document("YOUR_DIRECTORY/source.docx");

// ------------------------------------------------------------
// 3️⃣ Grab the first paragraph that we want to rewrite.
// ------------------------------------------------------------
Paragraph paragraph = doc.FirstSection.Body.FirstParagraph;

// ------------------------------------------------------------
// 4️⃣ Ask the LLM to rewrite the paragraph in a formal tone.
// This is where we “rewrite paragraph formal”.
// ------------------------------------------------------------
string revisedText = localLlm.GenerateText(
$"Rewrite the following sentence in formal tone:\n{paragraph.GetText()}");

// ------------------------------------------------------------
// 5️⃣ Replace the original paragraph text with the revised version.
// ------------------------------------------------------------
paragraph.Runs.Clear(); // remove old runs
paragraph.AppendChild(new Run(doc, revisedText));

// ------------------------------------------------------------
// 6️⃣ Save the updated document.
// ------------------------------------------------------------
doc.Save("YOUR_DIRECTORY/rewritten.docx");

// ------------------------------------------------------------
// 7️⃣ Confirmation output.
// ------------------------------------------------------------
Console.WriteLine("✅ Document rewritten and saved as rewritten.docx");
```

### لماذا يعمل هذا

- **LocalLargeLanguageModel** يُجرد تفاصيل HTTP، مما يتيح لك **call local llm** بنفس الطريقة التي تستخدمها مع نقطة نهاية سحابية لـ OpenAI.
- التوجيه الذي نرسلها (`Rewrite the following sentence in formal tone:`) مختصر، مما يساعد النموذج على التركيز على تحويل **rewrite sentence formal** بدلاً من إضافة محتوى غير ذي صلة.
- عبر مسح `paragraph.Runs` وإضافة `Run` جديد، نضمن أن ملف Word يحتوي فقط على النص الجديد والرسمّي.

## الخطوة 3: تشغيل التطبيق

تأكد من أن خادم LLM المحلي يعمل ويستمع على `http://localhost:8000/v1`. ثم نفّذ:

```bash
dotnet run
```

إذا كان كل شيء متصلًا بشكل صحيح، ستظهر:

```
✅ Document rewritten and saved as rewritten.docx
```

افتح `rewritten.docx` – يجب أن تكون الفقرة الأولى الآن مكتوبة بأسلوب مصقول ورسمّي.

### مثال على النتيجة المتوقعة

| الأصل (غير رسمي) | المعاد صياغته (رسمي) |
|---------------------|--------------------|
| *Hey team, can we get the results ASAP?* | *Dear team, could you please provide the results at your earliest convenience?* |

يظهر التحويل تحويلًا نظيفًا من **rewrite sentence formal**، وهو مثالي للاتصالات التجارية.

## الخطوة 4: تعديل التوجيه لأصوات مختلفة

إذا كنت تحتاج إلى صياغة أكثر عفوية، فقط غيّر التوجيه:

```csharp
string revisedText = localLlm.GenerateText(
$"Rewrite the following sentence in a casual tone:\n{paragraph.GetText()}");
```

وبالمثل، يمكنك طلب من النموذج **rewrite paragraph formal** لأقسام أطول، أو حتى تلخيص مستند كامل. نمط **call openai api** نفسه ينطبق – استبدل التوجيه، واحتفظ بكود العميل دون تغيير.

## الخطوة 5: معالجة الحالات الخاصة

### فقرات فارغة

أحيانًا يحتوي ملف Word على فقرات فارغة تُربك النموذج. احمِ نفسك من ذلك:

```csharp
if (string.IsNullOrWhiteSpace(paragraph.GetText()))
{
Console.WriteLine("Skipped empty paragraph.");
}
else
{
// generate and replace as before
}
```

### مستندات كبيرة

معالجة تقرير من 100 صفحة فقرةً بفقرة قد تكون بطيئة. اجمع الطلبات في دفعات:

```csharp
foreach (Paragraph p in doc.GetChildNodes(NodeType.Paragraph, true))
{
// same rewrite logic for each paragraph
}
```

كن على علم بحدود السرعة على خادمك المحلي؛ قد تحتاج إلى إضافة `Thread.Sleep(200)` صغير بين الطلبات.

## الخطوة 6: النشر في بيئة الإنتاج

عند الانتقال من جهاز تطوير إلى خط أنابيب CI/CD:

1. استبدل مفتاح API التجريبي بواحد حقيقي إذا انتقلت إلى Azure OpenAI أو OpenAI SaaS.
2. احفظ نقطة النهاية والمفتاح في متغيرات البيئة (`OPENAI_ENDPOINT`, `OPENAI_KEY`) واقرأها عبر `Environment.GetEnvironmentVariable`.
3. أضف تسجيلًا (مثل Serilog) حول كتلة **call openai api** لتتبع حمولة الطلب/الاستجابة.

## الخطوة 7: إضافية – إضافة واجهة مستخدم بسيطة

إذا كنت تفضّل واجهة Windows Forms سريعة:

```csharp
// inside a button click handler
var filePath = openFileDialog1.FileName;
Document doc = new Document(filePath);
// reuse the same rewriting logic...
```

بهذه الطريقة يمكن للزملاء غير التقنيين سحب وإفلات ملف والحصول على صياغة رسمية دون تعديل الكود.

## الخلاصة

لقد أنشأنا للتو أداة C# صغيرة ولكن قوية تقوم بـ **call openai api** (أو أي نموذج لغة محلي متوافق) لإجراء **rewrite paragraph formal** داخل ملف Word. عبر **load word document**، إرسال توجيه مختصر، وتبديل نص الفقرة، تحصل على مستند مصقول في ثوانٍ.

من هنا يمكنك:

- توسيع الأداة لتعامل مع الجداول والصور.
- دمجها مع SharePoint لتلميع المستندات تلقائيًا.
- تجربة نغمات أخرى—**rewrite sentence formal**، **rewrite sentence casual**، أو حتى **rewrite sentence persuasive**.

جرّبها، عدّل التوجيهات، ودع النموذج يقوم بالعمل الشاق نيابةً عنك. برمجة سعيدة!

## دروس ذات صلة

- [إنشاء وتنسيق مستند Word باستخدام Aspose.Words لـ .NET](/words/english/net/document-styling/apply-paragraph-style/)
- [تطبيق نمط الفقرة في مستند Word](/words/english/net/document-formatting/apply-paragraph-style/)
- [الانتقال إلى فقرة في مستند Word](/words/english/net/add-content-using-documentbuilder/move-to-paragraph/)

{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
{{< blocks/products/products-backtop-button >}}
Loading