首頁 > 科技週邊 > 人工智慧 > Llama 3.3:演示項目的分步教程

Llama 3.3:演示項目的分步教程

Christopher Nolan
發布: 2025-03-02 09:58:10
原創
954 人瀏覽過

>在此博客中,我們將構建一個多語言代碼說明應用程序,以展示Llama 3.3的功能,尤其是其在推理,按照說明,編碼和多語言支持方面的優勢。

>

此應用程序將允許用戶:

  • >輸入任何編程語言的代碼段。
  • 為解釋選擇一種語言(英語,西班牙語,法語等)。
  • >
  • 生成對代碼的初學者友好解釋。
將使用以下方式構建該應用程序

llama 3.3從擁抱臉上進行處理。
    > 用戶界面的簡化
  • 擁抱臉部推理API進行集成。
  • >我們將直接構建我們的Llama 3.3應用程序,但是如果您想先概述該模型,請在Llama 3.3上查看本指南。讓我們開始!

設置Llama 3.3

開始,我們將分為幾個步驟。首先,我們將使用擁抱面,設置您的帳戶並獲得必要的權限來介紹如何訪問Llama 3.3。然後,我們將創建項目環境並安裝所需的依賴項。

>

>在擁抱臉上訪問駱駝3.3>

>訪問美洲駝3.3的一種方法是通過擁抱面孔,這是託管機器學習模型最受歡迎的平台之一。要通過擁抱Face的推理API使用Llama 3.3,您將需要:>

一個擁抱的臉部帳戶。

    如果您還沒有一個帳戶,去擁抱臉並註冊一個。
  1. >
    具有正確權限的API令牌。
>登錄後,轉到您的訪問令牌頁面。
  • >
  • 生成一個新的讀取令牌。
    • >安全地複制令牌。
    • >訪問Llama-3.3-70B-Instruct Model。
    • >導航到Llama-3.3-70B-Instruct Page。
  • >您需要同意許可條款並請求訪問。
  • >
      注意:訪問此模型需要訂閱。確保您的帳戶已升級。
    • 準備您的項目環境
    • >在訪問已確保的模型後,讓我們設置應用程序的環境。首先,我們將為此項目創建一個文件夾。打開終端,導航到要創建項目文件夾的位置,然後運行:>
    然後,我們將創建一個名為app.py的文件以保存代碼:touch app.pynow,我們創建一個環境,然後激活它:>

    >安裝所需的依賴項

    >現在已經準備好了,讓我們安裝必要的庫。確保您正在運行Python 3.8。在終端中,運行以下命令以安裝簡化,請求和擁抱面部庫:

    mkdir multilingual-code-explanation
    cd multilingual-code-explanation
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    到現在,您應該有:

    1. >一個帶有API令牌的擁抱面帳戶並訪問Llama 3.3型號。
    2. >一個乾淨的項目文件夾,準備編碼。
    3. 安裝了所有必要的庫,包括:
    • >簡化接口。
    • >
    • >進行API調用的請求。
    • 變形金剛和擁抱面 - 用於與擁抱面部模型互動的擁抱面。
    >現在設置完成了,我們已經準備好構建應用程序了!在下一節中,我們將逐步開始編碼多語言代碼說明應用程序。

    寫後端

    後端與擁抱的臉部API通信以發送代碼段並收到說明。

    >導入所需庫

    首先,我們需要導入請求庫。該庫允許我們將HTTP請求發送到API。在您的app.py文件的頂部,寫:

    >

    設置API Access
    mkdir multilingual-code-explanation
    cd multilingual-code-explanation
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >與擁抱臉上託管的Llama 3.3 API互動,您需要:>

    api端點(託管模型的URL)。

    >
      您的擁抱臉部API鍵用於身份驗證。
    1. 在上面的代碼中:
    python3 -m venv venv
    source venv/bin/activate’
    登入後複製
    登入後複製

    >用您之前生成的令牌替換“ hf_your_api_key_here”。

    >
      標題詞典包含A​​PI鍵,因此擁抱的臉知道您有權使用端點。
    • 將功能寫入查詢駱駝3.3
    現在,我們將編寫一個函數將請求發送到API。該功能將:

    構建一個提示,告訴模型該怎麼做。

      將請求發送給擁抱的臉。
    1. 處理響應並提取生成的解釋。
    2. 提示告訴美洲駝3.3用所需的語言解釋代碼片段。 
    pip install streamlit requests transformers huggingface-hub
    登入後複製
    登入後複製
    >免責聲明:我嘗試了不同的提示,以找到產生最佳輸出的提示,因此肯定涉及及時的工程!

    接下來,定義了有效載荷。對於輸入,我們指定提示發送到模型。在參數中,max_new_tokens控制響應長度,而溫度調整了輸出的創造力級別。

    > requests.post()函數將數據發送到擁抱面。如果響應成功(status_code == 200),則提取生成的文本。如果有錯誤,則返回描述性消息。

    >

    >最後,有一些步驟可以正確清潔和格式化輸出。這樣可以確保它整齊地展示,從而大大改善了用戶體驗。

    構建精簡前端

    前端是用戶與應用程序進行交互的地方。簡化是一個僅使用Python代碼創建交互式Web應用程序的庫,並使此過程變得簡單而直觀。這就是我們將用來構建應用程序前端的方法。我真的很喜歡簡化來構建演示和POC!

    >

    >導入流lit

    在您的app.py文件的頂部,添加:

    >
    mkdir multilingual-code-explanation
    cd multilingual-code-explanation
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    設置頁面配置

    >我們將使用set_page_config()來定義應用標題和佈局。在下面的代碼中:

    • page_title:設置“瀏覽器”選項卡標題。
    • layout =“ wide”:允許應用程序使用全屏寬度。 >
    python3 -m venv venv
    source venv/bin/activate’
    登入後複製
    登入後複製
    創建側邊欄指令

    >幫助用戶了解如何使用該應用程序,我們將在側邊欄中添加說明:在下面的代碼中:>

    > st.sidebar.title():為側邊欄創建標題。
    • > st.sidebar.markdown():添加帶有簡單說明的文本。
    • divider():添加一個乾淨的視覺分離。
    • 自定義HTML:以個人風格在底部顯示一個小頁腳。請隨意個性化這一點!
    • 添加主應用程序組件
    pip install streamlit requests transformers huggingface-hub
    登入後複製
    登入後複製
    我們將在頁面上添加主要標題和字幕:>

    現在,要讓用戶粘貼代碼並選擇其首選語言,我們需要輸入字段。因為代碼文本可能比語言的名稱更長,所以我們正在為代碼選擇文本區域,並為語言選擇一個文本輸入:

    >

    > text_area():為粘貼代碼創建一個大盒子。
    import requests
    登入後複製
    >

    text_input():允許用戶輸入語言。 >

    • >現在,我們添加一個按鈕來生成解釋。如果用戶輸入代碼和語言,然後單擊“生成說明”按鈕,則會生成答案。
    • 單擊按鈕時,應用程序:>
    HUGGINGFACE_API_KEY = "hf_your_api_key_here"  # Replace with your actual API key
    API_URL = "https://api-inference.huggingface.co/models/meta-llama/Llama-3.3-70B-Instruct"
    HEADERS = {"Authorization": f"Bearer {HUGGINGFACE_API_KEY}"}
    登入後複製
    檢查是否提供了代碼片段和語言。

    在查詢API時顯示旋轉器。
    def query_llama3(input_text, language):
       # Create the prompt
       prompt = (
           f"Provide a simple explanation of this code in {language}:\n\n{input_text}\n"
           f"Only output the explanation and nothing else. Make sure that the output is written in {language} and only in {language}"
       )
       # Payload for the API
       payload = {
           "inputs": prompt,
           "parameters": {"max_new_tokens": 500, "temperature": 0.3},
       }
      
       # Make the API request
       response = requests.post(API_URL, headers=HEADERS, json=payload)
       if response.status_code == 200:
           result = response.json()
          
           # Extract the response text
           full_response = result[0]["generated_text"] if isinstance(result, list) else result.get("generated_text", "")
          
           # Clean up: Remove the prompt itself from the response
           clean_response = full_response.replace(prompt, "").strip()
           # Further clean any leading colons or formatting
           if ":" in clean_response:
               clean_response = clean_response.split(":", 1)[-1].strip()
          
           return clean_response or "No explanation available."
       else:
           return f"Error: {response.status_code} - {response.text}"
    登入後複製
    >

    顯示如果缺少輸入,則顯示生成的解釋或警告。

      添加一個頁腳
    • 要結束,讓我們添加一個頁腳:
    • 運行Llama 3.3 App
    是時候運行該應用了!要啟動您的應用程序,請在終端中運行此代碼:

    該應用程序將在您的瀏覽器中打開,您可以開始使用它!

    >
    import streamlit as st
    登入後複製

    測試Llama 3.3行動

    st.set_page_config(page_title="Multilingual Code Explanation Assistant", layout="wide")
    登入後複製
    >現在我們已經構建了多語言代碼說明應用程序了,現在該測試模型的工作原理了。在本節中,我們將使用該應用程序處理幾個代碼段,並評估以不同語言生成的解釋。

    測試1:python中的階乘功能

    對於我們的第一個測試,讓我們從一個Python腳本開始,該腳本可以使用遞歸計算數字的階乘。這是我們將使用的代碼:Llama 3.3:演示項目的分步教程

    此腳本定義了計算給定數字的階乘的遞歸函數階乘(n)。對於num = 5,該函數將計算5×4×3×2×1,結果為120。結果使用print()語句將結果打印到屏幕上。這是我們在西班牙語中生成解釋時的輸出:

    Llama 3.3:演示項目的分步教程

    Llama 3.3:演示項目的分步教程

    作為西班牙語者,我可以確認該解釋正確地標識了代碼使用遞歸計算數字的階乘。它逐步介紹了遞歸的方式,將其分解為簡單的術語。

    >該模型解釋了遞歸過程,並顯示了該函數如何以n值的降低為直到達到0。

    的解釋完全按照要求,展示了Llama 3.3的多語言能力。

    的使用簡單短語使遞歸的概念易於遵循,即使對於不熟悉編程的讀者也很容易遵循。

    >總結並提到了遞歸如何適用於其他輸入,以及遞歸作為編程中有效解決問題的概念的重要性。

    >

    該第一次測試突出了駱駝3.3的力量:>

    它以逐步的方式準確地解釋了代碼。

    >

    >解釋適用於請求的語言(在這種情況下為西班牙語)。

      按照指示進行詳細,清晰和初學者友好。
    • >現在我們已經測試了一個Python腳本,我們可以繼續使用JavaScript或SQL等其他編程語言。這將有助於我們進一步探索遍及推理,編碼和多語言支持的Llama 3.3的功能。
    • >
    • 測試2:JavaScript中的階乘功能
    • 在此測試中,我們將評估多語言代碼說明應用程序處理JavaScript函數並生成法語中的解釋。
    • 我們使用以下JavaScript代碼段,其中我故意選擇了模棱兩可的變量,以查看模型處理的能力:
    >

    此代碼段定義遞歸函數x(a),該函數計算給定數字a的階乘。基本條件檢查是否=== 1。如果是,則返回1。否則,該函數用-1調用自身,並將結果乘以a。常數y設置為6,因此函數x計算6×5×4×3×2×1。 fnally,結果存儲在變量z中,並使用console.log顯示。這是英文的輸出和翻譯:

    >注意:您可以看到它看起來像是突然裁剪了響應,但這是因為我們將輸出限制為500個令牌!

    >翻譯此內容後,我得出的結論是,解釋正確地識別了函數x(a)是遞歸的。它分解了遞歸的工作原理,解釋了基本情況(a === 1)和遞歸情況(a * x(a -1))。該解釋明確顯示了該函數如何計算6的階乘,並提及Y(輸入值)和Z(結果)的作用。它還指出了console.log用於顯示結果的方式。

    > 根據要求,

    的解釋完全用法語。正確使用了諸如“Récursive”(遞歸),“ Factorielle”(階乘)和“ Produit”(產品)之類的技術術語。不僅如此,它還標識了此代碼以遞歸方式計算數字的階乘。

    >

    >解釋避免了過度技術術語並簡化了遞歸,使得剛接觸編程的讀者可以訪問。

    此測試證明了Llama 3.3:

      準確說明涉及遞歸的JavaScript代碼。
    • >
    • 在法語中生成清晰而詳細的解釋。
    • 調整其解釋以包括可變角色和代碼行為。
    • >現在我們已經使用Python和JavaScript測試了該應用程序,讓我們繼續使用SQL查詢進行測試以進一步評估其多語言和推理功能。
    測試3:德語中的SQL查詢

    在最後一次測試中,我們將評估多語言代碼說明應用程序如何處理SQL查詢並生成德語說明。這是使用的SQL摘要:

    >此查詢選擇ID列併計算每個ID的總值(sum(b.value))。它從兩個表中讀取數據:table_x(Aliase為a)和table_y(將其混為為b)。然後,使用聯接條件連接行,其中a.ref_id = b.ref。它過濾行,其中b.flag = 1並按A.ID分組數據。 HAVER子句將組僅包括B.Value總和大於1000的那些。最後,按deal_amount訂購結果。

    mkdir multilingual-code-explanation
    cd multilingual-code-explanation
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    擊中生成的解釋按鈕後,這就是我們得到的:>

    生成的解釋是簡潔,準確且結構良好的。清楚地解釋了每個密鑰SQL子句(從,從,加入,加入,在哪裡,組,擁有和訂購)。此外,描述與SQL中的執行順序匹配,該說明可以幫助讀者逐步遵循查詢邏輯。

    >解釋完全是德語的。 Llama 3.3:演示項目的分步教程> 在上下文中準確使用了

    鍵SQL項(例如“ Filtert”,“ Gruppiert”,“ Sortiert”)。解釋確定了已用於過濾分組結果的解釋,這是初學者的混亂來源。它還解釋了用別名(AS)重命名表和列的使用。

    >解釋避免了過於復雜的術語,並專注於每個子句的功能。這使初學者很容易理解查詢的工作原理。

    此測試證明了Llama 3.3:

    • >有效處理SQL查詢。
    • 生成清晰且結構化的逐句解釋。
    • >
    • 支持德語作為一種輸出語言。
    • 提供足夠的細節來幫助初學者了解SQL查詢背後的邏輯。
    >我們已經在Python,JavaScript和SQL中使用代碼片段測試了該應用程序,並以西班牙語,法語和德語生成了解釋。在每個測試中:

      解釋是準確,清晰且詳細的。
    • >模型表現出強大的推理技能和多語言支持。
    • 在此測試中,我們已經確認我們已構建的應用程序具有通用,可靠且可用於解釋不同編程語言和自然語言的代碼。
    • 結論
    恭喜!您已經使用Sherlit和Llama 3.3建立了功能齊全的多語言代碼解釋助手。

    在本教程中,您學會了:

    如何將擁抱的面部模型集成到簡化的應用程序中。

    >如何使用Llama 3.3 API解釋代碼片段。 >

    >如何清理API響應並創建一個用戶友好的應用程序。 >
    1. 這個項目是探索Llama 3.3在代碼推理,多語言支持和教學內容中的功能的絕佳起點。隨意創建自己的應用程序,繼續探索該模型的強大功能!

    以上是Llama 3.3:演示項目的分步教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板