استخدام DeepSeek V3 API في Node.js مع Vercel AI SDK

Anis MarrouchiAI Bot
بواسطة Anis Marrouchi & AI Bot ·

جاري تحميل مشغل تحويل النص إلى كلام الصوتي...

يمثل DeepSeek V3 تقدماً كبيراً في مجال نماذج اللغة مفتوحة المصدر، مع سرعة وقدرات محسنة. في هذا الدليل، سنمر عبر دمج DeepSeek V3 API في تطبيق Node.js باستخدام Vercel AI SDK. بالنهاية، سيكون لديك واجهة قائمة على الطرفية تطلب من المستخدمين الإدخال وتعرض الردود من DeepSeek بسلاسة.

لماذا DeepSeek V3؟

يقدم DeepSeek V3 ميزات مثيرة للإعجاب تجعله خياراً مقنعاً للمطورين:

  • السرعة: يعالج حتى 60 رمزاً في الثانية، أسرع بثلاث مرات من سابقه.
  • قدرات محسنة: أداء محسن عبر معايير مختلفة.
  • توافق API: يحافظ على التوافق مع API الخاص بـ OpenAI، مما يبسط التكامل.
  • مفتوح المصدر: نماذج وأوراق بحثية مفتوحة المصدر بالكامل متاحة للمجتمع.

معيار DeepSeek V3

يتفوق DeepSeek V3 في معايير متعددة، منافساً حتى بعض أكثر النماذج المغلقة المصدر تقدماً. إليك لمحة عن أدائه:

المقياسDeepSeek V3DeepSeek V2.5Qwen2.5Llama3.1Claude-3.5GPT-4o
MMLU (EM)88.580.685.388.688.387.2
MMLU-Redux (EM)89.180.385.686.288.988.0
DROP (3-shot F1)91.687.876.788.788.383.7

البدء

المتطلبات الأساسية

قبل الغوص، تأكد من توفر ما يلي:

  • Node.js 18+ مثبت على جهازك.
  • pnpm كمدير الحزم.
  • مفتاح DeepSeek API: سجّل في DeepSeek، انتقل إلى "Access API" بعد إنشاء حسابك، وأنشئ مفتاح API جديد. مطلوب حد أدنى للرصيد 2 دولار.
  • Vercel AI SDK: سنستخدم هذا SDK بسبب توافق API الخاص بـ DeepSeek مع OpenAI.

إعداد تطبيق Node.js الخاص بك

  1. إنشاء مجلد جديد:

    mkdir deepseek-nodejs-app
    cd deepseek-nodejs-app
    pnpm init
  2. تثبيت التبعيات:

    ثبّت الحزم اللازمة، بما في ذلك Vercel AI SDK ومزود OpenAI.

    pnpm add ai @ai-sdk/openai zod dotenv
    pnpm add -D @types/node tsx typescript

    ملاحظة: تأكد من استخدام ai الإصدار 3.1 أو أحدث للتوافق.

تهيئة مفتاح API

أنشئ ملف .env في جذر مشروعك لتخزين مفتاح DeepSeek API الخاص بك بأمان.

touch .env.local

عدّل ملف .env.local:

DEEPSEEK_API_KEY=your_deepseek_api_key_here

استبدل your_deepseek_api_key_here بمفتاح API الذي حصلت عليه من لوحة تحكم DeepSeek.

بناء التطبيق

أنشئ ملف index.ts في جذر المشروع وأضف الكود التالي:

import { createOpenAI } from '@ai-sdk/openai';
import { CoreMessage, streamText } from 'ai';
import dotenv from 'dotenv';
import * as readline from 'node:readline/promises';
 
dotenv.config();
 
const terminal = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
 
const messages: CoreMessage[] = [];
 
async function main() {
  const openai = createOpenAI({
    apiKey: process.env.DEEPSEEK_API_KEY,
    baseURL: 'https://api.deepseek.com/v1',
  });
  const model = openai('deepseek-chat');
 
  while (true) {
    const userInput = await terminal.question('You: ');
 
    messages.push({ role: 'user', content: userInput });
 
    const result = streamText({
      model,
      messages,
    });
 
    let fullResponse = '';
    process.stdout.write('\nDeepSeek: ');
    for await (const delta of result.textStream) {
      fullResponse += delta;
      process.stdout.write(delta);
    }
    process.stdout.write('\n\n');
 
    messages.push({ role: 'assistant', content: fullResponse });
  }
}
 
main().catch(console.error);

فهم الكود

  • متغيرات البيئة: يستخدم dotenv لإدارة متغيرات البيئة بأمان.
  • واجهة Readline: يعد واجهة طرفية للتفاعل مع المستخدم.
  • تاريخ الرسائل: يحافظ على تاريخ المحادثة لتوفير السياق لـ DeepSeek.
  • بث الردود: يبث ردود DeepSeek في الوقت الفعلي إلى الطرفية.

تشغيل التطبيق

ابدأ تطبيقك باستخدام الأمر التالي:

pnpm tsx index.ts

عند التشغيل، سترى موجهاً في طرفيتك. أدخل استفساراتك، وسيرد DeepSeek تفاعلياً.

الاستفادة من Vercel AI SDK مع DeepSeek

يوفر Vercel AI SDK واجهة موحدة للتفاعل مع نماذج AI المختلفة، بما في ذلك DeepSeek. هذا التجريد يبسط عملية التكامل، مما يسمح لك بالتبديل بين المزودين مع أدنى تغييرات في الكود.

مثال: توليد بيانات منظمة

إليك كيفية توليد محتوى منظم باستخدام DeepSeek مع Vercel AI SDK:

import { createOpenAI } from '@ai-sdk/openai';
import { generateObject } from 'ai';
import dotenv from 'dotenv';
import { z } from 'zod';
 
dotenv.config();
 
const openai = createOpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: 'https://api.deepseek.com/v1',
});
 
const articleSchema = z.object({
  title: z.string(),
  content: z.string(),
  // Define additional schema properties as needed
});
 
async function createArticle(userPrompt: string) {
  try {
    const model = openai('deepseek-chat');
 
    const { object } = await generateObject({
      model,
      prompt: `Generate a structured (article/tutorial/news article) based on the following instructions:\n\n ${userPrompt}.`,
      schema: articleSchema,
    });
 
    return object;
  } catch (error) {
    console.error('Error generating the structured content:', error);
    throw error;
  }
}

يوضح هذا المقتطف توليد مقال منظم بناءً على تعليمات المستخدم، مستفيداً من قدرات DeepSeek من خلال Vercel AI SDK.

الخلاصة

دمج DeepSeek V3 في تطبيقات Node.js الخاصة بك باستخدام Vercel AI SDK يوفر طريقة قوية وفعالة لتسخير نماذج اللغة المتقدمة. سواء كنت تبني روبوتات محادثة أو مولدات محتوى أو أدوات أخرى مدفوعة بالذكاء الاصطناعي، يوفر DeepSeek السرعة والأداء اللازمين للتطبيقات الحديثة.

لمزيد من التفاصيل والتحديثات، قم بزيارة موقع DeepSeek الرسمي.


هل تريد قراءة المزيد من الدروس التعليمية؟ تحقق من أحدث درس تعليمي لدينا على إجراء المكالمات الصادرة باستخدام Twilio Voice و OpenAI.

ناقش مشروعك معنا

نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.

دعنا نجد أفضل الحلول لاحتياجاتك.

مقالات ذات صلة