
مقدمه: نحوه راهاندازی یک پروژه #C و استفاده از API DeepSeek
در دنیای امروز، هوش مصنوعی (AI) به ابزاری قدرتمند در توسعه نرمافزارها تبدیل شده است.
یکی از مدلهای پیشرفته هوش مصنوعی که در بسیاری از کاربردهای پیچیده مانند پردازش زبان طبیعی، تولید متن، و تجزیه و تحلیل دادهها استفاده میشود، DeepSeek AI است.
این مقاله به شما نشان میدهد که چگونه میتوانید از DeepSeek AI در پروژههای #C خود استفاده کنید و قابلیتهای هوش مصنوعی را در برنامههای خود به کار بگیرید.
در این آموزش، به صورت گام به گام و دقیق، نحوه راهاندازی یک پروژه #C و استفاده از API DeepSeek را توضیح خواهیم داد.
اگر می خواهید با مفاهیم و دستورات اولیه برنامه نویسی #C بیشتر آشنا بشید نوشته زیر را مطالعه کنید:
در این نوشته شما می خوانید
بخش اول: آشنایی با DeepSeek AI و نحوه دسترسی به آن
DeepSeek AI یکی از مدلهای هوش مصنوعی پیشرفته است که برای انجام فعالیتهای مختلف مانند پردازش زبان طبیعی، تحلیل دادهها و حتی تولید متنهای خلاقانه طراحی شده است.
برای استفاده از این مدل، معمولاً از API آن بهره میبریم. شما برای استفاده از DeepSeek باید:
- ثبتنام در وبسایت DeepSeek
- دریافت کلید API از داشبورد کاربری خود
- بررسی مستندات API برای درک نحوه استفاده از آن
API Key به شما این امکان را میدهد که بهصورت امن به خدمات DeepSeek دسترسی پیدا کنید. در ادامه به نحوه استفاده از این API در پروژههای #C پرداخته میشود.
بخش دوم: ایجاد پروژه #C و نصب کتابخانههای مورد نیاز
۱. ایجاد پروژه جدید:
در Visual Studio، یک پروژه Console Application جدید با استفاده از NET. Core یا NET 6/7/8 ایجاد کنید.
سپس نامی برای پروژه به دلخواه وارد کنید.
۲. نصب کتابخانههای مورد نیاز:
برای ارسال درخواستهای HTTP به API و پردازش دادههای JSON، به کتابخانههای HttpClient و Newtonsoft.Json نیاز داریم.
شما میتوانید این بستهها را از NuGet نصب کنید.
برای نصب Newtonsoft.Json، در NuGet از دستور زیر استفاده کنید:
dotnet add package Newtonsoft.Json
همچنین از HttpClient برای ارسال درخواستها به API استفاده میکنیم.
بخش سوم: نوشتن کد برای ارسال درخواست به API DeepSeek
تعریف مدلهای درخواست و پاسخ: ابتدا باید مدلهایی برای دادههایی که به API ارسال میکنید، ایجاد کنید.
using Newtonsoft.Json;
public class DeepSeekRequest
{
[JsonProperty("input")]
public string Input { get; set; }
}
public class DeepSeekResponse
{
[JsonProperty("output")]
public string Output { get; set; }
}
۲. کدنویسی برای ارسال درخواست به API: در این مرحله، کد را برای ارسال درخواست به API و دریافت پاسخ از آن مینویسیم.
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private static readonly string apiUrl = "https://api.deepseek.ai/endpoint"; // Address API
private static readonly string apiKey = "YOUR_API_KEY"; // API Key ro set konid
static async Task Main(string[] args)
{
Console.Write("Lotfan voroodi hsro vared konid: ");
string userInput = Console.ReadLine();
var result = await SendDeepSeekRequest(userInput);
Console.WriteLine($"Natije Pasokh AI: {result}");
}
static async Task SendDeepSeekRequest(string inputText)
{
using (var client = new HttpClient())
{
// Set Header For Authentication
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
// Amade sazi dade haye darkhst
var requestData = new DeepSeekRequest { Input = inputText };
var json = JsonConvert.SerializeObject(requestData);
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Ersal darkhst Be API
var response = await client.PostAsync(apiUrl, content);
// Barrasi Moaffaghiat Boodan darkhst
if (response.IsSuccessStatusCode)
{
var responseString = await response.Content.ReadAsStringAsync();
var responseData = JsonConvert.DeserializeObject(responseString);
return responseData.Output;
}
else
{
return $"khata dar daryaft Pasokh: {response.StatusCode}";
}
}
catch (Exception ex)
{
return $"khataye ertebat: {ex.Message}";
}
}
}
}
بخش چهارم: تست و اجرا
بعد از نوشتن کد، شما میتوانید برنامه را اجرا کنید و آن را تست کنید.
وقتی وارد ورودی میشوید، برنامه به API DeepSeek ارسال درخواست کرده و پاسخ را به شما نمایش میدهد.
نمونه ورودی و خروجی:
ورودی:هوش مصنوعی چیست؟
خروجی:
پاسخ AI: هوش مصنوعی (AI) شاخهای از علوم کامپیوتر است که به توسعه سیستمهایی میپردازد که میتوانند وظایف شناختی انسان را انجام دهند.
بخش پنجم: بهترین روش ارسال درخواست HTTP به DeepSeek AI در #C چیست؟
بهترین روش برای ارسال درخواست به API DeepSeek AI در #C استفاده از HttpClient
است. شما میتوانید درخواست POST
را با JSON
ارسال کنید و دادههای ورودی را به مدل ارسال کنید.
مثال کد:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var data = new { input = "Matne Shoma" };
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.deepseek.ai/endpoint", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
بخش ششم : چگونه خروجی DeepSeek AI را در #C پردازش کنیم؟
برای پردازش خروجی DeepSeek AI در C#، باید پاسخ JSON را که از API دریافت میکنید، تجزیه کنید.
معمولاً پاسخ شامل یک فیلد output
است که متن تولید شده توسط مدل را در خود دارد.
بهترین روش برای پردازش این خروجی استفاده از Newtonsoft.Json است.
مثال:
var responseString = await response.Content.ReadAsStringAsync();
var responseData = JsonConvert.DeserializeObject(responseString);
Console.WriteLine($"Pasokh Hooosh Masnooei: {responseData.Output}");
بخش هفتم: چگونه محدودیتهای (Rate Limit) API DeepSeek AI را در #C مدیریت کنیم؟
بسیاری از APIها از جمله DeepSeek AI دارای محدودیت تعداد درخواست (Rate Limit) هستند.
این محدودیت معمولاً به ازای هر دقیقه یا ساعت اعمال میشود و اگر بیش از حد درخواست ارسال کنید، با خطای ۴۲۹ Too Many Requests مواجه خواهید شد.
راهکارهای مدیریت این محدودیت در #C:
✅ افزودن تأخیر بین درخواستها با Task.Delay()
✅ بررسی هدرهای API برای مشاهده محدودیت باقیمانده (X-RateLimit-Remaining
)
✅ استفاده از مکانیزم Retry با فاصله تصادفی (Exponential Backoff)
مثال کد برای افزودن تأخیر بین درخواستها:
for (int i = 0; i < 10; i++)
{
var result = await SendDeepSeekRequest("Matne testii");
Console.WriteLine(result);
await Task.Delay(5000); // 5 sanie takhir baraye jelo giri az mahdoodiat
}
بخش هشتم: چگونه درخواستهای موازی (Asynchronous) به API DeepSeek AI در #C ارسال کنیم؟
اگر بخواهید چندین درخواست همزمان (Concurrent Requests) به DeepSeek AI API ارسال کنید، باید از Task-Based Asynchronous Programming (async/await) در #C استفاده کنید.
این کار باعث افزایش کارایی و جلوگیری از بلاک شدن برنامه میشود.
روش صحیح ارسال درخواستهای همزمان در #C:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private static readonly string apiUrl = "https://api.deepseek.ai/endpoint";
private static readonly string apiKey = "YOUR_API_KEY";
static async Task Main(string[] args)
{
string[] inputs = { "soal 1", "soal 2", "soal 3" };
var tasks = new Task[inputs.Length];
for (int i = 0; i < inputs.Length; i++)
{
tasks[i] = SendDeepSeekRequest(inputs[i]);
}
var results = await Task.WhenAll(tasks);
foreach (var result in results)
{
Console.WriteLine(result);
}
}
static async Task SendDeepSeekRequest(string inputText)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
var requestData = new { input = inputText };
var json = JsonConvert.SerializeObject(requestData);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(apiUrl, content);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"khata dar daryaft pasokh: {response.StatusCode}";
}
}
}
}
✅ این روش باعث افزایش سرعت پردازش درخواستها میشود.
✅ برای جلوگیری از مشکلات Rate Limit، پیشنهاد میشود تعداد درخواستها را کنترل کنید.
بخش نهم: نکات و پیشنهادات مهم
- Rate Limiting: در هنگام ارسال درخواستهای متعدد، حتماً محدودیتهای تعداد درخواستها را در نظر بگیرید. DeepSeek یا هر API مشابه ممکن است محدودیتهایی برای درخواستها اعمال کند.
- مدیریت خطاها: خطاهای مختلف مانند خطاهای ارتباطی یا خطا در API باید بهطور مناسب مدیریت شوند.
- امنیت: در هنگام استفاده از API Key، توجه کنید که آن را در مکانهای امن نگه دارید و از اشتراکگذاری آن خودداری کنید.
بخش دهم: توسعه و پیشرفت بیشتر
اگر به دنبال افزودن ویژگیهای بیشتری به برنامه خود هستید، میتوانید:
- رابط کاربری گرافیکی (WPF یا Windows Forms) برای این پروژه ایجاد کنید.
- از دیگر مدلهای OpenAI یا GPT در کنار DeepSeek استفاده کنید.
- قابلیت ذخیرهسازی و تجزیه و تحلیل دادهها را در برنامه خود اضافه کنید.
سوالات متداول درباره استفاده از API DeepSeek در #C
برای استفاده از DeepSeek AI در #C، ابتدا باید API Key را از وبسایت رسمی آن دریافت کنید.
سپس با استفاده از HttpClient در #C یک درخواست HTTP POST
به API ارسال کرده و پاسخ را دریافت کنید.
این فرآیند شامل مراحل زیر است:
- دریافت کلید API از DeepSeek AI
- ارسال درخواست با دادههای ورودی
- پردازش پاسخ JSON در برنامه #C
DeepSeek AI یکی از رقبای جدی GPT (OpenAI) است و در بسیاری از پروژههای NLP (پردازش زبان طبیعی) عملکرد بسیار خوبی ارائه میدهد.
هرچند OpenAI در تولید متنهای خلاقانه بسیار قوی است، اما DeepSeek گزینهای سریع، مقرونبهصرفه و کاربردی برای بسیاری از توسعهدهندگان #C است.
برای دریافت API Key از DeepSeek AI مراحل زیر را طی کنید:
- وارد وبسایت رسمی DeepSeek شوید.
- ثبتنام کنید و وارد داشبورد خود شوید.
- در بخش API Access، یک کلید جدید ایجاد کنید.
- از این API Key برای احراز هویت در پروژه #C خود استفاده کنید.
بله! DeepSeek AI یکی از مدلهای پیشرفتهای است که از پردازش زبان فارسی نیز پشتیبانی میکند.
با ارسال متن فارسی به API این مدل، میتوانید ترجمه، تولید محتوا، پاسخگویی به سوالات و تحلیل متن را در پروژههای #C خود انجام دهید.
اگر هنگام استفاده از DeepSeek AI API در #C با خطاهای ۴۰۱ (Unauthorized) یا ۴۰۳ (Forbidden) مواجه میشوید،
دلایل احتمالی عبارتند از:
✅ استفاده از API Key نامعتبر (بررسی کنید که کلید API را بهدرستی در هدر Authorization
قرار دادهاید.)
✅ فرمت درخواست HTTP اشتباه است (دادهها باید بهصورت JSON ارسال شوند.)
✅ API شما منقضی شده یا غیرفعال شده است.
نتیجهگیری
با استفاده از DeepSeek AI در پروژههای #C خود میتوانید به راحتی از قابلیتهای پیشرفته هوش مصنوعی بهرهمند شوید.
در این مقاله، گام به گام نحوه ارسال درخواست به API DeepSeek، دریافت پاسخ و پردازش آن را آموزش دادیم.
همچنین نکاتی برای بهینهسازی و مدیریت خطاها در استفاده از API مطرح شد.
📢 اگر شما هم تجربه ای در استفاده از هوش مصنوعی دارید در بخش کامنتها آن را به اشتراک بگذارید! 🚀
دیدگاه ها (16)
محمودمی گوید:
۳۰ بهمن ۱۴۰۳ در ۱۱:۰۱ ق٫ظسلام ممنون از شما
اما ادرس api شما خطای ناشناخته میدهد
میثم رادمی گوید:
۳۰ بهمن ۱۴۰۳ در ۱۱:۱۶ ق٫ظآدرس API بدون فیلتر دسترسی ندارد. لینک تست شدست
https://api.deepseek.com
محمودمی گوید:
۳۰ بهمن ۱۴۰۳ در ۱۱:۰۳ ق٫ظبا توجه به این مستندات https://api-docs.deepseek.com
ادرس api متفاوت هست و البته با قراردادن آدر جدید در کد شما باز هم خطای تنظیمات میده
لینک API
https://api.deepseek.com
می باشد
میثم رادمی گوید:
۳۰ بهمن ۱۴۰۳ در ۱۱:۱۳ ق٫ظسلام محمد عزیز، ممنون پیام دادین ، من کامل این اسکریپت رو تست کردم و جواب گرفتم . در خصوص لینکی که گفتین ، لینک با فیلتر شکن باز میشه و بدون فیلتر دسترسی ندارید.
همچنین مقدار YOUR_API_KEY رو باید از خود سایت بگیرید.
اگر موردی بود حتما بهم بگین . ممنون ازت
محمودمی گوید:
۳۰ بهمن ۱۴۰۳ در ۲:۴۳ ب٫ظسپاس از شما
من آدرس api و key رو از سایت گرفتم و جواب داد
یه سوال دیگه این سرویس رایگان نیست درسته؟
میثم رادمی گوید:
۳۰ بهمن ۱۴۰۳ در ۲:۵۴ ب٫ظخیلی خوشحالم که براتون مفید و کاربردی بود، بله سریس deepseek رایگانه . البته فعلا ، امیدوارم که رایگان هم بمونه 😉😉
محمودمی گوید:
۱ اسفند ۱۴۰۳ در ۱:۴۷ ب٫ظسپاس از پاسخگویی شما
اما الان که من تست میکنم خطای عدم موجودی کافی رو میده
لطفا اگر رایگانه بفر مائید من جایی رو باید فعال کنم
تنظیماتی داره با خیر
میثم رادمی گوید:
۱ اسفند ۱۴۰۳ در ۱:۵۸ ب٫ظسلام خدمت شما
در همین آدرس https://api.deepseek.com/
که وارد بشید و اکانت بسازید زمانی که API key بگیرید میتونیدبه طور رایگان کامل استفاده کنید .
محمودمی گوید:
۴ اسفند ۱۴۰۳ در ۹:۲۳ ق٫ظسلام و درود
سپاس از شما
من خطای :{“error”:{“message”:”Insufficient Balance”,”type”:”unknown_error”,”param”:null,”code”:”invalid_request_error”}}
بنظر شما منظورش چیه؟
میثم رادمی گوید:
۴ اسفند ۱۴۰۳ در ۹:۵۱ ق٫ظسلام ، پیامی که به شما داده این است که شما دسترسی و authority ارسال درخواست رو ندارید، چک کنید ببینید شما API key 🔐 که از سایت deepseek گرفتید درست کار می کنند یا نه، مشکل از API key هستش.
محمودمی گوید:
۴ اسفند ۱۴۰۳ در ۲:۰۵ ب٫ظسپاس از لطفتون
این مسیری هست که من api key گرفتم
https://platform.deepseek.com/api_keys
همین درسته؟
محمودمی گوید:
۴ اسفند ۱۴۰۳ در ۲:۰۶ ب٫ظالبته api url من این ادرس هست-طبق مستنداتش
https://api.deepseek.com/chat/completions
محمودمی گوید:
۴ اسفند ۱۴۰۳ در ۲:۰۸ ب٫ظhttps://api-docs.deepseek.com/quick_start/pricing/#pricing-details
اینم تو مستنداتش هست
میثم رادمی گوید:
۴ اسفند ۱۴۰۳ در ۱۱:۱۳ ب٫ظبله کاملا درسته … مشکلتون حل شد؟ امیدوارم تونسته باشین
محمودمی گوید:
۱۱ اسفند ۱۴۰۳ در ۱۰:۰۳ ق٫ظسلام و درود
نه مشکلم با اون حل نشد
با openrouter.ai بالاخره تونستم انجام بدم
ممنون از شما
میثم رادمی گوید:
۱۱ اسفند ۱۴۰۳ در ۱۲:۱۲ ب٫ظخوشحالم مشکل حل شد. ممنون از شما