توسعه پروژه 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
- تولید و ذخیره تعبیه های برداربشر
🔥 گام:
-
اطلس MongoDB را تنظیم کنید:
- یک بانک اطلاعاتی برای اسناد و تعبیه هابشر
- فعال کردن جستجوی برداربشر
-
وابستگی ها را نصب کنید:
npm install openai mongoose @nestjs/mongoose
- اسناد را در MongoDB ذخیره کنید:
const documentSchema = new mongoose.Schema({
content: String,
embedding: { type: Array, default: [] },
});
- تبدیل اسناد به تعبیه:
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;
}
- بردارهای ذخیره شده در MongoDB:
async function storeDocument(content: string) {
const embedding = await generateEmbedding(content);
await DocumentModel.create({ content, embedding });
}
🛠 فناوری برای یادگیری:
- جستجوی بردار اطلس MongoDBبشر
- آتش تعبیه شدهبشر
- Nestjs با MongoDBبشر
📌 فاز 3: پیش پردازش داده ها
🎯 هدف:
- تمیز و پردازش داده های بدون ساختاربشر
- اجرا تکه های سند برای تعبیه بهتر
- ذخیره ابرداده ساختاری برای بازیابی
🔥 گام:
- بخش های غیر ضروری را حذف کنید:
function cleanText(text: string): string {
return text.replace(/(Disclaimer|Footer|Further Support).*/g, '');
}
- اسناد بزرگ تکه:
function chunkText(text: string, chunkSize = 500) {
return text.match(new RegExp(`.{1,${chunkSize}}`, 'g'));
}
🛠 فناوری برای یادگیری:
- پیش پردازش متن (regex ، chunking ، حذف کلمات توقف)بشر
- Langchain برای تقسیم متنبشر
📌 فاز 4: آموزش مدل و تنظیم دقیق (اختیاری)
🎯 هدف:
- آموزش a مدل OpenAi سفارشی در صورت نیاز
- پاسخ های تنظیم دقیق برای شرایط خاص صنعتبشر
🔥 گام:
- آماده سازی داده های آموزشی (قالب 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."}]}
- بارگذاری و آموزش در Openai:
openai api fine_tunes.create -t dataset.jsonl -m gpt-4
🛠 فناوری برای یادگیری:
- مدل های تنظیم خوب OpenAiبشر
- مهندسی سریع برای پاسخ های بهتربشر
📌 مرحله 5: اجرای سیستم بازیابی
🎯 هدف:
- اجرا جستجوی بردار برای یافتن داده های مربوطه سریعبشر
- استفاده کردن جستجوی بردار MongoDB برای بازیابی بهترین سند تطبیق.
🔥 گام:
- پرس و جو جستجوی بردار را انجام دهید:
async function searchDocuments(query: string) {
const queryEmbedding = await generateEmbedding(query);
return await DocumentModel.find({
$vectorSearch: {
queryVector: queryEmbedding,
path: 'embedding',
numCandidates: 10,
limit: 5,
},
});
}
- داده ها را بازیابی کنید و برای پاسخ به 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بشر
🔥 گام:
- سرویس AI را ایجاد کنید:
@Injectable()
export class AIService {
async processQuery(query: string) {
return await generateAIResponse(query);
}
}
- کنترلر ایجاد کنید:
@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 برای تعامل با هوش مصنوعی.
- ارسال کردن نمایش داده شد به پس زمینه و نتایج را نمایش می دهد.
🔥 گام:
- تماس API از Next.js:
async function fetchAIResponse(query: string) {
const res = await fetch('/api/ai-query', {
method: 'POST',
body: JSON.stringify({ query }),
});
return res.json();
}
- مؤلفه 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 را تجزیه و تحلیل کنید
به طور مرتب مرور کنید بازخورد منفی و طبقه بندی خطاها:
✅ انواع خطاها:
- حقایق نادرست model مدل بازیابی را بهبود بخشید.
- نتایج بی ربط → تعبیه های بردار را تقویت کنید.
- پاسخ های نامشخص → مهندسی سریع را بهینه کنید.
📌 پرس و جو داده های عملکرد AI در MongoDB:
async function getNegativeFeedback() {
return await FeedbackModel.find({ feedback: '👎' }).limit(100);
}
مرحله 4: سیستم را تنظیم کنید
بر اساس تجزیه و تحلیل ، سیستم را با استفاده از:
-
مهندسی سریع بهتر
- مثال: زمینه را به مطالب AI اضافه کنید.
const prompt = `
You are an AI assistant for a legal firm.
Use the following company documents to answer accurately:
${retrievedDocuments}
`;
-
بهبود تکه های سند
- اگر بازیابی نادرست است ، اندازه تکه را تنظیم کنیدبشر
function chunkText(text: string, chunkSize = 300) {
return text.match(new RegExp(`.{1,${chunkSize}}`, 'g'));
}
-
مدل را دوباره یا تنظیم کنید
- اگر پاسخ OpenAi با کیفیت پایین باشد ، یک مدل تنظیم شده زیبا را آموزش دهیدبشر
مرحله 5: نظارت مداوم و پیشرفت های خودکار
- عملکرد AI را با ورود به سیستم پیگیری کنید (به عنوان مثال ، پاسخ های نادرست را وارد کنید).
- از معیارها استفاده کنید (به عنوان مثال ، پیگیری کنید که چند بار کاربران 👍 در مقابل 👎 را می دهند).
- اعلان های آزمون A/B (به عنوان مثال ، قالب های مختلف سریع AI را مقایسه کنید).
- به روزرسانی های مدل برنامه (به عنوان مثال ، تعبیه مجدد ماهانه).
📌 عملکرد AI را در Nestjs وارد کنید:
async function logAIResponse(query: string, response: string) {
await PerformanceModel.create({ query, response, timestamp: new Date() });
}