Llama2 - Huggingface Tutorial
Huggingface ist eine Open-Source-Plattform zur Bereitstellung von Machine-Learning-Modellen.
Llama2 mit Huggingface Inference Endpoints aufrufen​
LiteLLM erleichtert den Aufruf Ihrer öffentlichen, privaten oder der Standard-Huggingface-Endpunkte.
In diesem Fall versuchen wir, 3 Modelle aufzurufen
| Modell | Art des Endpunkts |
|---|---|
| deepset/deberta-v3-large-squad2 | Standard Huggingface Endpoint |
| meta-llama/Llama-2-7b-hf | Öffentlicher Endpoint |
| meta-llama/Llama-2-7b-chat-hf | Privater Endpoint |
Fall 1: Standard-Huggingface-Endpoint aufrufen​
Hier ist das vollständige Beispiel
from litellm import completion
model = "deepset/deberta-v3-large-squad2"
messages = [{"role": "user", "content": "Hey, how's it going?"}] # LiteLLM follows the OpenAI format
### CALLING ENDPOINT
completion(model=model, messages=messages, custom_llm_provider="huggingface")
Was passiert?
- model: Dies ist der Name des bereitgestellten Modells auf Huggingface
- messages: Dies sind die Eingaben. Wir akzeptieren das OpenAI-Chat-Format. Für Huggingface durchlaufen wir standardmäßig die Liste und fügen die Nachricht hinzuzum Prompt. Relevanter Codezum Prompt. Relevanter Code
- custom_llm_provider: Optionaler Parameter. Dies ist ein optionales Flag, das nur für Azure, Replicate, Huggingface und Together-ai (Plattformen, auf denen Sie Ihre eigenen Modelle bereitstellen) benötigt wird. Dies ermöglicht LiteLLM, den richtigen Anbieter für Ihr Modell zu finden.
Fall 2: Llama2 öffentlichen Huggingface-Endpoint aufrufen​
Wir haben meta-llama/Llama-2-7b-hf hinter einem öffentlichen Endpunkt bereitgestellt – https://ag3dkq4zui5nu8g3.us-east-1.aws.endpoints.huggingface.cloud.
Probieren wir es aus
from litellm import completion
model = "meta-llama/Llama-2-7b-hf"
messages = [{"role": "user", "content": "Hey, how's it going?"}] # LiteLLM follows the OpenAI format
api_base = "https://ag3dkq4zui5nu8g3.us-east-1.aws.endpoints.huggingface.cloud"
### CALLING ENDPOINT
completion(model=model, messages=messages, custom_llm_provider="huggingface", api_base=api_base)
Was passiert?
- api_base: Optionaler Parameter. Da dies einen bereitgestellten Endpunkt verwendet (nicht den Standard-Huggingface-Inferenz-Endpoint), übergeben wir diesen an LiteLLM.
Fall 3: Llama2 privaten Huggingface-Endpoint aufrufen​
Der einzige Unterschied zu dem öffentlichen Endpunkt besteht darin, dass Sie dafür einen api_key benötigen.
Bei LiteLLM gibt es 3 Möglichkeiten, einen api_key zu übergeben.
Entweder über Umgebungsvariablen, indem Sie ihn als Paketvariable festlegen oder beim Aufruf von completion().
Festlegen über Umgebungsvariablen
Hier ist die eine Codezeile, die Sie hinzufügen müssen
os.environ["HF_TOKEN"] = "..."
Hier ist der vollständige Code
from litellm import completion
os.environ["HF_TOKEN"] = "..."
model = "meta-llama/Llama-2-7b-hf"
messages = [{"role": "user", "content": "Hey, how's it going?"}] # LiteLLM follows the OpenAI format
api_base = "https://ag3dkq4zui5nu8g3.us-east-1.aws.endpoints.huggingface.cloud"
### CALLING ENDPOINT
completion(model=model, messages=messages, custom_llm_provider="huggingface", api_base=api_base)
Festlegen als Paketvariable
Hier ist die eine Codezeile, die Sie hinzufügen müssen
litellm.huggingface_key = "..."
Hier ist der vollständige Code
import litellm
from litellm import completion
litellm.huggingface_key = "..."
model = "meta-llama/Llama-2-7b-hf"
messages = [{"role": "user", "content": "Hey, how's it going?"}] # LiteLLM follows the OpenAI format
api_base = "https://ag3dkq4zui5nu8g3.us-east-1.aws.endpoints.huggingface.cloud"
### CALLING ENDPOINT
completion(model=model, messages=messages, custom_llm_provider="huggingface", api_base=api_base)
Übergeben während des completion-Aufrufs
completion(..., api_key="...")
Hier ist der vollständige Code
from litellm import completion
model = "meta-llama/Llama-2-7b-hf"
messages = [{"role": "user", "content": "Hey, how's it going?"}] # LiteLLM follows the OpenAI format
api_base = "https://ag3dkq4zui5nu8g3.us-east-1.aws.endpoints.huggingface.cloud"
### CALLING ENDPOINT
completion(model=model, messages=messages, custom_llm_provider="huggingface", api_base=api_base, api_key="...")