使用python調用llama3進行對話的操作步驟
Meta 已將最新的 LLaMa3 進行了開源,因此,我們也可以方便的使用 Python 進行 LLaMa3 模型的調用和開發(fā)。
接下來,簡單介紹如何通過 transformers 庫來使用 LLaMa3。
首先,導入必要的庫:
pip3 install transformers torch
快速配置 Hugging Face的方法:
1. 什么是 Hugging Face
Hugging Face 本身是一家科技公司,專注于自然語言處理(NLP)和機器學習領域。
最初以其聊天機器人應用聞名,后來逐漸轉型,專注于開發(fā)和提供開源的人工智能模型和工具。
這家公司最著名的就是開發(fā)一個名為“Transformers”的庫,這個庫集成了很多比較先進的預訓練模型,如BERT、GPT-2、GPT-3等等。
除此之外,Hugging Face 還有一個模型共享平臺,類似于大模型界的Github,開發(fā)者可以在這個平臺上下載訓練好的大模型來使用。
官網(wǎng)在這:https://huggingface.co/
要學習與Transformer架構相關的知識,肯定要接觸一些大模型,要接觸大模型就免不了要從Hugging Face上下載一些模型和參數(shù)等文件。
但很多同學限于國外網(wǎng)站網(wǎng)速的問題,以及一些模型都很大(基本都是幾個G起步),經(jīng)常下載很長時間最終還是失敗。
本節(jié)給出一個配置 Hugging Face鏡像的方法,可以幫助你快速從Hugging Face上下載模型。
2、操作步驟
這里就不說原理了,按以下操作即可,在開發(fā)環(huán)境下安裝以下庫,執(zhí)行命令:
pip3 install -U huggingface_hub pip install -U "huggingface_hub[cli]"
待上述命令執(zhí)行完,導入一個環(huán)境變量:
export HF_ENDPOINT=https://hf-mirror.com
之后訪問Hugging Face就可以用該鏡像網(wǎng)站訪問,并且下載模型了,速度很快。
另外,如果你是在Linux 環(huán)境下做開發(fā),建議將導入環(huán)境變量那條命令放在 ~/.bashrc 中,這樣系統(tǒng)啟動就會自動導入該環(huán)境變量,之后所有的開發(fā)就不用關心Hugging Face 有關的環(huán)境配置了。
然后,使用上面講過的方法替換 HuggingFace 的國內源。需要注意的是,在下載LLaMa3 的時候,需要前往 huggingface.co/填寫一份申請,官方審核通過后,你才擁有下載 LLaMa3 的資格。
下載 LLaMa3 可通過以下命令完成:
huggingface-cli download meta-llama/Meta-Llama-3-8B --local-dir Meta-Llama-3-8B
其中, “--local-dir Meta-Llama-3-8B” 為你希望下載的模型存放的目錄,由于llama-3 的模型非常大,上述命令會下載大概 32 GB的數(shù)據(jù),因此,在下載前你需要你找一個磁盤空間足夠大的目錄來存放。
溫馨提示:下載過程會比較漫長,等待即可。如果中途下載中斷,你可以重新執(zhí)行相同的指令來繼續(xù)完成下載。
下載完成后,你可以直接使用下面的代碼進行體驗:
from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_id = "meta-llama/Meta-Llama-3-8B-Instruct" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", ) messages = [ {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"}, {"role": "user", "content": "Who are you?"}, ] input_ids = tokenizer.apply_chat_template( messages, add_generation_prompt=True, return_tensors="pt" ).to(model.device) terminators = [ tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|eot_id|>") ] outputs = model.generate( input_ids, max_new_tokens=256, eos_token_id=terminators, do_sample=True, temperature=0.6, top_p=0.9, ) response = outputs[0][input_ids.shape[-1]:] print(tokenizer.decode(response, skip_special_tokens=True))
或者使用下面的代碼:
import transformers import torch model_id = "meta-llama/Meta-Llama-3-8B" pipeline = transformers.pipeline( "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto" ) pipeline("Hey how are you doing today?")
同樣的,LLaMa3 模型的運行最好在有 GPU 的開發(fā)環(huán)境下進行,否則輸出一句話都會運行非常久的時間。
到此這篇關于使用python調用llama3進行對話的操作步驟的文章就介紹到這了,更多相關python llama3進行對話內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pytorch: Parameter 的數(shù)據(jù)結構實例
今天小編就為大家分享一篇pytorch: Parameter 的數(shù)據(jù)結構實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Eclipse中Python開發(fā)環(huán)境搭建簡單教程
這篇文章主要為大家分享了Eclipse中Python開發(fā)環(huán)境搭建簡單教程,步驟簡潔,一目了然,可以幫助大家快速搭建python開發(fā)環(huán)境,感興趣的小伙伴們可以參考一下2016-03-03python flask幾分鐘實現(xiàn)web服務的例子
今天小編就為大家分享一篇python flask幾分鐘實現(xiàn)web服務的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07