使用python調(diào)用llama3進(jìn)行對(duì)話的操作步驟
Meta 已將最新的 LLaMa3 進(jìn)行了開(kāi)源,因此,我們也可以方便的使用 Python 進(jìn)行 LLaMa3 模型的調(diào)用和開(kāi)發(fā)。
接下來(lái),簡(jiǎn)單介紹如何通過(guò) transformers 庫(kù)來(lái)使用 LLaMa3。
首先,導(dǎo)入必要的庫(kù):
pip3 install transformers torch
快速配置 Hugging Face的方法:
1. 什么是 Hugging Face
Hugging Face 本身是一家科技公司,專(zhuān)注于自然語(yǔ)言處理(NLP)和機(jī)器學(xué)習(xí)領(lǐng)域。
最初以其聊天機(jī)器人應(yīng)用聞名,后來(lái)逐漸轉(zhuǎn)型,專(zhuān)注于開(kāi)發(fā)和提供開(kāi)源的人工智能模型和工具。
這家公司最著名的就是開(kāi)發(fā)一個(gè)名為“Transformers”的庫(kù),這個(gè)庫(kù)集成了很多比較先進(jìn)的預(yù)訓(xùn)練模型,如BERT、GPT-2、GPT-3等等。
除此之外,Hugging Face 還有一個(gè)模型共享平臺(tái),類(lèi)似于大模型界的Github,開(kāi)發(fā)者可以在這個(gè)平臺(tái)上下載訓(xùn)練好的大模型來(lái)使用。
官網(wǎng)在這:https://huggingface.co/
要學(xué)習(xí)與Transformer架構(gòu)相關(guān)的知識(shí),肯定要接觸一些大模型,要接觸大模型就免不了要從Hugging Face上下載一些模型和參數(shù)等文件。
但很多同學(xué)限于國(guó)外網(wǎng)站網(wǎng)速的問(wèn)題,以及一些模型都很大(基本都是幾個(gè)G起步),經(jīng)常下載很長(zhǎng)時(shí)間最終還是失敗。
本節(jié)給出一個(gè)配置 Hugging Face鏡像的方法,可以幫助你快速?gòu)腍ugging Face上下載模型。
2、操作步驟
這里就不說(shuō)原理了,按以下操作即可,在開(kāi)發(fā)環(huán)境下安裝以下庫(kù),執(zhí)行命令:
pip3 install -U huggingface_hub pip install -U "huggingface_hub[cli]"
待上述命令執(zhí)行完,導(dǎo)入一個(gè)環(huán)境變量:
export HF_ENDPOINT=https://hf-mirror.com
之后訪問(wèn)Hugging Face就可以用該鏡像網(wǎng)站訪問(wèn),并且下載模型了,速度很快。
另外,如果你是在Linux 環(huán)境下做開(kāi)發(fā),建議將導(dǎo)入環(huán)境變量那條命令放在 ~/.bashrc 中,這樣系統(tǒng)啟動(dòng)就會(huì)自動(dòng)導(dǎo)入該環(huán)境變量,之后所有的開(kāi)發(fā)就不用關(guān)心Hugging Face 有關(guān)的環(huán)境配置了。
然后,使用上面講過(guò)的方法替換 HuggingFace 的國(guó)內(nèi)源。需要注意的是,在下載LLaMa3 的時(shí)候,需要前往 huggingface.co/填寫(xiě)一份申請(qǐng),官方審核通過(guò)后,你才擁有下載 LLaMa3 的資格。
下載 LLaMa3 可通過(guò)以下命令完成:
huggingface-cli download meta-llama/Meta-Llama-3-8B --local-dir Meta-Llama-3-8B
其中, “--local-dir Meta-Llama-3-8B” 為你希望下載的模型存放的目錄,由于llama-3 的模型非常大,上述命令會(huì)下載大概 32 GB的數(shù)據(jù),因此,在下載前你需要你找一個(gè)磁盤(pán)空間足夠大的目錄來(lái)存放。
溫馨提示:下載過(guò)程會(huì)比較漫長(zhǎng),等待即可。如果中途下載中斷,你可以重新執(zhí)行相同的指令來(lái)繼續(xù)完成下載。
下載完成后,你可以直接使用下面的代碼進(jìn)行體驗(yàn):
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 模型的運(yùn)行最好在有 GPU 的開(kāi)發(fā)環(huán)境下進(jìn)行,否則輸出一句話都會(huì)運(yùn)行非常久的時(shí)間。
到此這篇關(guān)于使用python調(diào)用llama3進(jìn)行對(duì)話的操作步驟的文章就介紹到這了,更多相關(guān)python llama3進(jìn)行對(duì)話內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python和Scikit-Learn的機(jī)器學(xué)習(xí)探索
這篇文章主要介紹了基于Python和Scikit-Learn的機(jī)器學(xué)習(xí)探索的相關(guān)內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友學(xué)習(xí)和參考。2017-10-10Gradio構(gòu)建交互式Python應(yīng)用使用示例詳解
這篇文章主要為大家介紹了Gradio構(gòu)建交互式Python應(yīng)用使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例
今天小編就為大家分享一篇pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python裝飾器使用實(shí)例:驗(yàn)證參數(shù)合法性
這篇文章主要介紹了Python裝飾器使用實(shí)例:驗(yàn)證參數(shù)合法性,本文直接給出代碼實(shí)例,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06Eclipse中Python開(kāi)發(fā)環(huán)境搭建簡(jiǎn)單教程
這篇文章主要為大家分享了Eclipse中Python開(kāi)發(fā)環(huán)境搭建簡(jiǎn)單教程,步驟簡(jiǎn)潔,一目了然,可以幫助大家快速搭建python開(kāi)發(fā)環(huán)境,感興趣的小伙伴們可以參考一下2016-03-03python順序的讀取文件夾下名稱(chēng)有序的文件方法
今天小編就為大家分享一篇python順序的讀取文件夾下名稱(chēng)有序的文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python flask幾分鐘實(shí)現(xiàn)web服務(wù)的例子
今天小編就為大家分享一篇python flask幾分鐘實(shí)現(xiàn)web服務(wù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07