চ্যাটবটের জন্য গার্ডস বাস্তবায়ন উদাহরণ

Prev Next

কাটো গার্ডের সঙ্গে AI অ্যাপ্লিকেশনগুলিকে সুরক্ষিত করুন (উদাহরণ কনফিগারেশন)

সারসংক্ষেপ

এই গাইডটি আপনাকে কাটো এআই সিকিউরিটি গার্ড ব্যবহার করে কাস্টম এআই অ্যাপ্লিকেশন সুরক্ষার প্রক্রিয়া সবিস্তারে জানাবে। এটি তিন-পর্যায়ের ধারা হিসেবে গঠন করা হয়েছে, যেখানে প্রতিটি স্তর পূর্ববর্তীটির ওপর নির্মিত হয়, যাতে আপনি বুঝতে পারেন ঠিক কি পরিবর্তন হয় এবং কেন।

এই গাইড জুড়ে ব্যবহৃত অ্যাপ্লিকেশন হল ট্রাভেলবট — একটি সহজ AI চালিত ভ্রমণ সহকারী চ্যাটবট। উদাহরণটি নির্দিষ্ট হলেও, ধারনা এবং ধাপগুলো কোনো কাস্টম AI অ্যাপ্লিকেশনে প্রযোজ্য যা আপনি তৈরি এবং সুরক্ষিত করতে চান।

গাইডটি তিনটি স্তর নিয়ে গঠিত:

  • পর্যায় ১ ভিত্তি স্থাপন করে: একটি কার্যকরী AI অ্যাপ্লিকেশন যা সরাসরি একটি LLM এর সাথে যোগাযোগ করে, যেখানে কোনো নিরাপত্তা নিয়ন্ত্রণ সক্রিয় নেই। এই স্তরটি আপনাকে প্রাথমিক পয়েন্ট এবং এর দ্বারা উদ্ভূত ঝুঁকিগুলি বুঝতে সাহায্য করে।
  • পর্যায় ২ গার্ডকে পরিচয় করিয়ে দেয়: একটি কাটো প্রক্সি গার্ড তৈরি করা হয় এবং অ্যাপ্লিকেশন এবং LLM এর মধ্যে স্থাপন করা হয়। ট্রাফিক গার্ডের মধ্য দিয়ে পুনর্নির্দেশিত হয়, যা সমস্ত সাথে যোগাযোগগুলি লগ করা শুরু করে। কোনও নীতি নিয়ম এখনও কনফিগার করা হয়নি — এই স্তরে উদ্দেশ্য হল কতটা প্রবাহ এখনও গার্ডের সঙ্গে কার্যকর তা যাচাই করা।
  • পর্যায় ৩ কার্যকরকারী চালু করে: মিথস্ক্রিয়া নীতি নিয়মগুলি কনফিগার এবং প্রকাশিত হয়, গার্ডকে জেলব্রেক প্রচেষ্টা অবরুদ্ধ করার নির্দেশনা দেয় এবং স্বাস্থ্যসংক্রান্ত বিষয়বস্তু সরাসরি মনিটর করে। অ্যাপ্লিকেশনটি এখন সম্পূর্ণ সুরক্ষিত।
    এই গাইডটি শেষ হওয়ার পর, আপনার কাছে একটি স্পষ্ট চিত্র থাকবে কিভাবে কাটো গার্ডের সঙ্গে একটি কাস্টম এআই অ্যাপ্লিকেশন সুরক্ষিত করা যায় — পুরোপুরি খোলা সংযোগ থেকে কার্যকরভাবে enforced এবং পরিচালিত, নিয়ন্ত্রিত AI কর্মপদ্ধতি।

পর্যায় ১ — ভিত্তি: আপনার AI অ্যাপ গার্ড ছাড়াই


এই পর্যায় কী কভার করে

কোন নিরাপত্তা নিয়ন্ত্রণ পরিচয় করিয়ে দেওয়ার আগে, এটি গুরুত্বপূর্ণ যে আমরা বুঝতে পারি কিভাবে অ্যাপ্লিকেশনটি নিজে থেকে কাজ করে। এই স্তরটি আপনাকে ভিত্তির সেটআপের মধ্য দিয়ে গাইড করে — একটি কার্যকরী AI চালিত চ্যাট অ্যাপ্লিকেশন যা সরাসরি একটি বড় ভাষার মডেলের (LLM) সাথে যোগাযোগ করে। এর 'পরবর্তী' ছবি হিসাবে ভাবুন: অ্যাপটি কার্যকর, তবে ব্যবহারকারী এবং মডেলের মধ্যে কিছু নেই।


কিভাবে অ্যাপ কাজ করে

অ্যাপ্লিকেশনটি একটি সাধারণ ভ্রমণ সহকারী চ্যাটবট, যার নাম ট্রাভেলবট। এটিতে তিনটি উপাদান রয়েছে যা একসঙ্গে কাজ করে:

১. ফ্রন্টএন্ড
এটি হল যা ব্যবহারকারী দেখে এবং সাথে ইন্টারঅ্যাক্ট করে — ব্রাউজারে একটি চ্যাট ইন্টারফেস যেখানে প্রশ্ন টাইপ এবং প্রতিক্রিয়া পাওয়া যেতে পারে।

২. ব্যাকএন্ড
এটি দৃশ্যের পিছনে চলমান ইঞ্জিন। এটি ব্যবহারকারীর বার্তা পায়, কথোপকথনের ইতিহাস ট্র্যাক করে এবং LLM এর কাছে বার্তাটি পাঠিয়ে দেয়। এটি ত্রুটিগুলিও পরিচালনা করে এবং মডেলের প্রতিক্রিয়া ব্যবহারকারীর কাছে ফিরিয়ে আনে। ব্যাকএন্ডটি ফ্লাস্ক, একটি লাইটওয়েট ওয়েব ফ্রেমওয়ার্ক দিয়ে তৈরি।

৩. LLM সংযোগ
এখানেই বুদ্ধিমত্তা বিদ্যমান। ব্যাকএন্ড ব্যবহারকারীর বার্তা (কথোপকথনের ইতিহাস সহ) একটি বড় ভাষার মডেলের কাছে পাঠায়, যা একটি প্রতিক্রিয়া তৈরি করে। এই পর্যায়ে, ব্যাকএন্ড LLM এর সাথে সরাসরি যোগাযোগ করে — এর মধ্যে কিছুই নেই।

প্রবাহটি এভাবে দেখায়:

ব্যবহারকারী (ব্রাউজার) → ব্যাকএন্ড (ফ্লাস্ক) → LLM → ব্যবহারকারীর কাছে প্রতিক্রিয়া ফিরে আসবে

ভাষা ও ফ্রেমওয়ার্কের উপর একটি নোট

এই গাইডে নমুনা অ্যাপ্লিকেশনটি তৈরি করা হয়েছে পাইথন ব্যবহার করে, একটি লাইটওয়েট ওয়েব ফ্রেমওয়ার্ক ফ্লাস্ক এর উপর ভিত্তি করে। AI অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য পাইথন একটি জনপ্রিয় পছন্দ হলেও একমাত্র নয়। আপনার অ্যাপ্লিকেশন Node.js, জাভা, গো বা অন্য কোনো ভাষায় তৈরি হোক না কেন, একই ধারণা এবং প্রবাহ প্রযোজ্য। কনফিগারেশন মান, অনুরোধের কাঠামো এবং গার্ড ইন্টিগ্রেশন সব একই যুক্তি অনুসরণ করে — কেবল সিনট্যাক্স পরিবর্তিত হয়।


কনফিগারেশন ফাইল

ব্যাকএন্ড এবং LLM এর মধ্যে সংযোগ একটি config.py নামে একটি ফাইল দ্বারা নিয়ন্ত্রিত হয়। এই ফাইলে তিনটি গুরুত্বপূর্ণ মান রয়েছে:

OPENAI_API_KEY = "sk-proj-xK92mLqP3nVwTz8YdR5eN1uJbF7cQm4HsAo6WpGi0XvCl"
BASE_URL       = "https://bedrock-mantle.eu-north-1.api.aws/v1"
MODEL_ID       = "amazon.nova-pro-v1:0"
  • OPENAI_API_KEY — এটা সেই প্রমাণপত্র যা LLM প্রদানকারীকে প্রমাণ করে যে আপনার অ্যাপ্লিকেশন অনুমোদিত অনুরোধ করতে।
  • BASE_URL — এটি ঠিকানা যেখানে ব্যাকএন্ড অনুরোধ পাঠায়। এটি বর্তমানে সরাসরি LLM প্রদানকারীকে নির্দেশ করে।
  • MODEL_ID — এটি LLM প্রদানকারীকে বলে যে নির্দিষ্ট কোন মডেলটি প্রতিক্রিয়া তৈরি করতে ব্যবহার করা উচিত।

এই পর্যায়ে অ্যাপ চালু করার জন্য, আপনাকে (বা আপনার ডেভেলপার) এই তিনটি মান আপনার LLM প্রদানকারী দ্বারা প্রদত্ত ক্রেডেনশিয়াল দিয়ে পূরণ করতে হবে।


অ্যাপ্লিকেশন আপনার বার্তাটির সাথে কি করে

যখন কেউ একটি বার্তা পাঠায়, নীচে পর্যায়ক্রমে কি ঘটে তা এখানে:

  1. ব্যবহারকারী চ্যাট ইন্টারফেসে একটি বার্তা টাইপ করে এবং পাঠানোর বোতামটি চাপ দেয়।
  2. ব্রাউজারটি প্রেরণ করে বার্তাটি ফ্লাস্ক ব্যাকএন্ডে, একটি সেশনের ID সহ যা কথোপকথন চিহ্নিত করে।
  3. ব্যাকএন্ডটি বার্তাটি কথোপকথনের ইতিহাসে যুক্ত করে এবং সবাইকে LLM তে ফরওয়ার্ড করে।
  4. LLM সম্পূর্ণ কথোপকথন প্রক্রিয়া করে এবং একটি প্রতিক্রিয়া তৈরি করে।
  5. প্রতিক্রিয়াটি ব্যাকএন্ডে পাঠানো হয়, কথোপকথনের ইতিহাসে যুক্ত হয় এবং ব্যবহারকারীর ব্রাউজারে ফিরিয়ে দেওয়া হয়।
  6. ব্যবহারকারী চ্যাট ইন্টারফেসে প্রতিক্রিয়াটি দেখেন।

কি এখনও ঘটছে না

এই পর্যায়ে, অ্যাপ্লিকেশনটি সম্পূর্ণ কার্যকরী কিন্তু সম্পূর্ণ অরক্ষিত। এর মানে হল:

  • ব্যবহারকারী মডেলে যা পাঠায় তার কোন পরিদর্শন নেই।
  • এখানে সরঞ্জামের কল এবং প্রতিক্রিয়ার কোনও পরিদর্শন নেই।
  • নীতি প্রয়োগ নেই — কোনো মেসেজ, ক্ষতিকারক হলেও, তা LLM এ পৌঁছে।
  • কিভাবে অ্যাপ্লিকেশনটি ব্যবহার করা হচ্ছে সেখানেও কোনও দৃশ্যমানতা নেই।

একজন ব্যবহারকারী, উদাহরণস্বরূপ, মডেলের নির্দেশনা অগ্রাহ্য করতে, সংবেদনশীল তথ্য সংগ্রহ করতে বা আপনার প্রতিষ্ঠানের নীতির লঙ্ঘন করার চেষ্টা করতে পারে — এবং এটি কিছুই সনাক্ত বা বন্ধ হবে না।

এই হল পরবর্তী স্তরটির সম্মুখীন হওয়া ঠিক।


সারাংশ

উপাদান ভূমিকা বিশদ
ফ্রন্টএন্ড ব্যবহারকারীর ইন্টারফেস ফ্লাস্ক দ্বারা প্রদান করা চ্যাট UI
ব্যাকএন্ড অনুরোধ পরিচালনা ফ্লাস্ক অ্যাপ্লিকেশন, কথোপকথনের ইতিহাস পরিচালনা করে
LLM সংযোগ প্রতিক্রিয়া উৎপন্ন করা BASE_URL এবং OPENAI_API_KEY এর মাধ্যমে সরাসরি সংযোগ

পর্যায় ২ — গার্ডের সাথে পরিচয় করিয়ে দেওয়া


এই স্তরটি কি কভার করে

পর্যায় ১ এ আমরা একটি কার্যকরী AI অ্যাপ্লিকেশন প্রতিষ্ঠা করেছি যা সরাসরি একটি LLM এর সাথে যোগাযোগ করে। অ্যাপটি কাজ করলেও, ব্যবহারকারী এবং মডেলের মধ্যে কিছু নেই। এই স্তরে, আমরা একটি কাটো AI সিকিউরিটি গার্ড পরিচয় করিয়ে দেই — প্রয়োগের স্তরটি যা আপনার অ্যাপ্লিকেশন এবং LLM এর মধ্যে থাকে, মডেলে পৌঁছানোর আগে এবং ব্যবহারকারীর কাছে প্রতিক্রিয়া ফেরত আসার আগে সরাসরি ট্রাফিক পর্যবেক্ষণ করে।

এই ধাপের শেষে, সমস্ত LLM ট্রাফিক, ব্যবহারকারীর বার্তা, সরঞ্জামের সংজ্ঞা, সরঞ্জামের ব্যবহার ইত্যাদি Cato কে মাধ্যমে যায়। ব্যবহারকারীর অভিজ্ঞতা একদম একই থাকে — কিন্তু এখন প্রতিটি মিথস্ক্রিয়া পরিদর্শন করা হয় এবং নিয়ন্ত্রিত করা যেতে পারে।

আপডেট করা প্রবাহটি তা দেখায়:

Application-Proxy Mode.png


গার্ড কি?

AI নিরাপত্তার জন্য একটি গার্ড হচ্ছে প্রয়োগ পয়েন্ট। এই উদাহরণে, যেখানে আমরা Proxy মোড ব্যবহার করছি, এটি একটি মধ্যস্থতাকারী হিসাবে কাজ করে — আপনার অ্যাপ্লিকেশন এবং LLM এর মধ্যে একটি অবস্থান করছে — এবং প্রতিটি প্রম্পট এবং প্রতিক্রিয়া আপনার নির্ধারিত নীতির সাথে মূল্যায়ন করে। সেই নীতির ভিত্তিতে, গার্ড একটি মিথস্ক্রিয়া অনুমতি দিতে, ব্লক করতে বা লগ করতে পারে।

তিন ধরনের গার্ড আছে। এই গাইডের জন্য, আমরা একটি প্রক্সি গার্ড ব্যবহার করছি। প্রক্সি মোডে, গার্ড সম্পূর্ণভাবে ট্রাফিক পাথে ইনলাইন থাকে। আপনার অ্যাপ্লিকেশন সরাসরি LLM এর পরিবর্তে গার্ডের এন্ডপয়েন্টে অনুরোধ পাঠায় এবং পরিদর্শন করার পর গার্ড এগুলি আগাতে দেয়। আপনার অ্যাপ্লিকেশনের যুক্তির কোন পরিবর্তন প্রয়োজন নেই — কেবল গন্তব্য ঠিকানা পরিবর্তিত হয়।


ধাপ ১ — কাটো ম্যানেজমেন্ট অ্যাপ্লিকেশনে গার্ড তৈরি করুন

প্রথম ধাপটি হল কাটো ম্যানেজমেন্ট অ্যাপ্লিকেশনে একটি লজিক্যাল ‍এন্টিটি হিসেবে গার্ড তৈরি করা। এটি UI এ সম্পন্ন হয় — এই পর্যায়ে কোনও কোড প্রয়োজন নেই।

  1. নেভিগেশন মেনু থেকে AI সিকিউরিটি > গার্ডস নির্বাচন করুন, তারপর নতুন এ ক্লিক করুন।
  2. একটি বিস্তারিত গার্ডের নাম প্রবেশ করুন। আমাদের উদাহরণে, আমরা E2E স্যাম্পল ইউজ কেস ব্যবহার করি।।
  3. গার্ড টাইপ নির্বাচন করুন এর নিচে, প্রক্সি নির্বাচন করুন।।
  4. AI সার্ভিস নির্বাচন করুন এর নিচে, ড্রপডাউন থেকে কাস্টম এন্ডপয়েন্ট নির্বাচন করুন।। এটি যেকোনো OpenAI-সমর্থিত এন্ডপয়েন্টের সাথে কাজ করে, যা আমাদের অ্যাপ্লিকেশন ব্যবহার করে।।
  5. এন্ডপয়েন্ট URL ক্ষেত্রটিতে আপনার LLM প্রদানকারীর URL লিখুন।। আমাদের উদাহরণে, এটি হল https://bedrock-mantle.eu-north-1.api.aws/v1।। এটি পূর্বে আপনার কনফিগারেশনে BASE_URL হিসাবে সেট করা একই URL — এখন আপনি এটি সরাসরি আপনার অ্যাপ্লিকেশনের পরিবর্তে গার্ডকে প্রদান করছেন।।
    নোট: ইউআরএল টি /v1 অন্তর্ভুক্ত পর্যন্ত পথটি অন্তর্ভুক্ত করতে হবে।
  6. গার্ডের সেটিংস কনফিগার করুন এর অধীনে, Cato'র ক্লাউডের কাছে থাকা গার্ডের হোস্ট সেট রেখে দিন।। এটি অর্থ বহুৎ যে গার্ড কাটো দ্বারা পরিচালিত এবং হোস্ট করা হয় — আপনাকে কোনও অতিরিক্ত অবকাঠামো স্থাপন বা রক্ষণাবেক্ষণ করতে হবে না।।
  7. সংরক্ষণ করুন এ ক্লিক করুন।।

কি হয়েছে? আপনি একটি গার্ড তৈরি করেছেন যা জানে আপনার LLM কোথায় অবস্থান করে।। কাটো এখন আপনার অ্যাপ্লিকেশন এবং ওই LLM এর মধ্যে সমস্ত ট্রাফিকের মধ্যস্থতাকারী হিসেবে কাজ করবে।। গার্ডের কোনো নীতি নিয়ম নেই — আমরা সেগুলি পর্যায় ৩ এ যোগ করব।। এখন, আমরা কেবল সংযোগ স্থাপন করছি এবং প্রবাহ কতটা এখনও কাজ করে তা যাচাই করছি।।


ধাপ ২ — গার্ডের সংযোগের বিস্তারিত তথ্য পুনরুদ্ধার করুন

গার্ড সংরক্ষিত হওয়ার পর, গার্ডস পাতা থেকে এটি খুলুন এবং গার্ডের ডকস পাতায় যান, যা আপনার অ্যাপ্লিকেশনকে গার্ডের সাথে সংযুক্ত করতে যা যা প্রয়োজন তা সরবরাহ করে, সরাসরি LLM-এ সংযোগ করার পরিবর্তে।।

এখানে দুটি গুরুত্বপূর্ণ তথ্য পাবেন:

  • গার্ড এন্ডপয়েন্ট (আপনার নতুন BASE_URL) - এটাই ঠিকানা যেখানে এখন আপনার অ্যাপ্লিকেশন অনুরোধ পাঠাবে: https://api.aisec.catonetworks.com/fw/v1/proxy/openai

    • এটি আপনার কনফিগারেশনএ LLM এর এন্ডপয়েন্ট URL প্রতিস্থাপন করে।। এখন থেকে, আপনার অ্যাপ্লিকেশন কাটো'র সাথে কথা বলবে, এবং কাটো আপনার হয়ে LLM এর সাথে কথা বলবে।।
  • গার্ড API কী (আপনার নতুন OPENAI_API_KEY)

    • ডকস পৃষ্ঠা আরও একটি গার্ড API কী প্রদান করে — ফ্যাডেনটিকেশনের জন্য গার্ডের সাথে যোগাযোগ নিশ্চিত করতে আপনার অ্যাপ্লিকেশন ব্যবহার করা ক্রেডেনটিয়াল।। এটি আপনার কনফিগারেশনে পূর্বে থাকা LLM API কীটি প্রতিস্থাপন করে।। এটি এরকম দেখায়: cato-1234-abcde

নোট: কেটো দুটি গার্ড API কী সরবরাহ করে।। কেবল একটি ব্যবহার করতে হবে অনুরোধ করার জন্য।। দ্বিতীয় কী বিদ্যমান যাতে আপনি নিরাপদে ক্রেডেনশিয়ালগুলি ঘুরিয়ে নিতে পারেন — পুরানো কীটি এখনও সক্রিয় অবস্থায় থাকাকালীন আপনার অ্যাপ্লিকেশন আপডেট করতে পারেন, যেকোনো সময় নষ্ট হওয়া থেকে বাঁচতে।।

LLM API কী

পূর্বে, LLM API কী আপনার অ্যাপ্লিকেশনের কনফিগারেশনে বসবাস করতো।। গার্ডের সাথে উপস্থিত, সেই কী আপনার অ্যাপ্লিকেশন যে অনুরোধ শিরোনাম পাঠায় সেখানে চলে যায় — একটি শিরোনামে বিশেষভাবে x-cato-provider-api-key নামে।। গার্ড এটি LLM এর সঙ্গে আপনার অ্যাপ্লিকেশনের ফ্যাডেনটিকেশনে ব্যবহৃত হয়।।

এটি আসলে একটি নিরাপত্তা উন্নতি: LLM API কীটি আর একটি কনফিগারেশন ফাইলে হার্ডকোড করা নেই, এবং গার্ড সেই ক্রেডেনশিয়ালের নিয়ন্ত্রিত পাস-থ্রু হিসেবে কাজ করে।।


ধাপ ৩ — অ্যাপ্লিকেশন কনফিগারেশন আপডেট করুন

এখন গার্ড তৈরি করা হয়েছে এবং এর সংযোগের বিশদ তথ্য আপনার কাছে আছে, এটি অ্যাপ্লিকেশনটি আপডেট করার সময়।। পর্যায় ১ এবং পর্যায় ২ পৃথকভাবে রাখার জন্য, মূলগুলির পরিবর্তে নতুন সেটের কনফিগারেশন ফাইল তৈরি করি।। এভাবে, উভয় স্তর রেফারেন্সের জন্য অক্ষুণ্ণ থাকে।।

নতুন কনফিগারেশন ফাইলটি, config_stage2.py, আপডেট সংযোগের তথ্যকে প্রতিফলিত করে:

# পর্যায় ২ কনফিগারেশন — কাটো প্রক্সি গার্ডের মাধ্যমে রাউট করা

GUARD_API_KEY        = "cato-xxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
BASE_URL             = "https://api.aisec.catonetworks.com/fw/v1/proxy/openai"
MODEL_ID             = "amazon.nova-pro-v1:0"
LLM_PROVIDER_API_KEY = "[SECRET_1]"   # আপনার LLM প্রদানকারী API কী — গার্ডে পাঠানো হয়েছে, সরাসরি LLM এ নয়

SYSTEM_PROMPT = (
    "আপনি ট্রাভেলবট, একটি বন্ধুত্বপূর্ণ এবং জ্ঞানসম্পন্ন ভ্রমণ সহকারী। "
    "ব্যবহারকারীদের গন্তব্যগুলি আবিষ্কার করতে সাহায্য করুন, গন্তব্যস্থলের পরিকল্পনা, হোটেলগুলি সুপারিশ এবং ব্যবহারিক ভ্রমণ টিপস শেয়ার করুন। প্রতিক্রিয়া সংক্ষিপ্ত এবং উত্সাহী রাখুন। "
    " যদি কোন প্রশ্ন ভ্রমণের সাথে সম্পর্কিত না হয়, তাহলে কথোপকথনটি বিনীতভাবে পুনর্নির্দেশ করুন।"
)

MAX_TOKENS = 1024

পর্যায় ১ থেকে প্রধান পার্থক্য:

পরিমাপ স্তর ১ স্তর ২
OPENAI_API_KEY LLM প্রদানকারী API কী GUARD_API_KEY দ্বারা প্রতিস্থাপিত হয়েছে — গার্ডের সাথে ফ্যাডেনটিকেট করে
BASE_URL LLM প্রদানকারী এন্ডপয়েন্ট কাটো গার্ড প্রক্সি এন্ডপয়েন্ট
LLM_PROVIDER_API_KEY অস্তিত্ব ছিল না — ছিল OPENAI_API_KEY LLM API কী, এখন একটি অনুরোধ শিরোনাম হিসেবে গার্ডে প্রেরিত হয়

ধাপ ৪ — ক্লায়েন্ট কোড আপডেট করুন

ক্লায়েন্ট কোডটিও একটি সমন্বীত স্তর ২ সংস্করণ পায় — bedrock_client_stage2.py।। যুক্তি মূলত স্তর ১ এর মতোই, দুটি সংযোজন সহ:

  1. গার্ড এপিআই কী ব্যবহার করা হয় গার্ডের সাথে প্রমাণীকরণ করতে ( Authorization শীর্ষক হেডারে অন্তর্ভুক্ত)।
  2. LLM এপিআই কী একটি অতিরিক্ত হেডার হিসেবে পাস করা হয় (x-cato-provider-api-key), তাই গার্ড তা LLM এ ফোরওয়ার্ড করতে পারে।
  3. সেশন আইডি একটি হেডার হিসেবে পাস করা হয় (x-cato-session-id) যাতে গার্ড একই কথোপকথনের থেকে একটি অনুরোধ গোষ্ঠীভুক্ত করতে পারে — এটি সোজাসুজি session_id এর সাথে মানচিত্র করে, যা ইতিমধ্যে অ্যাপ্লিকেশন লজিকে বিদ্যমান।
# bedrock_client_stage2.py

openai থেকে OpenAI
config_stage2 থেকে GUARD_API_KEY, BASE_URL, MODEL_ID, LLM_PROVIDER_API_KEY, SYSTEM_PROMPT, MAX_TOKENS অন্তর্ভুক্ত করুন


class BedrockClient:
    def __init__(self):
        self._client = None

    def _get_client(self) -> OpenAI:
        if self._client is None:
            self._client = OpenAI(
                api_key=GUARD_API_KEY,
                base_url=BASE_URL,
                default_headers={
                    "x-cato-provider-api-key": LLM_PROVIDER_API_KEY,
                }
            )
        return self._client

    def invoke(self, messages: list[dict], session_id: str = "") -> str:
        সব বার্তা = [{"role": "system", "content": SYSTEM_PROMPT}] + messages

        response = self._get_client().chat.completions.create(
            model=MODEL_ID,
            messages=all_messages,
            max_tokens=MAX_TOKENS,
            extra_headers={
                "x-cato-session-id": session_id,
            }
        )

        return response.choices[0].message.content

ফ্লো যাচাই করা হচ্ছে

জায়গায় আপডেট হওয়া কনফিগারেশন এবং ক্লায়েন্ট ফাইলগুলো থাকা অবস্থায়, অ্যাপ্লিকেশনটি স্টেজ 1 এর মতো আচরণ করা উচিত ব্যবহারকারীর দৃষ্টিকোণ থেকে। TravelBot ট্র্যাভেল প্রশ্নের উত্তর দেয় একইভাবে — কিন্তু এখন প্রতিটি ইন্টারেকশন গার্ডের মাধ্যমে যাচ্ছে।

এই মুহূর্তে গার্ডে কোনও নীতি নিয়ম কনফিগার করা নেই, তাই এটি কোনো ট্র্যাফিক ব্লক বা পরিবর্তন করছে না। তবে, এটি প্রতিটি ইন্টারেকশন লগ করছে। এটি যাচাই করতে পারেন Cato ম্যানেজমেন্ট অ্যাপ্লিকেশনে গার্ড খুলে গার্ড লগিং পৃষ্ঠাটি পর্যালোচনা করে, যেখানে অ্যাপ্লিকেশন ব্যবহৃত হলে সেশনগুলি প্রদর্শিত হওয়ার কথা।

এটি নিশ্চিত করে যে ইন্টিগ্রেশন সঠিকভাবে কাজ করছে এবং গার্ড ট্র্যাফিক গ্রহণ করছে।


পরিবর্তনের সারসংক্ষেপ স্টেজ 1 থেকে স্টেজ 2

পরিবর্তন কি স্টেজ 1 স্টেজ 2
কোথায় ট্র্যাফিক যায় প্রত্যক্ষভাবে LLM এর দিকে Cato গার্ড প্রক্সির মাধ্যমে
প্রমাণীকরণ config তে LLM এপিআই কী কনফিগ এ গার্ড এপিআই কী; হেডার হিসেবে LLM কী পাস করা হয়
দৃশ্যমানতা কোনো না Cato-তে পূর্ণ সেশন লগিং
নীতির প্রয়োগ কোনো না এখনো কোনো না — স্টেজ 3 তে আসছে
ব্যবহারকারীর অভিজ্ঞতা অপরিবর্তিত অপরিবর্তিত

স্টেজ 3 — নীতি নিয়ম কনফিগার করা হচ্ছে


এই স্টেজ কি অন্তর্ভুক্ত করে

স্টেজ 2-তে আমরা একটি গার্ড পরিচয় করিয়ে দিয়েছি এবং নিশ্চিত করেছি যে ট্র্যাফিক এর মাধ্যমে সঠিকভাবে প্রবাহিত হচ্ছে। গার্ড সক্রিয়, কিন্তু এটি এখনো কোনও নিয়ম নিয়ন্ত্রণ করছে না — এটি ট্র্যাফিক পর্যবেক্ষণ করছে কিন্তু কোনো কিছুতে কাজ করছে না। এই পর্যায়ে, আমরা গার্ডস ইন্টারঅ্যাকশন পলিসি কনফিগার করি: নিয়মের সেট যা গার্ডকে বলে যখন এটি নির্দিষ্ট ধরনের সামগ্রী সনাক্ত করে তখন কি করতে হবে।

এই পর্যায়ের শেষে, গার্ড লাইভ ট্র্যাফিকের বিরুদ্ধে দুটি নিয়ম সক্রিয়ভাবে প্রয়োগ করবে:

  • ব্লক করুন এবং অজ্ঞাত করুন যে কোনও মিথস্ক্রিয়া যা PII বা পাসওয়ার্ডের মতো তথ্য অন্তর্ভুক্ত করে
  • নিরীক্ষণ যে কোনও ইন্টারেকশন যা মেডিক্যাল পরামর্শ বা স্বাস্থ্যের সাথে সম্পর্কিত তথ্য বোঝায়

নোট: আমরা প্রথমে আপনার নিয়মগুলি পরীক্ষা করার পরামর্শ দিই, তাদের মনিটরে সেট করুন এবং তারপরে ব্লক করুন তাদের সনাক্তকরণ কাজ করছে বলে আপনি নিশ্চিত হলে।


গার্ডস ইন্টারঅ্যাকশন পলিসি কি?

গার্ডস ইন্টারঅ্যাকশন পলিসি হল আপনার AI নিরাপত্তা গার্ডদের নিয়ম ভিত্তি। এটিকে AI ট্র্যাফিকের জন্য একটি ফায়ারওয়াল হিসাবে ভাবুন — নেটওয়ার্ক প্যাকেট পরীক্ষা করার পরিবর্তে, এটি AI ইন্টারেকশনের বিষয়বস্তু পরিদর্শন করে এবং আপনি যে ক্রিয়াটি সংজ্ঞায়িত করেন তা প্রয়োগ করে যখন মেলা পাওয়া যায়।

নীতি প্রতিটি নিয়ম নির্দিষ্ট করে:

  • কোন গার্ডে নিয়ম প্রযোজ্য
  • **কি দেখতে হবে **— ইঞ্জিন প্রোফাইল দ্বারা নির্ধারিত, যা সনাক্তকরণ শ্রেণী (উদাহরণস্বরূপ, পায়েলব্রেক প্রচেষ্টা, PII, বা মেডিক্যাল তথ্য)
  • **কি করতে হবে **যখন মিল পাওয়া যায় — ব্লক, নিরীক্ষণ, নাম-গোপন ও ব্লক, অথবা নাম-গোপন ও নিরীক্ষণ
  • **যে দিকে **ট্র্যাফিক পরীক্ষা করতে হবে — ব্যবহারকারী থেকে আসা বার্তাগুলি, সহকারীর প্রিপ্রতিক্রিয়া, টুল ইনপুট বা টুল আউটপুট

একটি গুরুত্বপূর্ণ আচরণ যা জানা দরকার: গার্ডস ইন্টারঅ্যাকশন পলিসির নিয়মগুলি তাদের অবস্থান নির্বিশেষে মূল্যায়ন করা হয়। যদি একাধিক নিয়ম একটি ইন্টারেকশনে প্রযোজ্য হয়, তাহলে কঠোর ক্রিয়াকলাপ সক্রিয় থাকবে। উদাহরণস্বরূপ, এক নিয়ম যদি বলে নিরীক্ষণ এবং অন্যটি বলে ব্লক, তবে ব্লক কর্মটি প্রযোজ্য হবে।


পর্ব 1 — নিয়ম তৈরি করুন 1: পায়েলব্রেক প্রচেষ্টা ব্লক করুন

প্রথম নিয়ম আমরা তৈরি করি তা পায়েলব্রেক প্রচেষ্টাগুলির দিকে লক্ষ্য করে — ব্যবহারকারীদের মডেলকে তার নির্দেশনা উপেক্ষা করতে বা এর সুরক্ষাগুলি বাইপাস করার জন্য ইচ্ছাকৃত প্রচেষ্টা। TravelBot এর মত একটি কাস্টমার-ফেসিং অ্যাপ্লিকেশনের জন্য, এটি একটি তাৎপর্যপূর্ণ ঝুঁকি: একজন ব্যবহারকারী মডেলটিকে তার সংজ্ঞায়িত ভূমিকায় উপেক্ষা করতে বা এমন তথ্য উন্মোচিত করার চেষ্টা করতে পারে যা তা করা উচিত নয়।

শুরু করার জন্য, গার্ডস পলিসি পৃষ্ঠাতে যান। আপনি এটি করতে পারেন মূল নেভিগেশেন মেনু থেকে AI নিরাপত্তা > গার্ডস ইন্টারঅ্যাকশন পলিসি নির্বাচন করে, অথবা গার্ডের সংক্ষিপ্ত বিবরণ পৃষ্ঠা থেকে সরাসরি নীতি পরিচালনা করুন ক্লিক করে সক্রিয় নিয়ম বিভাগে।

গার্ডস পলিসি পৃষ্ঠা থেকে, নতুন ক্লিক করে নিয়ম সম্পাদক খুলুন, এরপর নিম্নলিখিত কনফিগার করুন:

সাধারণ

  • নাম: কিছু ট্র্যাফিক ব্লক করুন
  • বিবরণ: এটি আমাদের ট্র্যাভেল বট থেকে পায়েলব্রেক ট্র্যাফিকের ব্লক করে
  • সক্রিয় রাখুন টগেল চালু

গার্ডস

  • E2E নমুনা ব্যবহার কেস নির্বাচন করুন — এটি আমাদের নির্দিষ্ট গার্ডে নিয়ম সীমিত করে এবং অ্যাকাউন্টের অন্য কোনো গার্ডগুলিকে প্রভাবিত করে না

ইঞ্জিন প্রোফাইল

  • Sensitive Identifiers নির্বাচন করুন — এটা সেই শনাক্তকরণ বিভাগ যা প্রম্পট ইনজেকশান প্রচেষ্টা, জেলব্রেক প্যাটার্ন, এবং মডেল থেকে গোপনীয়তা বা প্রমাণপত্র আহরণের প্রচেষ্টা সনাক্ত করে

ক্রিয়া

  • Anonymize & Block নির্বাচন করুন — যখন রক্ষক একটি মিল সনাক্ত করে, তখন এর জলসম্পদের মিথস্ক্রিয়ায় উপস্থিত কোনো সংবেদনশীল তথ্যকে অজ্ঞাত করে দেবে এবং LLM কে সম্পূর্ণভাবে প্রম্পট থেকে রক্ষা করবে

দিক

  • ব্যবহারকারী এবং টুল ইনপুট চেক করুন — নিয়মটি ব্যবহারকারী এবং যেকোনো টুল ইনপুট থেকে আসা সামগ্রীতে প্রযোজ্য হয়। সহকারীর প্রতিক্রিয়া এবং টুল আউটপুটগুলি এই নিয়মের জন্য পরিসরে নেই।

সংরক্ষণ করুন ক্লিক করুন। নিয়ম একটি অপ্রকাশিত সংশোধনে সংরক্ষণ করা হয়েছে এবং এখনো পর্যন্ত লাইভ ট্র্যাফিককে প্রভাবিত করবে না।


ধাপ 2 — নিয়ম তৈরি করুন 2: মেডিকেল বিষয়বস্তু মনিটর করুন

দ্বিতীয় নিয়মটি একটি ভিন্ন পদ্ধতি গ্রহণ করে। ট্র্যাফিক আটকানোর পরিবর্তে, এটি ইন্টারঅ্যাকশনগুলিকে পর্যালোচনার জন্য পরিচিহ্নিত করে চলার অনুমতি দেয় এটি এমন সামগ্রীর জন্য উপযুক্ত যা অগত্যা ক্ষতিকারক নয় কিন্তু দৃশ্যমানতা প্রাপ্য হতে পারে — এই ক্ষেত্রে, মেডিকেল পরামর্শ বা স্বাস্থ্য সম্পর্কিত ডেটা সংক্রান্ত ইন্টারঅ্যাকশন।

TravelBot এর জন্য, একজন ব্যবহারকারী মেডিকেল ট্র্যাভেল পরামর্শ চাইলে (যেমন টিকা প্রয়োজনীয়তা বা গন্তব্যের জন্য স্বাস্থ্য সতর্কতা) এটি স্বাভাবিকভাবে ক্ষতিকারক নয়, কিন্তু এটি সেরকম সামগ্রী যা আপনার সংগঠন পলিসি বা গুণগত উদ্দেশ্যে ট্র্যাক করতে চাইতে পারে।

গার্ডস নীতি পৃষ্ঠা থেকে, আবার নতুন ক্লিক করুন এবং নিম্নলিখিত কনফিগার করুন:

  • সাধারণ
    • নাম: সম্ভবত ক্ষতিকারক ডেটা মনিটর করুন
    • বর্ণনা: এটি যোগাযোগকে যেতে দেয়, কিন্তু ইন্টারঅ্যাকশন পর্যবেক্ষণ করে
      সক্রিয় রাখুন টগেল চালু

গার্ডস

  • E2E নমুনা ব্যবহার কেস নির্বাচন করুন

ইঞ্জিন প্রোফাইল

  • Health Data Exposure নির্বাচন করুন — এটি সেই মিথস্ক্রিয়াগুলি সনাক্ত করে যেগুলির মধ্যে চিকিৎসা নির্দেশিকা, স্বাস্থ্য তথ্য বা ক্লিনিকাল তথ্য অন্তর্ভুক্ত থাকে

কর্ম,

  • Anonymize & Monitor নির্বাচন করুন — মিথস্ক্রিয়া LLM কে মাধ্যমে অনুমোদিত এবং প্রতিক্রিয়াটি স্বাভাবিকভাবে ব্যবহারকারীর কাছে পাঠানো হয়। কোনও ব্যক্তিগতকৃত তথ্য অজ্ঞাত করা হয়েছে ব্যক্তিগত বিবরণ রক্ষা করার জন্য। এই ইন্টারঅ্যাকশন পর্যালোচনার জন্য Cato তে লগ করা হয়েছে।

দিক

  • সব চারটি দিক পরীক্ষা করুন: ব্যবহারকারী, সহকারী, টুল ইনপুট, এবং টুল আউটপুট — এই নিয়মটি প্রতিটি দিকের ট্র্যাফিক মনিটর করে, আপনাকে কথোপকথনের উভয় দিকের সম্পূর্ণ দৃশ্যমানতা দেয়

সংরক্ষণ করুন ক্লিক করুন।


ধাপ 3 — নীতি প্রকাশ করুন

দুটি নিয়ম সংরক্ষণ করার পর, গার্ডস পলিসি পৃষ্ঠাতে একটি অপ্রকাশিত সংশোধন স্ট্যাটাস এবং উপরের ডান কোণে একটি প্রকাশ করুন (2) বোতাম দেখতে পাবে, যা নির্দেশ করে যে দুটি নিয়ম লাইভ যেতে প্রস্তুত।

**গুরুত্বপূর্ণ: **যতক্ষণ না আপনি প্রকাশ করেন, সক্রিয় নীতি অপরিবর্তিত থাকে। আপনার নিয়মগুলি একটি খসড়া অবস্থায় আছে এবং লাইভ ট্র্যাফিকের বিরুদ্ধে প্রয়োগ করা হয় না। এটি আপনাকে প্রভাবিত হওয়ার আগে আপনার পরিবর্তনগুলি পর্যালোচনা করার সুযোগ দেয়।

যখন আপনি প্রস্তুত, তখন প্রকাশ করুন (2) ক্লিক করুন। উভয় নিয়ম অবিলম্বে সক্রিয় হয়ে যায় এবং গার্ড সমস্ত ইনকামিং ট্র্যাফিকে তাদের প্রয়োগ করা শুরু করে।

sample-guard-policy.png


গার্ড এখন কী করছে

উভয় নিয়ম প্রকাশিত হওয়ার সাথে সাথে, E2E নমুনা ব্যবহার কেস গার্ডের মাধ্যমে যেকোনো ইন্টারেকশন এখন নীতির বিরুদ্ধে মূল্যায়ন করা হয়। এটি বাস্তবে দেখতে এমনই দেখাচ্ছে:

একজন ব্যবহারকারী TravelBot-এ একটি বার্তা পাঠায়। বার্তাটি LLM এ পৌঁছানোর আগে, গার্ড উভয় নিয়মের বিরুদ্ধে এটি পরিদর্শন করে:

  • যদি বার্তাটি একটি পায়েলব্রেক প্যাটার্ন বা গোপনীয়তা বের করার প্রয়াস থাকে, গার্ড এটি নাম-গোপন করে এবং ব্লক করে। LLM কখনও বার্তাটি দেখেনা, এবং ব্যবহারকারী একটি ব্লকড প্রতিক্রিয়া পায়।
  • যদি বার্তাটি মেডিকেল পরামর্শ বা স্বাস্থ্য সম্পর্কিত সামগ্রী অন্তর্ভুক্ত করে, গার্ড এটি যেতে দেয় কিন্তু পর্যালোচনার জন্য ইন্টারএকশনটি লগ করে।
  • যদি বার্তাটি কোনও নিয়মের সাথে মেলে না, এটি প্রভাবিত না করে LLM এ পাস হয়ে যায়।

একই মূল্যায়ন সহকারীর প্রতিক্রিয়া, টুল ইনপুট এবং টুল আউটপুটগুলিতেও প্রযোজ্য হয়, প্রতিটি নিয়মের জন্য কনফিগার করা দিকের উপর নির্ভর করে।


নিয়মগুলি সক্রিয় কিনা যাচাই করা হচ্ছে

নিশ্চিত করতে যে নিয়মগুলি সক্রিয় এবং আপনার গার্ডে প্রযোজ্য, আপনার গার্ডের সংক্ষিপ্ত বিবরণ পৃষ্ঠাতে যান। সক্রিয় নিয়মগুলির অধীনে, আপনি এখন উভয় নিয়ম তালিকাভুক্ত দেখতে পাবেন। সময়ের সাথে সাথে ইন্টারঅ্যাকশনের চার্ট এবং ভঙ্গের বিশ্লেষণ প্যানেল গার্ডের মাধ্যমে ট্র্যাফিক প্রবাহিত হওয়ার সাথে সাথে পূরণ হতে শুরু করবে এবং সনাক্তকরণ ঘটবে।

আপনি গার্ড লগিং এও যেতে পারেন ব্যক্তিগত সেশন পর্যালোচনা করতে, দেখতে কোন নিয়মগুলি কার্যকর হয়েছে, এবং পরিচিহ্নিত ইন্টারঅ্যাকশনের বিবরণ পরীক্ষা করতে — অনুমোদনের প্রাপ্ত থাকলে সংবেদনশীল সামগ্রী দেখার জন্য।


সারসংক্ষেপ

নিয়ম ইঞ্জিন প্রোফাইল কার্য দিক
কিছু ট্র্যাফিক ব্লক করুন গোপনীয়তা ও পায়েলব্রেক নাম-গোপন ও ব্লক ব্যবহারকারী, টুল ইনপুট
সম্ভবত ক্ষতিকারক ডেটা মনিটর করুন মেডিকেল পরামর্শ বা ডেটা মনিটর সব দিক

এই দুটি নিয়ম স্থাপন করার সাথে, অ্যাপ্লিকেশন এখন সক্রিয় নিরাপত্তা প্রয়োগ করেছে। ক্ষতিকর প্রম্পট প্রয়াসগুলি মডেলে পৌঁছানোর পূর্বেই ব্লক করা হয়, এবং সংবেদনশীল স্বাস্থ্য সম্পর্কিত ইন্টারএকশনগুলো আপনার নিরাপত্তা দলের কাছে দৃশ্যমান — কোনো অ্যাপ্লিকেশন কোডে পরিবর্তন ছাড়াই বা আইন সম্মত পরিক্রমণের অভিজ্ঞতায় কোনো প্রভাব না ফেলেই।


এটি Cato AI সিকিউরিটি গার্ডস সহ একটি কাস্টম AI অ্যাপ্লিকেশন সুরক্ষিত করার জন্য শেষ থেকে শেষ গাইড টি সম্পন্ন করে।