برنامه نویسی

توسعه پروژه AI گام به گام برای یادگیری در سال 2025

در اینجا نقشه راه تفصیلی برای ساخت برنامه AI تولیدی با استفاده از next.js ، nestjs ، openai و جستجوی بردار MongoDBبشر این راهنما همه چیز را از تعبیه اسناد شرکت ، ذخیره بردارها ، بازیابی داده ها، و استفاده مهندسی سریع برای پاسخ های هوشمند هوشمند


🚀 نقشه راه پروژه AI

ساخت یافته پایان به پایان راهنمای ساخت تولید شده برنامه AI تولیدی.


📌 فاز 1: مشکل و طراحی سیستم را تعریف کنید

🎯 هدف:

  • تعریف بیانیه مشکل (به عنوان مثال ، جستجوی اسناد دارای هوش مصنوعی ، chatbot ، خلاصه).
  • انتخاب کنید شما وظیفه دارید (به عنوان مثال ، تولید متن ، پاسخ به سؤال ، خلاصه).
  • تعریف کردن ورودی های کاربر (به عنوان مثال ، نمایش داده های متن ، بارگذاری اسناد).
  • تعیین کردن قالب خروجی (به عنوان مثال ، متن ساده ، پاسخ های ساختاری).
  • شناسایی رویکرد بازیابی (به عنوان مثال ، جستجوی بردار MongoDB ، RAG).

🛠 فناوری برای یادگیری:

  • اصول اولیه: AI تولید کننده ، RAG (نسل بازیابی-آمریكا).
  • جستجوی بردار: جستجوی وکتور اطلس MongoDB.
  • next.js & nestjs: توسعه تمام پشته.

📌 فاز 2: جمع آوری و ذخیره داده ها

🎯 هدف:

  • جمع کردن اسناد شرکت (به عنوان مثال ، PDFS ، WORD ، CSVS ، JSON).
  • اسناد ذخیره شده کارآمد در MongoDB
  • تولید و ذخیره تعبیه های برداربشر

🔥 گام:

  1. اطلس MongoDB را تنظیم کنید:

    • یک بانک اطلاعاتی برای اسناد و تعبیه هابشر
    • فعال کردن جستجوی برداربشر
  2. وابستگی ها را نصب کنید:

   npm install openai mongoose @nestjs/mongoose
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. اسناد را در MongoDB ذخیره کنید:
   const documentSchema = new mongoose.Schema({
     content: String,
     embedding: { type: Array, default: [] },
   });
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. تبدیل اسناد به تعبیه:
   import OpenAI from 'openai';

   const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

   async function generateEmbedding(text: string) {
     const response = await openai.embeddings.create({
       input: text,
       model: 'text-embedding-ada-002',
     });

     return response.data[0].embedding;
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. بردارهای ذخیره شده در MongoDB:
   async function storeDocument(content: string) {
     const embedding = await generateEmbedding(content);
     await DocumentModel.create({ content, embedding });
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • جستجوی بردار اطلس MongoDBبشر
  • آتش تعبیه شدهبشر
  • Nestjs با MongoDBبشر

📌 فاز 3: پیش پردازش داده ها

🎯 هدف:

  • تمیز و پردازش داده های بدون ساختاربشر
  • اجرا تکه های سند برای تعبیه بهتر
  • ذخیره ابرداده ساختاری برای بازیابی

🔥 گام:

  1. بخش های غیر ضروری را حذف کنید:
   function cleanText(text: string): string {
     return text.replace(/(Disclaimer|Footer|Further Support).*/g, '');
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. اسناد بزرگ تکه:
   function chunkText(text: string, chunkSize = 500) {
     return text.match(new RegExp(`.{1,${chunkSize}}`, 'g'));
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • پیش پردازش متن (regex ، chunking ، حذف کلمات توقف)بشر
  • Langchain برای تقسیم متنبشر

📌 فاز 4: آموزش مدل و تنظیم دقیق (اختیاری)

🎯 هدف:

  • آموزش a مدل OpenAi سفارشی در صورت نیاز
  • پاسخ های تنظیم دقیق برای شرایط خاص صنعتبشر

🔥 گام:

  1. آماده سازی داده های آموزشی (قالب JSONL):
   {"messages": [{"role": "system", "content": "You are a financial assistant."}, {"role": "user", "content": "What is an ETF?"}, {"role": "assistant", "content": "An ETF is an exchange-traded fund."}]}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. بارگذاری و آموزش در Openai:
   openai api fine_tunes.create -t dataset.jsonl -m gpt-4
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • مدل های تنظیم خوب OpenAiبشر
  • مهندسی سریع برای پاسخ های بهتربشر

📌 مرحله 5: اجرای سیستم بازیابی

🎯 هدف:

  • اجرا جستجوی بردار برای یافتن داده های مربوطه سریعبشر
  • استفاده کردن جستجوی بردار MongoDB برای بازیابی بهترین سند تطبیق.

🔥 گام:

  1. پرس و جو جستجوی بردار را انجام دهید:
   async function searchDocuments(query: string) {
     const queryEmbedding = await generateEmbedding(query);

     return await DocumentModel.find({
       $vectorSearch: {
         queryVector: queryEmbedding,
         path: 'embedding',
         numCandidates: 10,
         limit: 5,
       },
     });
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. داده ها را بازیابی کنید و برای پاسخ به OpenAI ارسال کنید:
   async function generateAIResponse(query: string) {
     const relevantDocs = await searchDocuments(query);

     const response = await openai.chat.completions.create({
       model: 'gpt-4',
       messages: [
         { role: 'system', content: 'Use the following documents to answer the user query:' },
         ...relevantDocs.map(doc => ({ role: 'user', content: doc.content })),
         { role: 'user', content: query },
       ],
     });

     return response.choices[0].message.content;
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • نمایش داده های جستجوی بردار MongoDBبشر
  • نسل بازیابی-اوت (RAG)بشر

📌 فاز 6: توسعه API (Nestjs)

🎯 هدف:

  • ساخت API استراحت برای رسیدگی به سؤالات هوش مصنوعی.
  • نقاط پایانی را برای پرس و جو پاسخهای تولید شده AIبشر

🔥 گام:

  1. سرویس AI را ایجاد کنید:
   @Injectable()
   export class AIService {
     async processQuery(query: string) {
       return await generateAIResponse(query);
     }
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. کنترلر ایجاد کنید:
   @Controller('ai')
   export class AIController {
     constructor(private readonly aiService: AIService) {}

     @Post('query')
     async handleQuery(@Body() data: { query: string }) {
       return this.aiService.processQuery(data.query);
     }
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • کنترل کننده ها و خدمات Nestjsبشر
  • بهترین روشهای توسعه APIبشر

📌 فاز 7: ادغام Frontend (Next.js)

🎯 هدف:

  • ایجاد a next.js ui برای تعامل با هوش مصنوعی.
  • ارسال کردن نمایش داده شد به پس زمینه و نتایج را نمایش می دهد.

🔥 گام:

  1. تماس API از Next.js:
   async function fetchAIResponse(query: string) {
     const res = await fetch('/api/ai-query', {
       method: 'POST',
       body: JSON.stringify({ query }),
     });
     return res.json();
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. مؤلفه UI را ایجاد کنید:
   export default function AIChat() {
     const [query, setQuery] = useState('');
     const [response, setResponse] = useState('');

     async function handleSubmit() {
       const data = await fetchAIResponse(query);
       setResponse(data);
     }

     return (
       <div>
         <input type="text" value={query} onChange={e => setQuery(e.target.value)} />
         <button onClick={handleSubmit}>Ask AIbutton>
         <p>{response}p>
       div>
     );
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🛠 فناوری برای یادگیری:

  • Next.JS مسیرهای APIبشر
  • واکنش قلاب ها و مدیریت دولتبشر

📌 مرحله 8: استقرار

  • مستقر کردن Next.js در Vercelبشر
  • مستقر کردن Nestjs در AWS/GCPبشر
  • استفاده کردن اطلس mongodb برای ذخیره سازی

📌 بازخورد و تکرار کاربر (مرحله نهایی)

در بازخورد و تکرار کاربر فاز برای بهبود برنامه با قدرت هوش مصنوعی شما بر اساس استفاده از دنیای واقعی ضروری است. این تضمین می کند که سیستم شما باقی مانده است دقیق ، کاربر پسند و کارآمد با گذشت زمان


🎯 هدف:

  • جمع کردن بازخورد کاربر در پاسخ های هوش مصنوعی.
  • تجزیه کردن پاسخ های نادرست AI و دقت را بهبود بخشید.
  • بهینه کردن پاسخ به پرس و جو ، بازیابی و پاسخ های مدلبشر
  • اجرا بهبود مداوم با استفاده از حلقه های بازخورد

🔥 مراحل بهبود سیستم هوش مصنوعی شما

مرحله 1: بازخورد کاربر را جمع کنید

کاربران را تشویق کنید پاسخهای AI را ارزیابی کنید یا گزارش نادرست ها

اجرای Frontend (Next.JS UI)

  • اضافه کردن a دکمه بازخورد به پاسخهای هوش مصنوعی
  • رتبه بندی کاربر را جمع آوری کنید (به عنوان مثال ، 👍/👎 ، 1-5 ستاره).

📌 مثال (NEXT.JS بازخورد UI):

export default function AIResponse({ response }) {
  const [feedback, setFeedback] = useState(null);

  async function sendFeedback(value) {
    await fetch('/api/feedback', {
      method: 'POST',
      body: JSON.stringify({ response, feedback: value }),
    });
    setFeedback(value);
  }

  return (
    <div>
      <p>{response}p>
      <button onClick={() => sendFeedback('👍')}>👍button>
      <button onClick={() => sendFeedback('👎')}>👎button>
    div>
  );
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 2: بازخورد را در MongoDB ذخیره کنید

یک مجموعه بازخورد ایجاد کنید منگولهبشر

📌 API Nestjs برای ذخیره بازخورد:

@Controller('feedback')
export class FeedbackController {
  @Post()
  async saveFeedback(@Body() data: { response: string; feedback: string }) {
    await FeedbackModel.create(data);
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 3: پاسخهای نادرست AI را تجزیه و تحلیل کنید

به طور مرتب مرور کنید بازخورد منفی و طبقه بندی خطاها:

انواع خطاها:

  1. حقایق نادرست model مدل بازیابی را بهبود بخشید.
  2. نتایج بی ربط → تعبیه های بردار را تقویت کنید.
  3. پاسخ های نامشخص → مهندسی سریع را بهینه کنید.

📌 پرس و جو داده های عملکرد AI در MongoDB:

async function getNegativeFeedback() {
  return await FeedbackModel.find({ feedback: '👎' }).limit(100);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 4: سیستم را تنظیم کنید

بر اساس تجزیه و تحلیل ، سیستم را با استفاده از:

  1. مهندسی سریع بهتر

    • مثال: زمینه را به مطالب AI اضافه کنید.
   const prompt = `
     You are an AI assistant for a legal firm.
     Use the following company documents to answer accurately:
     ${retrievedDocuments}
   `;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. بهبود تکه های سند

    • اگر بازیابی نادرست است ، اندازه تکه را تنظیم کنیدبشر
   function chunkText(text: string, chunkSize = 300) {
     return text.match(new RegExp(`.{1,${chunkSize}}`, 'g'));
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. مدل را دوباره یا تنظیم کنید

    • اگر پاسخ OpenAi با کیفیت پایین باشد ، یک مدل تنظیم شده زیبا را آموزش دهیدبشر

مرحله 5: نظارت مداوم و پیشرفت های خودکار

  1. عملکرد AI را با ورود به سیستم پیگیری کنید (به عنوان مثال ، پاسخ های نادرست را وارد کنید).
  2. از معیارها استفاده کنید (به عنوان مثال ، پیگیری کنید که چند بار کاربران 👍 در مقابل 👎 را می دهند).
  3. اعلان های آزمون A/B (به عنوان مثال ، قالب های مختلف سریع AI را مقایسه کنید).
  4. به روزرسانی های مدل برنامه (به عنوان مثال ، تعبیه مجدد ماهانه).

📌 عملکرد AI را در Nestjs وارد کنید:

async function logAIResponse(query: string, response: string) {
  await PerformanceModel.create({ query, response, timestamp: new Date() });
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا