使用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ā)者可以在這個平臺上下載訓練好的大模型來使用。
要學習與Transformer架構相關的知識,肯定要接觸一些大模型,要接觸大模型就免不了要從Hugging Face上下載一些模型和參數(shù)等文件。
但很多同學限于國外網站網速的問題,以及一些模型都很大(基本都是幾個G起步),經常下載很長時間最終還是失敗。
本節(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就可以用該鏡像網站訪問,并且下載模型了,速度很快。
另外,如果你是在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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python函數(shù)默認參數(shù)常見問題及解決方案
這篇文章主要介紹了Python函數(shù)默認參數(shù)常見問題及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
Python實現(xiàn)發(fā)送警告通知到企業(yè)微信方法詳解
常見的報警方式有:郵件,電話,短信,微信。本文將介紹如何利用Python發(fā)送警告通知到企業(yè)微信,文中的示例代碼有一定的參考價值,感興趣的可以了解一下2022-01-01
python實現(xiàn)將excel文件轉化成CSV格式
下面小編就為大家分享一篇python實現(xiàn)將excel文件轉化成CSV格式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
tensorflow ckpt模型和pb模型獲取節(jié)點名稱,及ckpt轉pb模型實例
今天小編就為大家分享一篇tensorflow ckpt模型和pb模型獲取節(jié)點名稱,及ckpt轉pb模型實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

