欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python調(diào)用llama3進(jìn)行對話的操作步驟

 更新時間:2024年09月26日 08:45:41   作者:董董燦是個攻城獅  
Meta?已將最新的?LLaMa3?進(jìn)行了開源,因此,我們也可以方便的使用?Python?進(jìn)行?LLaMa3?模型的調(diào)用和開發(fā),本文給大家介紹了如何使用?python?調(diào)用?llama3?進(jìn)行對話,需要的朋友可以參考下

Meta 已將最新的 LLaMa3 進(jìn)行了開源,因此,我們也可以方便的使用 Python 進(jìn)行 LLaMa3 模型的調(diào)用和開發(fā)。

接下來,簡單介紹如何通過 transformers 庫來使用 LLaMa3。

首先,導(dǎo)入必要的庫:

pip3 install transformers torch

快速配置 Hugging Face的方法:

1. 什么是 Hugging Face

Hugging Face 本身是一家科技公司,專注于自然語言處理(NLP)和機(jī)器學(xué)習(xí)領(lǐng)域。 

最初以其聊天機(jī)器人應(yīng)用聞名,后來逐漸轉(zhuǎn)型,專注于開發(fā)和提供開源的人工智能模型和工具。

這家公司最著名的就是開發(fā)一個名為“Transformers”的庫,這個庫集成了很多比較先進(jìn)的預(yù)訓(xùn)練模型,如BERT、GPT-2、GPT-3等等。

除此之外,Hugging Face 還有一個模型共享平臺,類似于大模型界的Github,開發(fā)者可以在這個平臺上下載訓(xùn)練好的大模型來使用。

官網(wǎng)在這:https://huggingface.co/

要學(xué)習(xí)與Transformer架構(gòu)相關(guān)的知識,肯定要接觸一些大模型,要接觸大模型就免不了要從Hugging Face上下載一些模型和參數(shù)等文件。

但很多同學(xué)限于國外網(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í)行完,導(dǎo)入一個環(huán)境變量:

export HF_ENDPOINT=https://hf-mirror.com

之后訪問Hugging Face就可以用該鏡像網(wǎng)站訪問,并且下載模型了,速度很快。

另外,如果你是在Linux 環(huán)境下做開發(fā),建議將導(dǎo)入環(huán)境變量那條命令放在 ~/.bashrc 中,這樣系統(tǒng)啟動就會自動導(dǎo)入該環(huán)境變量,之后所有的開發(fā)就不用關(guān)心Hugging Face 有關(guān)的環(huán)境配置了。

然后,使用上面講過的方法替換 HuggingFace 的國內(nèi)源。需要注意的是,在下載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ù)完成下載。

下載完成后,你可以直接使用下面的代碼進(jì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 模型的運行最好在有 GPU 的開發(fā)環(huán)境下進(jìn)行,否則輸出一句話都會運行非常久的時間。

到此這篇關(guān)于使用python調(diào)用llama3進(jìn)行對話的操作步驟的文章就介紹到這了,更多相關(guān)python llama3進(jìn)行對話內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論