Skip to content

bnlang/simple-ai-model-test

Repository files navigation

Simple AI Model Test

transformers-bnlang দিয়ে Qwen2.5 মডেল রান করার ছোট ছোট উদাহরণ। প্রতিটা ফাইল একটি নির্দিষ্ট ধারণা দেখায়, ক্রমানুসারে পড়লে সহজে বোঝা যাবে।

উদাহরণসমূহ

# ফাইল যা শেখায় ইঞ্জিন
01 01-generate-onnx.bnl একবারে টেক্সট জেনারেশন ONNX
02 02-generate-torch.bnl একবারে টেক্সট জেনারেশন torch-native (safetensors)
03 03-stream-onnx.bnl টোকেন-বাই-টোকেন স্ট্রিমিং ONNX
04 04-stream-torch.bnl টোকেন-বাই-টোকেন স্ট্রিমিং torch-native
05 05-chat.bnl হিস্ট্রি সহ চ্যাট (নন-স্ট্রিম) torch-native
06 06-chat-stream.bnl হিস্ট্রি সহ চ্যাট + স্ট্রিমিং torch-native
07 07-web-chat/ ওয়েব + WebSocket চ্যাট ইউআই torch-native

পড়ার সাজেস্টেড ক্রম: ০১ → ০২ (ইঞ্জিন তুলনা) → ০৩/০৪ (স্ট্রিমিং যোগ) → ০৫/০৬ (চ্যাট হিস্ট্রি) → ০৭ (ব্রাউজার থেকে চ্যাট)।

সব উদাহরণ একই মডেল Qwen2.5-0.5B-Instruct ব্যবহার করে যাতে শুধু ঐ ভ্যারিয়েবলটাই বদলায় যেটা ঐ উদাহরণ শেখাচ্ছে।

মডেল ডাউনলোড

দুই ফরম্যাটের মডেল লাগবে — ONNX উদাহরণের জন্য onnx-community ভার্সন আর torch-native উদাহরণের জন্য অরিজিনাল Qwen (safetensors) ভার্সন।

models/
├── onnx-community/Qwen2.5-0.5B-Instruct/
│   ├── config.json
│   ├── generation_config.json
│   ├── special_tokens_map.json
│   ├── tokenizer.json
│   ├── tokenizer_config.json
│   └── onnx/
│       └── model.onnx
└── Qwen/Qwen2.5-0.5B-Instruct/
    ├── config.json
    ├── generation_config.json
    ├── tokenizer.json
    ├── tokenizer_config.json
    └── model.safetensors

ডাউনলোড লিংক:

বি.দ্র.: ONNX-এর ক্ষেত্রে onnx/ ফোল্ডারে শুধু model.onnx রাখলেই হবে — কোয়ান্টাইজড ভার্সনগুলো (model_q4.onnx, model_fp16.onnx ইত্যাদি) লাগবে না।

ইন্সটলেশন

bpm install

প্যাকেজ লিংক: https://bpm.bnlang.dev/p/transformers-bnlang

চালানোর নিয়ম

CLI উদাহরণগুলো (০১–০৬) সরাসরি রান করুন:

bnl 01-generate-onnx.bnl
bnl 02-generate-torch.bnl
bnl 03-stream-onnx.bnl
bnl 04-stream-torch.bnl
bnl 05-chat.bnl
bnl 06-chat-stream.bnl

ওয়েব চ্যাট (০৭) — 07-web-chat/ ফোল্ডারে গিয়ে চালাতে হবে কারণ web.set_views("views") কারেন্ট ডিরেক্টরি থেকে রিসলভ হয়:

cd 07-web-chat
bnl app.bnl

এরপর ব্রাউজারে খুলুন: http://127.0.0.1:3000/

০৭ এর আর্কিটেকচার

ব্রাউজার (views/index.html)
    │  WebSocket — সাদা টেক্সট ইন, স্ট্রিম-চাঙ্ক আউট
    ▼
socket.bnl  (port 3001) — মডেল লোড + gen.chat(...) + TextStreamer
    ▲
    │  import "./socket.bnl"
    │
app.bnl  (port 3000) — index.html সার্ভ করে

ক্লায়েন্ট ইউজার মেসেজ প্লেইন টেক্সট পাঠায়, সার্ভার প্রতি টোকেন chunk হিসেবে পাঠায়, রেসপন্স শেষ হলে __BNL_DONE__ সেন্টিনেল পাঠায়।

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages