"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैंने स्नोफ्लेक (SiS) में स्ट्रीमलिट का उपयोग करके एक टोकन काउंट चेक ऐप बनाया

मैंने स्नोफ्लेक (SiS) में स्ट्रीमलिट का उपयोग करके एक टोकन काउंट चेक ऐप बनाया

2024-11-08 को प्रकाशित
ब्राउज़ करें:943

परिचय

हैलो, मैं स्नोफ्लेक में सेल्स इंजीनियर हूं। मैं अपने कुछ अनुभव और प्रयोग विभिन्न पोस्ट के माध्यम से आपके साथ साझा करना चाहता हूं। इस लेख में, मैं आपको दिखाऊंगा कि टोकन गिनती की जांच करने और कॉर्टेक्स एलएलएम के लिए लागत का अनुमान लगाने के लिए स्नोफ्लेक में स्ट्रीमलिट का उपयोग करके एक ऐप कैसे बनाया जाए।

नोट: यह पोस्ट मेरे व्यक्तिगत विचारों का प्रतिनिधित्व करती है न कि स्नोफ्लेक के।

स्नोफ्लेक (SiS) में स्ट्रीमलाइट क्या है?

स्ट्रीमलाइट एक पायथन लाइब्रेरी है जो आपको HTML/CSS/जावास्क्रिप्ट की आवश्यकता को समाप्त करते हुए सरल पायथन कोड के साथ वेब यूआई बनाने की अनुमति देती है। आप ऐप गैलरी में उदाहरण देख सकते हैं।

स्नोफ्लेक में स्ट्रीमलाइट आपको सीधे स्नोफ्लेक पर स्ट्रीमलिट वेब ऐप्स विकसित करने और चलाने में सक्षम बनाता है। केवल स्नोफ्लेक खाते के साथ इसका उपयोग करना आसान है और स्नोफ्लेक टेबल डेटा को वेब ऐप्स में एकीकृत करने के लिए यह बढ़िया है।

स्नोफ्लेक में स्ट्रीमलाइट के बारे में (आधिकारिक स्नोफ्लेक दस्तावेज़ीकरण)

स्नोफ्लेक कॉर्टेक्स क्या है?

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

बड़े भाषा मॉडल (एलएलएम) फ़ंक्शन (स्नोफ्लेक कॉर्टेक्स) (आधिकारिक स्नोफ्लेक दस्तावेज़ीकरण)

फ़ीचर अवलोकन

छवि

I made a token count check app using Streamlit in Snowflake (SiS)

नोट: छवि में पाठ रयुनोसुके अकुतागावा द्वारा लिखित "द स्पाइडर थ्रेड" से है।

विशेषताएँ

  • उपयोगकर्ता कॉर्टेक्स एलएलएम मॉडल का चयन कर सकते हैं
  • उपयोगकर्ता-इनपुट टेक्स्ट के लिए वर्ण और टोकन गणना प्रदर्शित करें
  • टोकन और वर्णों का अनुपात दिखाएं
  • स्नोफ्लेक क्रेडिट मूल्य निर्धारण के आधार पर अनुमानित लागत की गणना करें

नोट: कॉर्टेक्स एलएलएम मूल्य निर्धारण तालिका (पीडीएफ)

आवश्यक शर्तें

  • कॉर्टेक्स एलएलएम एक्सेस के साथ स्नोफ्लेक खाता
  • स्नोफ्लेक-एमएल-पायथन 1.1.2 या बाद का संस्करण

नोट: कॉर्टेक्स एलएलएम क्षेत्र की उपलब्धता (आधिकारिक स्नोफ्लेक दस्तावेज़ीकरण)

सोर्स कोड

import streamlit as st
from snowflake.snowpark.context import get_active_session
import snowflake.snowpark.functions as F

# Get current session
session = get_active_session()

# Application title
st.title("Cortex AI Token Count Checker")

# AI settings
st.sidebar.title("AI Settings")
lang_model = st.sidebar.radio("Select the language model you want to use",
                              ("snowflake-arctic", "reka-core", "reka-flash", 
                              "mistral-large2", "mistral-large", "mixtral-8x7b", "mistral-7b", 
                              "llama3.1-405b", "llama3.1-70b", "llama3.1-8b", 
                              "llama3-70b", "llama3-8b", "llama2-70b-chat", 
                              "jamba-instruct", "gemma-7b")
)

# Function to count tokens (using Cortex's token counting function)
def count_tokens(model, text):
    result = session.sql(f"SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS('{model}', '{text}') as token_count").collect()
    return result[0]['TOKEN_COUNT']

# Token count check and cost calculation
st.header("Token Count Check and Cost Calculation")

input_text = st.text_area("Select a language model from the left pane and enter the text you want to check for token count:", height=200)

# Let user input the price per credit
credit_price = st.number_input("Enter the price per Snowflake credit (in dollars):", min_value=0.0, value=2.0, step=0.01)

# Credits per 1M tokens for each model (as of 2024/8/30, mistral-large2 is not supported)
model_credits = {
    "snowflake-arctic": 0.84,
    "reka-core": 5.5,
    "reka-flash": 0.45,
    "mistral-large2": 1.95,
    "mistral-large": 5.1,
    "mixtral-8x7b": 0.22,
    "mistral-7b": 0.12,
    "llama3.1-405b": 3,
    "llama3.1-70b": 1.21,
    "llama3.1-8b": 0.19,
    "llama3-70b": 1.21,
    "llama3-8b": 0.19,
    "llama2-70b-chat": 0.45,
    "jamba-instruct": 0.83,
    "gemma-7b": 0.12
}

if st.button("Calculate Token Count"):
    if input_text:
        # Calculate character count
        char_count = len(input_text)
        st.write(f"Character count of input text: {char_count}")

        if lang_model in model_credits:
            # Calculate token count
            token_count = count_tokens(lang_model, input_text)
            st.write(f"Token count of input text: {token_count}")

            # Ratio of tokens to characters
            ratio = token_count / char_count if char_count > 0 else 0
            st.write(f"Token count / Character count ratio: {ratio:.2f}")

            # Cost calculation
            credits_used = (token_count / 1000000) * model_credits[lang_model]
            cost = credits_used * credit_price

            st.write(f"Credits used: {credits_used:.6f}")
            st.write(f"Estimated cost: ${cost:.6f}")
        else:
            st.warning("The selected model is not supported by Snowflake's token counting feature.")
    else:
        st.warning("Please enter some text.")

निष्कर्ष

यह ऐप एलएलएम वर्कलोड के लिए लागत का अनुमान लगाना आसान बनाता है, खासकर जब जापानी जैसी भाषाओं से निपटते समय, जहां अक्सर अक्षर गिनती और टोकन गिनती के बीच अंतर होता है। मुझे उम्मीद है कि आप इसे उपयोगी पाएँ!

घोषणाएं

स्नोफ्लेक एक्स पर नया अपडेट क्या है

मैं स्नोफ्लेक के व्हाट्स न्यू अपडेट्स को एक्स पर साझा कर रहा हूं। यदि आप रुचि रखते हैं तो कृपया बेझिझक फॉलो करें!

अंग्रेजी संस्करण

स्नोफ्लेक व्हाट्स न्यू बॉट (अंग्रेजी संस्करण)
https://x.com/snow_new_en

जापानी संस्करण

स्नोफ्लेक नया क्या है बॉट (जापानी संस्करण)
https://x.com/snow_new_jp

इतिहास बदलें

(20240914) प्रारंभिक पोस्ट

मूल जापानी लेख

https://zenn.dev/tsubasa_tech/articles/4dd80c91508ec4

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/tsubasa_tech/i- made-a-token-count-check-app-using-streamlit-in-snowflake-sis-2440?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3