
প্রকল্পের পরিচিতি
Adaptive-RAG ই-কমার্স কাস্টমার সার্ভিস হলো বহু-শর্তযুক্ত নীতি-সংক্রান্ত পরামর্শের জন্য একটি বুদ্ধিমান কাস্টমার সার্ভিস প্রকল্প। এর মূল লক্ষ্য হলো অপর্যাপ্ত প্রমাণ, ভিত্তিহীন উত্তর এবং জটিল প্রশ্ন একবারে সম্পূর্ণভাবে অনুসন্ধান করা না যাওয়ার মতো সমস্যার সমাধান করা। ব্যাকএন্ড FastAPI ও LangGraph-চালিত, আর ফ্রন্টএন্ড React-ভিত্তিক। সিস্টেম ব্যবহারকারীর অভিপ্রায় ও প্রশ্নের জটিলতা অনুযায়ী সরাসরি উত্তর, জ্ঞান অনুসন্ধান, অতিরিক্ত অনুসন্ধান, টুল কার্যকর করা, মানবিক নিশ্চিতকরণ এবং উত্তর দিতে অস্বীকৃতির মধ্যে গতিশীলভাবে পথ নির্বাচন করতে পারে।
প্রকল্পটি স্থানীয় ডেমো, Adaptive RAG ওয়ার্কফ্লো শেখা এবং ইঞ্জিনিয়ারিং যাচাইয়ের জন্য উপযোগী। এতে নীতির উৎস উদ্ধৃতি, ডেমো অর্ডার অনুসন্ধান, নিশ্চিতকরণ-প্রত্যাশী কার্যক্রম, সেশন মেমরি এবং SSE প্রতিক্রিয়া সমর্থিত, তবে অর্ডার ও লজিস্টিকসের তথ্য প্রকৃত ব্যবসায়িক তথ্য নয়।
বর্তমান API ক্লায়েন্টের পাঠানো
user_idসরাসরি গ্রহণ করে; এর প্রকৃত পরিচয় এখনো যাচাই করা হয় না। বিশ্বস্ত পরিচয় যাচাই, TLS এবং অ্যাক্সেস নিয়ন্ত্রণ যুক্ত না করে প্রকল্পটি সরাসরি পাবলিক ইন্টারনেটে ডিপ্লয় করবেন না।
সিস্টেম কীভাবে একটি অনুরোধ প্রক্রিয়া করে
ব্যবহারকারী Web পেজ বা HTTP API-এর মাধ্যমে প্রশ্ন জমা দেওয়ার পর অনুরোধটি ধারাবাহিকভাবে ইনপুট গার্ডরেল, অভিপ্রায় শনাক্তকরণ এবং জটিলতা রাউটিংয়ের মধ্য দিয়ে যায়। এরপর সিস্টেম উপযুক্ত প্রক্রিয়াকরণ শাখা নির্বাচন করে এবং শেষে উত্তর তৈরি, বিশ্বস্ততা যাচাই, সেশন মেমরি হালনাগাদ ও উদ্ধৃতি ফেরত দেওয়ার কাজ সম্পন্ন করে।
ব্যবহারকারী → Web / HTTP API → ইনপুট গার্ডরেল
→ অভিপ্রায় শনাক্তকরণ → জটিলতা রাউটিং
├─ সরাসরি উত্তর
├─ অনুসন্ধান → পুনঃর্যাঙ্কিং → প্রয়োজন হলে অতিরিক্ত অনুসন্ধান
├─ পরিকল্পনা → টুল কার্যকর / মানবিক নিশ্চিতকরণ
└─ উত্তর দিতে অস্বীকৃতি
→ তৈরি ও বিশ্বস্ততা যাচাই → সেশন মেমরি → উত্তর ও উদ্ধৃতি
অভিপ্রায় শনাক্তকরণে ডিফল্ট DeepSeek ব্যবহার করা যায়, আবার TypeSafe Jev-এও পরিবর্তন করা যায়। মনে রাখতে হবে, Jev শুধু অভিপ্রায় শ্রেণিবিন্যাস নোডটি প্রতিস্থাপন করে; জটিলতা নির্ধারণ, কুয়েরি পুনর্লিখন, কাজের পরিকল্পনা, উত্তর তৈরি, বিশ্বস্ততা যাচাই এবং মেমরি সারাংশের মতো অন্যান্য LLM নোড DeepSeek-এর মাধ্যমেই পরিচালিত হয়।
মূল সক্ষমতা
- অ্যাডাপ্টিভ রাউটিং: ব্যবসায়িক অভিপ্রায় ও প্রশ্নের জটিলতা মিলিয়ে সরাসরি উত্তর, এক-ধাপ অনুসন্ধান, বহু-ধাপ অনুসন্ধান, টুল কার্যকর বা উত্তর দিতে অস্বীকৃতির পথ নির্বাচন করে।
- হাইব্রিড অনুসন্ধান: BM25 ও ঘন ভেক্টর রিকল একত্র করে, RRF দিয়ে ফলাফল একীভূত করে এবং Cross-Encoder পুনঃর্যাঙ্কিং চালু করা যায়।
- প্রমাণভিত্তিক উন্নয়ন: কুয়েরি পুনর্লিখন, অপর্যাপ্ত প্রমাণ হলে অতিরিক্ত অনুসন্ধান, উত্তরের বিশ্বস্ততা যাচাই এবং স্ব-সংশোধন সমর্থন করে।
- দ্বৈত অভিপ্রায় ব্যাকএন্ড: ডিফল্টভাবে DeepSeek ব্যবহার করে, আবার Jev-এর কাঠামোবদ্ধ choice ইন্টারফেসের মাধ্যমে পূর্বনির্ধারিত 14 ধরনের ব্যবসায়িক অভিপ্রায় শনাক্ত করা যায়।
- ডকুমেন্ট প্রক্রিয়াকরণ: Markdown সরাসরি সমর্থিত; ঐচ্ছিক নির্ভরতা ও সিস্টেম টুল ইনস্টল করলে PDF, Office এবং OCR ডকুমেন্ট বিশ্লেষণ করা যায়।
- কাঠামোবদ্ধ খণ্ডীকরণ: সাধারণ টেক্সটে ডিফল্টভাবে 500 অক্ষরের উইন্ডো ও 60 অক্ষরের ওভারল্যাপ ব্যবহার করে; শনাক্ত করা টেবিল আলাদা খণ্ডে রাখা হয় এবং শিরোনাম, অধ্যায় ও উৎসের মতো মেটাডেটা সংরক্ষণ করা হয়।
- ব্যবসায়িক টুল: অর্ডার-ভিত্তিক ডেমো টুল সরবরাহ করে এবং এতে অনুমতি যাচাই, ডিগ্রেডেশন, মানবিক নিশ্চিতকরণ ও আইডেমপোটেন্সি ব্যবস্থা রয়েছে; MCP টুলও যুক্ত করা যায়।
- ইঞ্জিনিয়ারিং সক্ষমতা: সেশন মেমরি সংকোচন, কাঠামোবদ্ধ লগ, Prometheus মেট্রিক, স্বাস্থ্য যাচাই এবং স্বয়ংক্রিয় পরীক্ষা অন্তর্ভুক্ত।
রানটাইম পরিবেশ প্রস্তুত করা
মৌলিক প্রয়োজনীয়তা
- Python 3.11 বা পরবর্তী সংস্করণ।
- Web ফ্রন্টএন্ড চালাতে Node.js 20.19+ বা 22.12+ এবং npm প্রয়োজন।
- ডিফল্ট স্থানীয় মোডে SQLite ও ইন-মেমরি অনুসন্ধান উপাদান ব্যবহৃত হয়; আগে থেকে Docker চালু করার প্রয়োজন নেই।
Windows PowerShell ইনস্টলেশন ধাপ
রিপোজিটরি ক্লোন করে প্রকল্পের মূল ডিরেক্টরিতে প্রবেশের পর ভার্চুয়াল পরিবেশ তৈরি করুন, ডেভেলপমেন্ট নির্ভরতা ইনস্টল করুন, কনফিগারেশন ফাইল কপি করুন এবং ডেমো ডেটা তৈরি করুন:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
Copy-Item .env.example .env
.\.venv\Scripts\python.exe -m scripts.seed_demo
প্রকল্পের মূল ডিরেক্টরিতে আগে থেকেই .env থাকলে সেটি সংরক্ষণ করুন এবং কপি করার কমান্ডটি এড়িয়ে যান। এরপর FastAPI চালু করুন:
.\.venv\Scripts\python.exe -m uvicorn app.asgi:app --reload --host 127.0.0.1 --port 8000
macOS ও Linux
macOS বা Linux-এ ভার্চুয়াল পরিবেশ তৈরি ও সক্রিয় করে সংশ্লিষ্ট ইনস্টলেশন কমান্ড চালাতে পারেন:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
python -m scripts.seed_demo
python -m uvicorn app.asgi:app --reload --host 127.0.0.1 --port 8000
মডেল ও স্থানীয় পরিষেবা কনফিগার করা
প্রকল্পের মূল ডিরেক্টরির .env খুলুন। নিচের কনফিগারেশনগুলো আগে পরীক্ষা করা সবচেয়ে গুরুত্বপূর্ণ:
DEEPSEEK_API_KEY: DeepSeek ওয়ার্কফ্লো এবং ডিফল্ট অভিপ্রায় শ্রেণিবিন্যাস চালু করে। প্রকৃত API কলের জন্য খরচ হতে পারে।INTENT_BACKEND: ডিফল্টdeepseekঅথবা ঐচ্ছিকjevনির্ধারণ করা যায়।JEV_API_KEY: Jev অভিপ্রায় শ্রেণিবিন্যাস চালু করতে প্রয়োজন।JEV_MODEL: প্রকল্পের বর্তমান ডিফল্ট মানjev-1.13.0।DATABASE_URL: ডিফল্টভাবেsqlite+aiosqlite:///./data/local/app.dbব্যবহৃত হয়।KNOWLEDGE_DIR: ডিফল্ট মানknowledge; এর জ্ঞান-ডকুমেন্টগুলো চালুর সময় ডেটাবেসে যুক্ত হয়।LOCAL_EMBEDDING_ENABLED: স্থানীয় সেমান্টিক ভেক্টর ফিচার নিয়ন্ত্রণ করে।CROSS_ENCODER_ENABLED: স্থানীয় পুনঃর্যাঙ্কিং ফিচার নিয়ন্ত্রণ করে।REDIS_URLওQDRANT_URL: ঐচ্ছিক বাহ্যিক ক্যাশ ও ভেক্টর পরিষেবা কনফিগার করে।
DeepSeek কী কনফিগার না করলেও সিস্টেম অফলাইন ডেমো লজিক ব্যবহার করতে পারে, তবে এর উত্তরের মান প্রকৃত মডেল মোডের মতো নয়। সম্পূর্ণ ভেরিয়েবল কনফিগারেশন রেফারেন্স এবং নমুনা পরিবেশ ফাইল-এ দেখা যাবে।
React চ্যাট ইন্টারফেস চালু করা
ব্যাকএন্ড প্রক্রিয়া চালু রেখে অন্য একটি টার্মিনালে ফ্রন্টএন্ড ডিরেক্টরিতে প্রবেশ করুন:
cd frontend
npm ci
npm run dev
http://127.0.0.1:5173 ভিজিট করলে চ্যাট পেজ খুলবে। ডেভেলপমেন্ট সার্ভার /api অনুরোধগুলো স্থানীয় 8000 পোর্টে প্রক্সি করবে।
ফ্রন্টএন্ড উৎস উদ্ধৃতি, স্থানীয় সেশন তালিকা এবং কার্যক্রম নিশ্চিতকরণ কার্ড সমর্থন করে। উত্তর যাচাই শেষ হওয়ার পর ব্যাকএন্ড SSE-এর মাধ্যমে বিষয়বস্তু খণ্ডে খণ্ডে পাঠায়। npm run build চালিয়ে frontend/dist তৈরি করলে FastAPI ওই ডিরেক্টরি শনাক্ত করে মূল পাথ থেকে ফ্রন্টএন্ড পেজ সরবরাহ করবে।
মৌলিক ব্যবহার: রিটার্ন ও এক্সচেঞ্জ নীতি সম্পর্কে পরামর্শ
প্রথমে পরিষেবার অবস্থা নিশ্চিত করুন:
নিচে PowerShell ব্যবহার করে চ্যাট ইন্টারফেসে একাধিক নীতিগত শর্তযুক্ত একটি প্রশ্ন জমা দেওয়া হয়েছে:
$payload = @{
message = "定制马克杯过了七天,但是有质量问题,可以退吗?"
user_id = "u_demo"
} | ConvertTo-Json
Invoke-RestMethod `
-Uri "http://127.0.0.1:8000/api/v1/chat" `
-Method Post `
-ContentType "application/json; charset=utf-8" `
-Body ([System.Text.Encoding]::UTF8.GetBytes($payload))
সিস্টেম প্রথমে রিটার্ন ও এক্সচেঞ্জ-সম্পর্কিত অভিপ্রায় শনাক্ত করবে, তারপর প্রশ্নের জটিলতা অনুযায়ী নীতির ডকুমেন্ট অনুসন্ধান করা হবে কি না তা নির্ধারণ করবে। প্রাথমিক প্রমাণ অপর্যাপ্ত হলে ওয়ার্কফ্লো কুয়েরি পুনর্লিখে অতিরিক্ত অনুসন্ধান করতে পারে; উত্তর তৈরি হওয়ার পর সেটি অনুসন্ধানকৃত প্রমাণের প্রতি বিশ্বস্ত কি না তাও যাচাই করা হবে এবং ব্যবহারযোগ্য উৎস উদ্ধৃতি ফেরত দেওয়া হবে।
HTTP API ছাড়াও ব্যাকএন্ড চলার সময় নিচের কমান্ড চালিয়ে টার্মিনাল ক্লায়েন্ট ব্যবহার করা যায়:
python -m app.cli
মৌলিক ব্যবহার: ডেমো অর্ডার অনুসন্ধান ও কার্যক্রম
scripts.seed_demo স্পষ্টভাবে ডেমো অর্ডার তৈরি করে। API চালু করলেই এসব ডেটা স্বয়ংক্রিয়ভাবে লেখা হয় না, তাই প্রথমবার চালানোর সময় ডেটা ইনিশিয়ালাইজেশন এড়িয়ে যাবেন না। ডেমো ব্যবহারকারী u_demo; ব্যবহারযোগ্য অর্ডারগুলো হলো:
ORD10001: পাঠানো হয়েছে; পণ্য নয়েজ-বাতিলকারী হেডফোন।ORD10002: গ্রহণ করা হয়েছে; পণ্য কাস্টম মগ।ORD10003: পেমেন্ট করা হয়েছে কিন্তু পাঠানো হয়নি; পণ্য টি-শার্ট।
উদাহরণ হিসেবে, চ্যাট পেজে 取消订单 ORD10003 লিখুন। নিশ্চিতকরণ প্রয়োজন এমন কার্যক্রম চালানোর সময় সিস্টেম pending_action ফেরত দিতে পারে। নিশ্চিতকরণ অনুরোধে অবশ্যই প্রতিক্রিয়ায় থাকা session_id ফেরত পাঠাতে হবে এবং pending_action.action_id confirm_action_id-এ রাখতে হবে। Web পেজ নিশ্চিতকরণ কার্ডের মাধ্যমে এই প্রক্রিয়ায় সহায়তা করবে।
নিশ্চিতকরণ-প্রত্যাশী কার্যক্রম ডিফল্টভাবে সার্ভার প্রক্রিয়ার ভেতরে 15 মিনিট সংরক্ষিত থাকে। পরিষেবা পুনরায় চালু হলে বা অনুরোধ অন্য কোনো প্রক্রিয়ায় চলে গেলে কার্যক্রমটি আবার শুরু করতে হতে পারে। নির্দিষ্ট ফিল্ড ও ইন্টারফেসের ফরম্যাটের জন্য API রেফারেন্স দেখুন।
উন্নত কনফিগারেশন: Jev অভিপ্রায় শনাক্তকরণ চালু করা
অভিপ্রায় শ্রেণিবিন্যাস নোডটি TypeSafe Jev-এ পরিবর্তন করতে স্থানীয় .env-এ নিচের কনফিগারেশনগুলো যোগ বা পরিবর্তন করুন:
INTENT_BACKEND=jev
JEV_API_KEY=your_jev_api_key
JEV_ENDPOINT=https://api.typesafe.ai/v1/systemone
JEV_MODEL=jev-1.13.0
JEV_TIMEOUT_SECONDS=10
JEV_MAX_RETRIES=2
JEV_INTENT_APPLY_OVERLAY=true
DEEPSEEK_API_KEY=your_deepseek_api_key
সংরক্ষণ করার পর ব্যাকএন্ড পুনরায় চালু করুন। Jev HTTP ইন্টারফেসের মাধ্যমে যুক্ত হয়; আলাদা কোনো SDK ইনস্টল করার প্রয়োজন নেই। ফেরত আসা ফলাফল Pydantic দিয়ে যাচাই করার পর একীভূত শ্রেণিবিন্যাস ফলাফলে রূপান্তরিত হবে।
Jev কী না থাকলে, অনুরোধ ব্যর্থ হলে বা প্রতিক্রিয়া অবৈধ হলে সিস্টেম আগের IntentClassifier-এ ফিরে যাবে। এই fallback ধারাটি কনফিগার করা DeepSeek-কে অগ্রাধিকার দেয়; অফলাইন থাকা বা মডেল কল ব্যর্থ হলে নিয়মভিত্তিক শ্রেণিবিন্যাস ব্যবহার করা অব্যাহত থাকবে। পুনঃচেষ্টাযোগ্য ত্রুটিতে এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহৃত হয় এবং বর্তমান বাস্তবায়নে JEV_MAX_RETRIES সর্বোচ্চ প্রচেষ্টার সংখ্যা নির্দেশ করে।
JEV_INTENT_APPLY_OVERLAY Jev সফলভাবে শ্রেণিবিন্যাস করার পর নিয়মভিত্তিক সংশোধন নিয়ন্ত্রণ করে এবং ডিফল্টভাবে চালু থাকে। এই অপশনটি fallback শ্রেণিবিন্যাসকারীর নিজস্ব overlay নিয়ন্ত্রণ করে না। ডিফল্ট অভিপ্রায় শ্রেণিবিন্যাসে ফিরতে শুধু INTENT_BACKEND-কে আবার deepseek করুন।
উন্নত কনফিগারেশন: উন্নত অনুসন্ধান ও ডকুমেন্ট পার্সিং
স্থানীয় ভেক্টর ও র্যাঙ্কিং-পরবর্তী নির্ভরতা ইনস্টল করুন
.\.venv\Scripts\python.exe -m pip install -e ".[rerank]"
rerank নির্ভরতাগুলো স্থানীয় ডেন্স ভেক্টর মডেল এবং Cross-Encoder-এর জন্য ব্যবহৃত হয়। ডিফল্ট ভেক্টর মডেল হলো BAAI/bge-small-zh-v1.5, আর ডিফল্ট র্যাঙ্কিং-পরবর্তী মডেল হলো BAAI/bge-reranker-base। প্রথমবার লোড করার সময় মডেলের ওজন ডাউনলোড হতে পারে; মডেল অনুপলব্ধ হলে সিস্টেম নিম্নতর সক্ষমতায় চলবে, তাই সম্পূর্ণ মডেল কনফিগারেশনের সমতুল্য ফল নিশ্চিত নয়।
সম্প্রসারিত ডকুমেন্ট পার্সিং নির্ভরতা ইনস্টল করুন
.\.venv\Scripts\python.exe -m pip install -e ".[docs]"
docs নির্ভরতাগুলো Unstructured ডকুমেন্ট পার্সিংয়ের জন্য ব্যবহৃত হয়। PDF, OCR এবং Office ফাইল প্রক্রিয়াকরণের সময় Poppler, Tesseract ও চীনা ভাষা প্যাক, এবং LibreOffice-ও ইনস্টল করতে হতে পারে। বিস্তারিত প্রয়োজনীয়তা পার্সিং ও অনুসন্ধান নির্দেশিকা-তে দেখুন।
জ্ঞান-স্লাইসের ID ডকুমেন্টের পাথ এবং স্লাইসের ক্রমসংখ্যা থেকে তৈরি হয়। পাথ ও বিভাজনের ফল অপরিবর্তিত থাকলে পুনরায় ইনজেস্ট করলেও ID একই থাকতে পারে; ফাইল স্থানান্তর, বিষয়বস্তু সম্পাদনা বা স্লাইসিং কৌশল পরিবর্তনের পর পুরোনো রেফারেন্স একই বিষয়বস্তুর দিকে নির্দেশ করবে, এমন নিশ্চয়তা নেই।
Docker ব্যবহার করে সম্পূর্ণ পরিষেবা চালু করুন
API, PostgreSQL, Redis, Qdrant এবং বিল্ড করা Web ফ্রন্টএন্ড একসঙ্গে চালাতে চাইলে আগে স্থানীয় .env প্রস্তুত করুন, তারপর চালান:
docker compose up --build
চালু হওয়ার পর http://127.0.0.1:8000 ঠিকানায় প্রবেশ করুন। Compose-এর ডেটাবেস পাসওয়ার্ড ও পোর্ট ম্যাপিং শুধুমাত্র স্থানীয় ডেমোর জন্য। পাবলিক ডেপ্লয়মেন্টের আগে অবশ্যই ডেমো পাসওয়ার্ড পরিবর্তন করতে হবে, ডেটাবেস ও ক্যাশের পোর্ট সীমাবদ্ধ করতে হবে, বিশ্বস্ত পরিচয় যাচাই ও TLS সক্রিয় করতে হবে এবং নির্ভরযোগ্য স্থায়িত্ব ও পরিচালনা পরিকল্পনা তৈরি করতে হবে।
পরীক্ষা, স্ট্যাটিক যাচাই ও মূল্যায়ন
প্রকল্পের মূল ডিরেক্টরিতে ব্যাকএন্ড পরীক্ষা ও মান যাচাই চালান:
.\.venv\Scripts\python.exe -m pytest -q
.\.venv\Scripts\python.exe -m ruff check app eval tests
.\.venv\Scripts\python.exe -m mypy
.\.venv\Scripts\python.exe -m eval.runner --task retrieval
ফ্রন্টএন্ডের পরীক্ষা ও বিল্ড কমান্ড frontend ডিরেক্টরির মধ্যে চালাতে হবে:
npm test
npm run build
পরীক্ষার কনফিগারেশন স্থানীয় মডেল কী আলাদা রাখে এবং পরীক্ষার ডেটাবেস ব্যবহার করে। প্রকৃত মডেল দিয়ে আলাদা মূল্যায়ন চালানোর আগে মডেল ও নেটওয়ার্ক কনফিগারেশন পরীক্ষা করুন, কারণ বাহ্যিক মডেল কল করলে খরচ হতে পারে।
Jev ও DeepSeek-এর অভিপ্রায় শ্রেণিবিন্যাস তুলনা
দুই মডেলের স্থানীয় কী কনফিগার করার পর একই নমুনা ও একই ওভারলে শর্তে তুলনা চালানো যায়:
.\.venv\Scripts\python.exe -m eval.compare_intent --backend both --limit 10 --no-overlay --output data/local/intent-comparison.json
প্রতিবেদনে নির্ভুলতা, P50 ও P95 বিলম্ব, ফলব্যাকের সংখ্যা এবং নিয়ম-ভিত্তিক কভারেজের সংখ্যা থাকে। --no-overlay দুই শ্রেণিবিন্যাসকারীর নিয়ম-ভিত্তিক সংশোধন বন্ধ করে, ফলে মডেলের নিজস্ব শ্রেণিবিন্যাসের ফল দেখা সহজ হয়; এই প্যারামিটার সরিয়ে দিলে ওভারলে যুক্ত ফলের তুলনা করা যায়।
বর্তমান অভিপ্রায় ডেটাসেটটি ডেভেলপমেন্ট সেটের অন্তর্ভুক্ত। এতে ফলব্যাক নমুনাও নির্ভুলতার হিসাবে গণনা হয়, তাই এটিকে Jev-এর স্বতন্ত্র মডেলের সাধারণীকরণ ক্ষমতা হিসেবে সরাসরি বিবেচনা করা যাবে না। পুরোনো মূল্যায়নও বর্তমান সংস্করণে পুনরায় যাচাই করা হয়েছে, এমন প্রমাণ নয় এবং প্রকৃত ব্যবসায়িক ফলাফলের নিশ্চয়তাও দেয় না।
ব্যবহারিক প্রকৌশল পরামর্শ
- প্রথমে ডিফল্ট স্থানীয় মোডে প্রক্রিয়া যাচাই করুন: SQLite ও মেমরি-ভিত্তিক অনুসন্ধান উপাদান দিয়ে মৌলিক ডেমো সম্পন্ন করা যায়; শুরুতেই বাহ্যিক ডেটাবেস ও ভেক্টর পরিষেবা ডেপ্লয় করার প্রয়োজন নেই।
- অভিপ্রায় মডেল ও ওয়ার্কফ্লো মডেল আলাদা রাখুন: Jev-এ পরিবর্তন করলে অন্য DeepSeek নোডগুলো প্রতিস্থাপিত হয় না। সম্পূর্ণ অনলাইন ওয়ার্কফ্লো চালাতে চাইলে DeepSeek কনফিগার করতেই হবে।
- সমস্যা অনুসন্ধানে স্বাস্থ্য যাচাই ইন্টারফেস ব্যবহার করুন:
/api/v1/healthপ্রক্রিয়া পরীক্ষা করে, আর/api/v1/readyনির্ভরতাগুলো প্রস্তুত আছে কি না নিশ্চিত করার জন্য বেশি উপযোগী। - স্লাইসিং কৌশল পরিবর্তনে সতর্ক থাকুন: পাথ, টেক্সটের বিষয়বস্তু বা স্লাইসিং প্যারামিটার বদলালে স্লাইস ID এবং পুরোনো রেফারেন্স প্রভাবিত হতে পারে।
- প্রক্রিয়ার অভ্যন্তরীণ নিশ্চিতকরণ অবস্থার ওপর নির্ভর করবেন না: ডিফল্টভাবে নিশ্চিতকরণের অপেক্ষায় থাকা অপারেশনের কার্যকারিতা মাত্র 15 মিনিট, এবং পুনরারম্ভ বা একাধিক প্রক্রিয়ায় পরিবর্তনের কারণে তা হারিয়ে যেতে পারে।
- সংবেদনশীল ডেটা সুরক্ষিত রাখুন:
.env, প্রকৃত কী, স্থানীয় ডেটাবেস, লগ, ব্যবহারকারীর আপলোড করা ডকুমেন্ট বা ব্যক্তিগত তথ্য GitHub-এ জমা দেবেন না। - বাহ্যিক ডেটা স্থানান্তর পর্যালোচনা করুন: বাহ্যিক মডেল বা দূরবর্তী MCP ব্যবহার করার আগে নিশ্চিত করুন যে অনুরোধের বিষয়বস্তুতে বাইরে পাঠানো অনুচিত কোনো ব্যবহারকারীর তথ্য নেই।
- জ্ঞানভাণ্ডার আপডেটের পরিকল্পনা করুন: বর্তমান সিস্টেম চালুর সময় সম্পূর্ণ ডেটা ইনজেস্ট করে; এখনও সম্পূর্ণ ইনক্রিমেন্টাল মুছে ফেলার প্রক্রিয়া সরবরাহ করা হয়নি।
প্রকল্প ডিরেক্টরি এক নজরে
app/api: HTTP API ও SSE।app/agents: LangGraph এক্সিকিউশন গ্রাফ ও ওয়ার্কফ্লো নোড।app/retrieval: পার্সিং, স্লাইসিং, পুনরুদ্ধার, একীভবন ও র্যাঙ্কিং-পরবর্তী প্রক্রিয়া।app/providers: মডেল ও ভেক্টর পরিষেবা অ্যাডাপ্টার।app/tools: ব্যবসায়িক টুল, টুল রেজিস্ট্রেশন ও অনুমতি নিয়ন্ত্রণ।app/mcp: MCP টুল সংযোগ।app/memory: সেশন মেমরি ও সংকোচন।app/guardrails: ইনপুট ও উত্তরের যাচাই।app/observability: লগ ও মেট্রিক।frontend: React ও TypeScript চ্যাট ইন্টারফেস।knowledge: নীতিমালা-সংক্রান্ত জ্ঞান ডকুমেন্ট।testsওeval: স্বয়ংক্রিয় পরীক্ষা, মূল্যায়ন ডেটা ও রানার।
সারাংশ
Adaptive-RAG ই-কমার্স কাস্টমার সার্ভিস একটি তুলনামূলকভাবে সম্পূর্ণ বুদ্ধিমান কাস্টমার সার্ভিস ইঞ্জিনিয়ারিং প্রবাহ দেখায়: প্রথমে অভিপ্রায় শনাক্তকরণ ও জটিলতা নির্ধারণ, তারপর প্রয়োজন অনুযায়ী হাইব্রিড অনুসন্ধান, বহু-পর্বের প্রমাণ সংযোজন, টুল কল, মানবীয় নিশ্চিতকরণ ও বিশ্বস্ততা যাচাই একত্র করা হয়। আপনি প্রথমে SQLite, ডেমো অর্ডার ও অফলাইন লজিক ব্যবহার করে দ্রুত অভিজ্ঞতা নিতে পারেন, এরপর ধাপে ধাপে DeepSeek, Jev, স্থানীয় ভেক্টর মডেল, Cross-Encoder, সম্প্রসারিত ডকুমেন্ট পার্সিং এবং Docker পরিষেবা সক্রিয় করতে পারেন।
বাস্তব ব্যবসায় প্রবেশের আগে পরিচয় যাচাই, প্রকৃত অর্ডার সিস্টেমের সংযোগ, নিশ্চিতকরণ অবস্থার স্থায়ী সংরক্ষণ, জ্ঞানভাণ্ডারের ইনক্রিমেন্টাল রক্ষণাবেক্ষণ, কী ব্যবস্থাপনা এবং প্রোডাকশন-স্তরের নেটওয়ার্ক নিরাপত্তা বিশেষভাবে সম্পূর্ণ করতে হবে। প্রকল্পটি MIT License ব্যবহার করে। আরও স্থাপত্য ও সীমাবদ্ধতার বিবরণ স্থাপত্য ও রানটাইম প্রবাহ, অনুসন্ধান নকশা এবং সীমাবদ্ধতা ও রোডম্যাপ-এ দেখা যাবে।
