मुख्य सामग्री पर जाएँ

Snowflake Cortex AI के साथ चैटबॉट कैसे बनाएं (स्टेप-बाय-स्टेप गाइड)

Snowflake Cortex AI के साथ चैटबॉट बनाना सीखें। डेटा तैयार करने, Cortex Search का उपयोग करने, और Streamlit से डिप्लॉय करने की चरण-दर-चरण गाइड।
· 12 मि॰ पढ़ें

AI के साथ खोजें

Snowflake का Cortex AI शक्तिशाली AI क्षमताएँ सीधे आपके Snowflake वातावरण में लाता है। उदाहरण के लिए, Cortex की उद्योग-अग्रणी Large Language Models (LLMs) तक पहुँच का उपयोग करके, हम ऐसे AI चैटबॉट बना सकते हैं जो संवेदनशील डेटा की सुरक्षा से समझौता किए बिना आंतरिक एंटरप्राइज़ डेटा का उपयोग करें। 

इन एकीकरणों ने पारंपरिक नियम-आधारित चैट और ऑटोमेशन से अधिक लचीली AI-संचालित चैट की ओर बदलाव को प्रेरित किया है, जो उपयोगकर्ता इनपुट को बेहतर तरीके से समझकर अधिक संपूर्ण और सटीक उत्तर दे सकती हैं।

इस ट्यूटोरियल में, मैं आपको Snowflake Cortex का उपयोग करके चैटबॉट बनाने की उच्च-स्तरीय चरणों से परिचित कराऊँगा। आप सीखेंगे कि डेटा कैसे तैयार करें, Cortex Search को कैसे कॉन्फ़िगर करें, असंरचित डेटा के लिए Document AI का उपयोग कैसे करें, Streamlit में चैटबॉट इंटरफ़ेस कैसे बनाएं, और मैं इसे बाहरी अनुप्रयोगों के साथ एकीकृत करने के विचार भी दूँगा। अंत में, आपके पास Snowflake पर वार्तालापात्मक AI डिज़ाइन करने के लिए व्यावहारिक कौशल और वैचारिक समझ दोनों होगी।

यदि आप Snowflake में नए हैं, तो गति पकड़ने के लिए Snowflake Foundations स्किल ट्रैक का पालन करने की सलाह देता हूँ। आप अपने कौशल का अभ्यास करने के लिए Snowflake का मुफ्त ट्रायल भी प्राप्त कर सकते हैं।

Snowflake Cortex क्या है?

मूल रूप से, Snowflake Cortex AI और LLM-संचालित सेवाएँ Snowflake इकोसिस्टम में लाता है। यह ट्यूटोरियल Cortex के Search Service और Document AI को आपके Snowflake डेटा के साथ एकीकृत कर एक सरल Streamlit चैटबॉट ऐप बनाने को कवर करता है, जो दस्तावेज़ फ़ाइलों को पार्स कर मौजूदा LLM मॉडलों को Cortex के retrieval augmented generation मॉडल के माध्यम से अतिरिक्त संदर्भ प्रदान करने में मदद करता है।

यह ट्यूटोरियल कवर करेगा:

  • Cortex Search चैटबॉट बनाने की तैयारी में आपका संपूर्ण Snowflake वातावरण सेट करना
  • Cortex LLM फ़ंक्शंस और Document AI का उपयोग कर दस्तावेज़ों से इनसाइट निकालना
  • Snowflake में Streamlit के साथ चैटबॉट और एनालिटिक्स ऐप बनाना
  • Cortex का उपयोग करते समय लागत संरचना और विचार

Cortex का लाभ इसके वेक्टर, कीवर्ड, और सेमांटिक रीरैंकिंग के लिए नेटिव हाइब्रिड दृष्टिकोण और RAG-आधारित प्रतिक्रिया जनरेशन में है, जो सटीकता और विशिष्टता में सुधार करता है। 

Snowflake में Streamlit के साथ चैटबॉट और एनालिटिक्स ऐप बनाना Python विकास की लचीलापन का लाभ उठाता है, जबकि संवेदनशील डेटा को आपके सुरक्षित Snowflake वातावरण के भीतर रखते हुए डेटा सुरक्षा और गवर्नेंस विनियमों पर जोर देता है। 

यदि आप Snowflake Cortex AI की क्षमताओं का अंदाज़ा लगाना चाहते हैं, तो बेसिक NLP कार्यों के लिए Cortex AI उपयोग करने वाले इस ट्यूटोरियल पर नज़र डालें, जैसे सार-संक्षेपण और भाव-विश्लेषण।

पूर्वापेक्षाएँ

बनाने से पहले, आइए आपका Snowflake अकाउंट तैयार कर लें। इस अकाउंट में, आपको निम्नलिखित परमिशन चाहिए होंगी:

  • वेयरहाउस बनाने की अनुमति और USAGE परमिशन
  • डेटाबेस परमिशन: USAGE
  • स्कीमा परमिशन: USAGE, CREATE STREAMLIT, CREATE STAGE, CREATE CORTEX SEARCH SERVICE या OWNERSHIP
  • Document AI का उपयोग करने की क्षमता, उचित अकाउंट-स्तरीय परमिशन के साथ। अधिकांश मामलों में, आप Snowflake की बिल्ट-इन भूमिकाएँ (जैसे, ACCOUNTADMIN, SYSADMIN) या एक कस्टम भूमिका का उपयोग करेंगे, जिसमें:
    • USAGE डेटाबेस और स्कीमा पर
    • CREATE CORTEX SEARCH SERVICE
    • OPERATE सर्च सर्विस ऑब्जेक्ट पर, उसके बन जाने के बाद
  • Cortex के लिए, आम तौर पर आपको CORTEX_USER भूमिका की ज़रूरत होगी, सेवाओं के साथ इंटरैक्ट करने हेतु ऑब्जेक्ट-स्तरीय ग्रांट्स (USAGE, OPERATE) के साथ।

आदर्श रूप से, आपको SQL, Python, और बुनियादी AI संकल्पनाओं से कुछ परिचय होना चाहिए। Snowflake वातावरण और डेटा नेविगेट करने के लिए आपको SQL समझनी होगी। Streamlit ऐप बनाने के लिए आपको Python का ज्ञान चाहिए। AI की बुनियादी समझ हमें अपने Cortex Search Service के घटकों को समझने में मदद करेगी।

टूल्स की दृष्टि से, हम Snowflake के Snowsight पर ध्यान देंगे जो उनका वेब ब्राउज़र है। यदि आप इसे लोकली बनाना चाहते हैं, तो आपको अपना IDE/टेक्स्ट एडिटर चाहिए होगा। 

हालाँकि हम कुछ डेटा सैंपल प्रदान करने की कोशिश करेंगे, आदर्श रूप से आपके पास कोई टेस्ट कॉर्पस और डेटासेट होना चाहिए जिस पर आप काम करना चाहते हैं। यदि आपके पास कुछ नहीं है, तो मैं इस ट्यूटोरियल के लिए Federal Open Market Committee की बैठक के मिनट्स की सिफारिश करता हूँ (Snowflake से स्रोत): FOMC मिनट्स सैंपल.

Snowflake Cortex में चैटबॉट कैसे बनाएं

ठीक है, निर्माण शुरू करें! इन निर्देशों में से कुछ थोड़े सामान्य हो सकते हैं ताकि हम कई तरह के विकल्पों को समायोजित कर सकें।

चरण 1: Snowflake डेटाबेस, स्कीमा, और वेयरहाउस सेटअप

सबसे पहले, हम अपने चैटबॉट प्रोजेक्ट के लिए आवश्यक वातावरण बनाएँगे।

-- Create a dedicated warehouse
CREATE OR REPLACE WAREHOUSE cortex_wh 
  WITH WAREHOUSE_SIZE = 'XSMALL' 
  AUTO_SUSPEND = 60 
  AUTO_RESUME = TRUE;

-- Create a database and stage
CREATE OR REPLACE DATABASE cortex_chatbot_db;
CREATE OR REPLACE STAGE cortex_chatbot_db.public.chatbot_stage;

-- Switch context
USE DATABASE cortex_chatbot_db;
USE WAREHOUSE cortex_wh;

यह सुनिश्चित करता है कि सभी संसाधन अलग-थलग और लागत-प्रबंधित रहें।

चरण 2: डेटा लोड और तैयार करें

आपके चैटबॉट को प्रश्नों के उत्तर देने के लिए डेटा चाहिए। यह हो सकता है:

  • संरचित डेटा: ग्राहक जानकारी, ट्रांज़ैक्शन लॉग, प्रोडक्ट कैटलॉग।
  • असंरचित डेटा: PDFs, FAQs, नीतियाँ, नॉलेज बेस।

यदि आपको डेटा इनजेशन और Snowflake में डेटा लाने के तरीकों पर अधिक जानकारी चाहिए, तो इस डेटा इनजेशन गाइड पर नज़र डालें।

उदाहरण: CSV फ़ाइल को स्टेज करना और लोड करना।

-- Upload data (done via Snowsight UI or SnowSQL)
-- Example: product_faq.csv

-- Load into a table
CREATE OR REPLACE TABLE cortex_chatbot_db.public.chatbot_stage.product_faq (
  question STRING,
  answer STRING
);

COPY INTO product_faq
FROM @chatbot_stage/product_faq.csv
FILE_FORMAT = (TYPE = CSV FIELD_OPTIONALLY_ENCLOSED_BY='"');

असंरचित डेटा (जैसे, PDFs) के लिए, आप उन्हें Cortex Document AI का उपयोग कर प्रोसेस कर सकते हैं। अगले चरण में हम Cortex Document AI का उपयोग करके असंरचित डेटा स्रोतों से डेटा निकालने के तरीके पर बात करेंगे।

हम अपने संरचित और असंरचित दोनों डेटा को छोटे-छोटे हिस्सों (चंक्स) में बाँटना चाहते हैं और आवश्यकतानुसार कुछ मेटाडेटा संलग्न करना चाहते हैं ताकि RAG के लिए यह अधिक कुशल हो।

चरण 3: Document AI प्रशिक्षण और दस्तावेज़ पार्सिंग

आइए Document AI का उपयोग करके दस्तावेज़ों को पार्स करने के लिए एक ट्यून किया हुआ मॉडल बनाने पर जाएँ। ध्यान दें, यह वैकल्पिक है और मैं आपको पार्सिंग के लिए डिफ़ॉल्ट Snowflake मॉडलों को आज़माने के लिए प्रोत्साहित करता हूँ, क्योंकि ये प्रोडक्शन-रेडी हैं और OCR, लेआउट एक्सट्रैक्शन, और टेबल डिटेक्शन संभालते हैं। आप आज Cortex Document AI में सीधे कस्टम मॉडल “ट्रेन” नहीं करते, लेकिन आप अपने डेटा के अनुरूप एक्सट्रैक्शन मोड (जैसे, एंटिटी एक्सट्रैक्शन, टेबल एक्सट्रैक्शन) कॉन्फ़िगर कर सकते हैं।

डिफ़ॉल्ट पार्सर से सरलता से शुरू करें, और केवल तब उन्नत कॉन्फ़िगरेशन जोड़ें जब आपके दस्तावेज़ों का फ़ॉर्मेट जटिल या अनियमित हो।

Snowsight में, नेविगेशन मेनू खोलें और AI & ML पर जाएँ। हमारे cortex_wh को चुनें और फिर “Build” पर क्लिक करें। वहाँ से “Create” चुनें। 

बिल्ड बनाने के बाद, हम अपने दस्तावेज़ अपलोड करते हैं। प्रोसेसिंग पूरी होने पर, हम एंटिटी एक्सट्रैक्शन या टेबल एक्सट्रैक्शन का उपयोग करके डेटा निकालने पर काम कर सकते हैं। एंटिटी एक्सट्रैक्शन आपको अपने दस्तावेज़ से प्रश्न पूछकर डेटा प्राप्त करने देता है, टेबल एक्सट्रैक्शन आपके दस्तावेज़ में परिभाषित फ़ील्ड्स के आधार पर डेटा पार्स करता है। 

मॉडल बन जाने के बाद, हम इसकी सटीकता का मूल्यांकन करना चाहते हैं और आवश्यकता अनुसार मॉडल को ट्रेन करना चाहते हैं। मॉडल का प्रशिक्षण इसे आपके विशेष दस्तावेज़ संरचना के लिए फाइन-ट्यून करता है। अब हम इस मॉडल या अपने डिफ़ॉल्ट मॉडल का उपयोग दस्तावेज़ों को पार्स करने के लिए कर सकते हैं। फिलहाल, हम Snowflake के डिफ़ॉल्ट AI पार्सर पर टिके रहेंगे।

CREATE OR REPLACE TABLE cortex_chatbot_db.public.chatbot_stage.doc_data AS --create the table
SELECT
    RELATIVE_PATH,
    TO_VARCHAR (
        SNOWFLAKE.CORTEX.PARSE_DOCUMENT ( --using default cortex parser
            '@cortex_chatbot.public.chatbot_stage',
            RELATIVE_PATH,
            {'mode': 'LAYOUT'} ):content
        ) AS EXTRACTED_LAYOUT
FROM
    DIRECTORY('@cortex_chatbot.public.chatbot_stage') --pull the files from the stage
WHERE
    RELATIVE_PATH LIKE '%.pdf'; --specifically just PDFs

अब हमारा डेटा एक टेबल में होगा और ट्रांसफ़ॉर्मेशन के लिए तैयार होगा।

चरण 4: डेटा ट्रांसफ़ॉर्मेशन और फीचर एक्सट्रैक्शन

चैटबॉट इंटरैक्शन के लिए डेटा तैयार करने हेतु, दस्तावेज़ों को चंक्स में बाँटना और मेटाडेटा से समृद्ध करना आवश्यक है। चंकिंग Cortex Search को अधिक सटीक बनाती है।

	CREATE OR REPLACE TABLE cortex_chatbot_db.public.chatbot_stage.doc_chunks AS
	SELECT
	    relative_path,
	    BUILD_SCOPED_FILE_URL(@cortex_chatbot.public.chatbot_stage, relative_path) AS file_url,
	    (
	        relative_path || ':\n'
	        || coalesce('Header 1: ' || c.value['headers']['header_1'] || '\n', '')
	        || coalesce('Header 2: ' || c.value['headers']['header_2'] || '\n', '')
	        || c.value['chunk']
	    ) AS chunk,
	    'English' AS language
	FROM
	cortex_chatbot_db.public.chatbot_stage.doc_data
	    LATERAL FLATTEN(SNOWFLAKE.CORTEX.SPLIT_TEXT_MARKDOWN_HEADER(
	        EXTRACTED_LAYOUT,
	        OBJECT_CONSTRUCT('#', 'header_1', '##', 'header_2'),
	        2000, -- chunks of 2000 characters
	        300 -- 300 character overlap
	    ))  c;

यह SQL काफ़ी कुछ कर रहा है, तो मैं सारांश दे देता हूँ। यह प्रत्येक फ़ाइल को लेकर टेक्स्ट को 2000 अक्षरों के चंक्स में समतल कर रहा है। 

छोटे हिस्सों में चंकिंग करने से सर्च की दक्षता बढ़ती है। फिर यह डेटा के भीतर कुछ हैडर जानकारी (जैसे शीर्षक) जोड़ता है ताकि मॉडल को इस डेटा के स्रोत का संदर्भ मिल सके।

यह आपके डेटा को सर्च करने योग्य बनाता है और retrieval-augmented generation (RAG) के लिए तैयार करता है।

चरण 5: Cortex Search या एजेंट बनाएँ और कॉन्फ़िगर करें

आइए अपना Cortex Search Agent बनाएँ, जो मुख्य सेवा होगी जो चंक्स में खोज कर प्रतिक्रिया के लिए संदर्भ निकालेगी।

CREATE OR REPLACE CORTEX SEARCH SERVICE cortex_chatbot_db.public.chatbot_stage.cortex_serv
    ON chunk
    ATTRIBUTES category
    WAREHOUSE = cortex_wh
    TARGET_LAG = '1 hour'
    AS (
    SELECT
        chunk,
        relative_path,
        file_url,
        category
    FROM cortex_chatbot_db.public.chatbot_stage.doc_chunks
    );

यह एक प्रारंभिक सेवा बनाएगा जो attributes फ़ील्ड भी परिभाषित करता है, जिसमें आप वे कॉलम चुनते हैं जिनका उपयोग आप सर्च परिणाम फ़िल्टरिंग के लिए करना चाहते हैं। यहाँ, मैंने “category” चुना है ताकि हम सैद्धांतिक रूप से विभिन्न प्रोडक्ट श्रेणियों पर फ़िल्टर कर सकें। इसके लिए, मैंने chunk कॉलम को चुना है जिसमें हमारा चंक किया हुआ टेक्स्ट होना चाहिए।

Cortex Search डिफ़ॉल्ट रूप से हाइब्रिड वेक्टर + कीवर्ड सर्च करता है, जिससे चैटबॉट की सटीकता बढ़ती है। इसके साथ, हम किसी सेमांटिक मॉडल का उपयोग कर आगे संदर्भ जोड़ सकते हैं। यदि आप अद्वितीय वाक्यांशों या तकनीकी संक्षेपाक्षरों की उम्मीद करते हैं, तो आप Cortex Analyst सेमांटिक मॉडल जेनरेटर का उपयोग करके एक सेमांटिक मॉडल YAML फ़ाइल कॉन्फ़िगर कर सकते हैं। यह आपको मॉडल को संदर्भ और पर्यायवाची प्रदान करने देगा ताकि वह “CUST” को “customer” के रूप में भी पहचान सके। 

यह RAG वर्कफ़्लोज़ सक्षम करता है, जहाँ चैटबॉट उत्तर जनरेट करने से पहले प्रासंगिक संदर्भ प्राप्त करता है।

चरण 6: Streamlit के साथ चैटबॉट एप्लिकेशन बनाएँ

अब Streamlit का उपयोग करके Snowflake के अंदर एक बहुत सरल चैटबॉट फ्रंट-एंड बनाते हैं। आपको अपना चैटबॉट एप्लिकेशन बनाने के लिए Snowsight में “Streamlit in Snowflake” ऐप ढूँढना होगा। यह Snowpark का उपयोग कर आपके Snowflake से कनेक्ट होता है। 

यदि आप सामान्य रूप से चैटबॉट बनाने पर जानकारी चाहते हैं, तो पहले इस कोर्स से गुज़रने की सलाह देता हूँ: Python में चैटबॉट बनाना। 

पहले, हम उपयोगकर्ता को Session.builder का उपयोग करके Snowflake से कनेक्ट होने देते हैं। फिर, किसी विशेष इनपुट को हम SNOWFLAKE.CORTEX.SEARCH के लिए क्वेरी के रूप में प्रदान करते हैं। 

import streamlit as st
import snowflake.connector
from snowflake.snowpark import Session

# Connect to Snowflake
session = Session.builder.configs({
    "account": "<account_id>",
    "user": "<username>",
    "password": "<password>",
    "role": "SYSADMIN",
    "warehouse": "CORTEX_WH",
    "database": "CORTEX_CHATBOT",
    "schema": "PUBLIC"
}).create()

st.title("Snowflake Cortex Chatbot")

user_input = st.text_input("Ask me a question:")

if user_input:
    # Query Cortex Search
    result = session.sql(f"""
        SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH(
            chatbot_serv',
                 '{
         "query": "{user_input}",
         "columns":[
            "col1",
            "col2"
         ],
         "filter": {"@eq": {"col1": "filter value"} }
      }'
)
)[‘results’] AS results
    """).collect()

    st.write("**Chatbot:**", result[0]['RESPONSE'])

यह बेसिक चैटबॉट Cortex Search इंडेक्स से प्रासंगिक जानकारी रियल-टाइम में प्राप्त कर उत्तर लौटाता है। आप सेशन चैट हिस्ट्री को मेमोरी में स्टोर करने की क्षमता जोड़कर मल्टी-टर्न (संवादी) चैटबॉट भी बना सकते हैं। यह मौजूदा सर्च सर्विस का उपयोग कर Streamlit में नैटिवली किया जा सकता है।

चरण 7: REST API एंडपॉइंट्स के माध्यम से इंप्लिमेंटेशन

चैटबॉट को बाहरी ऐप्स (जैसे, वेबसाइट, Slack बॉट्स) में एकीकृत करने के लिए Snowflake REST API का उपयोग करें। आम तौर पर, URL कुछ इस प्रकार दिखेगा: https://<account_url>/api/v2/databases/<db_name>/schemas/<schema_name>/cortex-search-services/<service_name>:query।

इन APIs के लिए सुरक्षा कारणों से प्रमाणीकरण आवश्यक है, जिसका अर्थ है कि यह आपके Snowflake वातावरण तक पहुँच रखने वाले उपयोगकर्ताओं तक सीमित है। यह API-प्रथम दृष्टिकोण चैटबॉट क्षमताओं को अधिक लचीले ढंग से और व्यापक दर्शकों तक एम्बेड करने की अनुमति देता है। 

एक उपयोग केस यह हो सकता है कि एक आंतरिक टूल बनाया जाए जिसे वेब सर्वर पर होस्ट किया जा सके, जो उपयोगकर्ताओं को तिमाही वित्तीय रिपोर्ट या मीटिंग नोट्स जैसे दस्तावेज़ों के बारे में प्रश्न पूछने की अनुमति देता है। इन एकीकरणों के लिए API अनुरोध करने वाले टूल्स का कुछ विकास आवश्यक होगा।

चरण 8: परीक्षण और वैधता जाँच

व्यापक रूप से डिप्लॉय करने से पहले, चैटबॉट का निम्न के लिए परीक्षण करें:

  • सटीकता – क्या यह सही उत्तर प्राप्त करता है?
  • गति – क्या विलंबता स्वीकार्य है?
  • उपयोगिता – क्या इंटरफ़ेस सहज है?

आप क्वेरी लॉग कर सकते हैं और बेंचमार्किंग के लिए ज्ञात ग्राउंड ट्रुथ के विरुद्ध आउटपुट की तुलना कर सकते हैं। अक्सर प्रश्नों का एक सेट होता है जिनके निर्धारित उत्तर होते हैं, और सटीकता के लिए तुलना करने हेतु अन्य मॉडलों का उपयोग किया जाता है। 

चरण 9: क्लीन अप (वैकल्पिक)

लागत प्रबंधन और गवर्नेंस बनाए रखने के लिए, अनुपयोगी संसाधनों को ड्रॉप करें।

	DROP WAREHOUSE IF EXISTS cortex_wh;
	DROP DATABASE IF EXISTS cortex_chatbot;
	DROP STAGE IF EXISTS chatbot_stage;

अतिरिक्त संकल्पनाएँ और सर्वोत्तम प्रथाएँ

आइए अपने चैटबॉट के फ़ंक्शन में थोड़ा संदर्भ जोड़ें और कुछ सर्वोत्तम प्रथाओं पर बात करें।

Snowflake Cortex में Retrieval Augmented Generation (RAG)

RAG एक तकनीक है जिसका उपयोग कई बड़े भाषा मॉडल अपनी मूल जानकारी को बाहरी ज्ञान से समृद्ध करने के लिए करते हैं। 

Snowflake Cortex आपके एंटरप्राइज़ डेटा को आपके चैटबॉट के संदर्भ में जोड़ता है, जिससे वह अतिरिक्त संदर्भ का उपयोग कर उत्तर प्रदान कर सकता है। वेक्टर और कीवर्ड सर्च के मिश्रण का उपयोग कर, यह प्रॉम्प्ट को संदर्भ डेटा के साथ पार्स करता है और सेमांटिक रीरैंकिंग का प्रयोग कर सबसे प्रासंगिक दस्तावेज़ चुनता है ताकि सन्दर्भित उत्तर दिया जा सके। 

इसका मतलब यह भी है कि यह उपयोगकर्ता को मैन्युअली वेक्टर, समानता फ़ंक्शंस, और एम्बेडिंग बनाने के बजाय एकल Cortex Search इंजन के माध्यम से RAG के इम्प्लीमेंटेशन को सरल बनाता है। RAG की शक्ति हमें तकनीकी डॉक्यूमेंटेशन के लिए उपयुक्त चैटबॉट जैसे समाधान बनाने देती है।

Snowflake चैटबॉट्स के लिए प्रॉम्प्ट इंजीनियरिंग

प्रॉम्प्ट इंजीनियरिंग यह सुनिश्चित करने के लिए महत्वपूर्ण है कि कोई भी चैटबॉट उपयोगकर्ता प्रश्नों के उपयुक्त उत्तर दे। प्रॉम्प्ट इंजीनियरिंग की अच्छी समझ होना आपके चैट सर्विस से अच्छे उत्तर पाने के लिए अहम है। 

बेहतर उत्तर लाने में उपयोगकर्ताओं को एक उपयोग-मार्गदर्शिका देना मददगार होता है, जो उन्हें बेहतर प्रश्न गढ़ने में सहायता करे।

आप Cortex सेवा को सबमिट करने से पहले उपयोगकर्ता क्वेरीज़ में प्रॉम्प्ट टेम्पलेट भी जोड़ सकते हैं। प्रॉम्प्ट टेम्पलेट मॉडल को सुसंगत संदर्भ प्रदान करने में मदद करते हैं ताकि वह उत्तर देने के लिए सही जानकारी का उपयोग करे। 

एंटरप्राइज़ डेटा के लिए उपयोगी एक उदाहरण टेम्पलेट हो सकता है: "आप कंपनी के ऐतिहासिक डेटा के लिए एक सहायक सहायक हैं। केवल कंपनी नॉलेज बेस के आधार पर उत्तर दें।" इससे मॉडल उत्तरों के लिए एंटरप्राइज़ डेटा पर ध्यान केंद्रित करेगा।

आपको कभी-कभी अस्पष्ट प्रश्न या उपयोगकर्ता इनपुट भी मिलेंगे। मॉडल को उत्तर देने के लिए बाध्य करने के बजाय, आप अपने टेम्पलेट में कुछ इस तरह जोड़ सकते हैं: "यदि उपयोगकर्ता अस्पष्ट प्रश्न पूछे, तो यह उत्तर दें: मुझे इसका उत्तर नहीं पता।" यह उन्हें अधिक विशिष्ट प्रश्न पूछने के लिए प्रेरित कर सकता है।

इंप्लिमेंटेशन में लचीलापन और विकल्प

Snowflake Cortex प्री-बिल्ट LLMs (तेज़, प्रोडक्शन-रेडी) और कस्टम मॉडल (डोमेन-फ़ाइन-ट्यून) दोनों का समर्थन करता है। इन्हें सेवा बनाते समय परिभाषित किया जा सकता है। साथ ही, अपने स्वयं के कस्टम सेमांटिक मॉडल जोड़ने से उस उद्योग/एंटरप्राइज़-विशिष्ट संदर्भ का समावेश होता है जो अन्यथा मॉडल के लिए अस्पष्ट हो सकता है—बिना बड़ा कॉर्पस फ़ीड किए। यह लचीलापन भविष्य में मॉडल इंटीग्रेशन की अनुमति देता है।

सुरक्षा, गवर्नेंस, और अनुपालन

Cortex Snowflake द्वारा दी गई वही रोल-आधारित एक्सेस कंट्रोल, ऑडिट लॉगिंग, और एन्क्रिप्शन का पालन करता है। यह HIPAA, GDPR और अन्य विनियमों के अनुपालन को सुनिश्चित करता है। आपकी मुख्य ज़िम्मेदारी यह सुनिश्चित करना होगी कि सही लोगों के पास सही भूमिकाएँ हों।

लागत संरचना

Snowflake Cortex खपत-आधारित मूल्य निर्धारण मॉडल का उपयोग करता है। अन्य Snowflake उत्पादों की तरह, आप compute और storage के लिए शुल्क देते हैं, लेकिन Cortex Search के लिए कुछ अतिरिक्त स्तर हैं। आप इनके लिए भुगतान करते हैं:

  • वर्चुअल वेयरहाउस कंप्यूट: यह मुख्य compute उपयोग है, जो Snowflake डेटा पर क्वेरियों को प्रोसेस करता है और क्रेडिट्स खपत करता है
  • EMBED_TEXT टोकन उपयोग: दस्तावेज़ों के डेटा प्रोसेसिंग के दौरान, Snowflake Cortex टोकन एम्बेडिंग संभालता है, और जब दस्तावेज़ जोड़े या बदले जाते हैं तो आपसे शुल्क लिया जाता है
  • सर्विंग कंप्यूट: Cortex Search Service स्वयं उपयोगकर्ता को कम विलंबता और उच्च थ्रूपुट सेवा प्रदान करने के लिए सर्विंग कंप्यूट का उपयोग करता है। यह वर्चुअल वेयरहाउस कंप्यूट से अलग है और तब भी शुल्क लेता है जब सेवा उपलब्ध हो, न कि केवल उपयोग होने पर
  • स्टोरेज सेमांटिक इंडेक्स और स्टेज्ड डेटा के लिए।
  • क्लाउड सर्विस कंप्यूट: ये Snowflake-स्तरीय लागतें हैं जो Snowflake को बेस ऑब्जेक्ट्स में बदलाव पहचानने देती हैं। यह तभी बिल किया जाता है जब यह लागत दैनिक वेयरहाउस लागत के 10% से अधिक हो।

लागत प्रबंधन के लिए निम्न तकनीकों को आज़माएँ:

  • Snowflake MEDIUM या उससे छोटे वेयरहाउस का उपयोग करने की अनुशंसा करता है
  • टोकन उपयोग की निगरानी करें और उपयोग कोटा सेट करें।
  • अनुपयोगी इंडेक्स आर्काइव करें या यदि नवीनतम दस्तावेज़ आवश्यक नहीं हैं तो डेटा फ़्रेशनस लैग अधिक रहने दें
  • जब सेवा की आवश्यकता न हो तो उसे सस्पेंड करें। इसे टाइमर पर सेट करना उपयोगी हो सकता है जो उपयोग न होने पर उसे ऑन/ऑफ़ कर दे।

निष्कर्ष

Snowflake Cortex के साथ चैटबॉट बनाना, Data Cloud पर सीधे एंटरप्राइज़-विशिष्ट वार्तालापात्मक AI को अनलॉक करता है। इनजेशन से लेकर रिट्रीवल तक और डिप्लॉयमेंट तक, आप पूरी तरह Snowflake के गवर्न्ड वातावरण में काम कर सकते हैं। ये चैटबॉट्स ऑनबोर्डिंग को सुव्यवस्थित करने, गहन विश्लेषणात्मक प्रश्नों के उत्तर देने, और तकनीकी डॉक्यूमेंटेशन बनाने में मदद कर सकते हैं।

Cortex RAG-संचालित चैटबॉट्स सक्षम करता है जो LLMs को आपके अपने डेटा के साथ संयोजित करते हैं। Snowflake में Streamlit के साथ चैटबॉट बनाना Snowflake के भीतर ही यूज़र-फ्रेंडली इंटरफ़ेस तैनात करना आसान बनाता है। सुरक्षा, गवर्नेंस, और लागत प्रबंधन वर्कफ़्लो में निहित हैं। Cortex के साथ, संगठन पारंपरिक BI डैशबोर्ड से बुद्धिमान असिस्टेंट्स की ओर विकसित हो सकते हैं जो डेटा के साथ वार्तालापात्मक ढंग से संलग्न होते हैं।

Snowflake और इसकी AI क्षमताओं पर अधिक जानकारी के लिए, निम्न संसाधनों को देखें:

Snowflake Cortex चैटबॉट FAQs

व्यावसायिक इंटेलिजेंस के लिए Snowflake Cortex का उपयोग करने के मुख्य लाभ क्या हैं?

Cortex गैर-तकनीकी उपयोगकर्ताओं को प्राकृतिक भाषा में प्रश्न पूछकर SQL-चलित उत्तर प्राप्त करने की सुविधा देकर एनालिटिक्स को सरल बनाता है। यह मैनुअल क्वेरी लेखन को समाप्त करता है, BI बाधाओं को कम करता है, और तेज़ इनसाइट्स सक्षम करता है। साथ ही, सभी परिणाम Snowflake की सुरक्षा, लिनिएज, और एक्सेस कंट्रोल्स को विरासत में लेते हैं।

क्या Snowflake Cortex Analyst जटिल मल्टी-टेबल क्वेरियों को संभाल सकता है?

हाँ। Cortex Analyst मल्टी-टेबल जॉइन्स का समर्थन करता है और स्कीमाओं में तर्क कर सकता है, बशर्ते संबंध स्पष्ट हों और मेटाडेटा अच्छी तरह परिभाषित हो। उचित दस्तावेज़ीकरण, सेमांटिक मॉडल, और डेटा गवर्नेंस प्रथाएँ जटिल क्वेरियों की सटीकता में सुधार करती हैं।

Snowflake, Cortex Analyst द्वारा उपयोग किए गए डेटा की सुरक्षा और गवर्नेंस कैसे सुनिश्चित करता है?

Cortex Analyst Snowflake वातावरण के अंदर चलता है, यह सुनिश्चित करते हुए कि संवेदनशील डेटा प्लेटफ़ॉर्म से कभी बाहर न जाए। यह रोल-आधारित एक्सेस कंट्रोल (RBAC), ऑब्जेक्ट टैगिंग, मास्किंग नीतियों, और ऑडिट लॉगिंग का सम्मान करता है, ताकि AI-संचालित इनसाइट्स पारंपरिक क्वेरियों के समान अनुपालन नियमों का पालन करें।

फ़ॉलो-अप प्रश्नों को संभालने में Snowflake Cortex Analyst की सीमाएँ क्या हैं?

Cortex Analyst सिंगल-टर्न क्वेरियों के लिए मजबूत है, लेकिन पूर्ण चैटबॉट फ़्रेमवर्क्स की तुलना में मल्टी-टर्न वार्तालापों के लिए सीमित मेमोरी रखता है। उन्नत संवाद या सन्दर्भात्मक फ़ॉलो-अप के लिए, Cortex Analyst को Cortex Search या Streamlit पर बने कस्टम चैटबॉट के साथ पेयर करना बेहतर परिणाम देता है।

क्या व्यवसाय Snowflake Cortex के पीछे के मॉडलों को कस्टमाइज़ या फाइन-ट्यून कर सकते हैं?

हालाँकि Cortex मुख्यतः Snowflake-प्रबंधित LLMs का उपयोग करता है, यह सेमांटिक मॉडल, प्रॉम्प्ट टेम्पलेट्स, और रिट्रीवल पाइपलाइन्स के माध्यम से कॉन्फ़िगरेशन की अनुमति देता है। गहरी कस्टमाइज़ेशन के लिए, Cortex ज़रूरत पड़ने पर Snowpark Python या APIs के माध्यम से बाहरी मॉडलों के साथ इंटीग्रेट कर सकता है।

Tim Lu

लेखक

Tim Lu

मैं एक डेटा साइंटिस्ट हूँ, जिसे स्पैटियल विश्लेषण, मशीन लर्निंग और डेटा पाइपलाइनों का अनुभव है। मैंने GCP, Hadoop, Hive, Snowflake, Airflow और अन्य डेटा साइंस/इंजीनियरिंग प्रक्रियाओं के साथ काम किया है।

विषय