🤗 OpenSource + HuggingFaceHub
API
Hugging Face Hub - платформа, которая содержит огромное количество моделей с открытым исходным кодом и в открытом доступе.
- 1️⃣ Авторизуйтесь или зарегистрируйтесь на сайте HuggingFace.
- 2️⃣ Перейдите по ссылке и нажмите на кнопку
Create new token
. - 3️⃣ Для удобства выберете тип токена
Read
илиWrite
. - 4️⃣ Введите любое название и нажмите кнопку
Create a token
. - 5️⃣ Скопируйте и сохраните свой токен.
В коде токен ключ нужно сохранить в переменную среды
HUGGINGFACEHUB_API_TOKEN
import os
os.environ['HUGGINGFACEHUB_API_TOKEN'] = 'Ваш полученный ключ'
Чтобы проверить работоспобность, можно воспользоваться следующим кодом,
предварительно установив библиотеки langchain
и
huggingface_hub
с помощью команды
!pip install langchain langchain-community huggingface_hub
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain_community.llms import HuggingFaceEndpoint
question = "1 + 1?"
template = """Question: {question}
Answer: Let's think step by step"""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm = HuggingFaceEndpoint(repo_id="mistralai/Mistral-7B-Instruct-v0.2")
llm_chain = LLMChain(prompt=prompt, llm=llm)
print(llm_chain.invoke(question)['text'])
Использование LLM
локально
Для локального использования моделей HuggingFace
(на вашем локальном
компьютере или сервере), необходима библиотека transformers
(можно
установить при помощи !pip install transformers
), а также должны быть
скачены веса необходимой модели.
# Если модель у вас еще не загружена, то её скачивание произойдет автоматически
# А при дальнейшем использовании, модель подгрузится из памяти
from langchain.llms import HuggingFacePipeline
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
bloom = HuggingFacePipeline.from_model_id(
model_id="bigscience/bloom-1b7",
task="text-generation",
model_kwargs={"temperature": 0, "max_length": 64},
device=0, # Номер GPU карточки, если есть!
)
template = """Question: {question}.
Answer:"""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(
prompt=prompt,
llm=bloom
)
question = "When did man first fly into space?"
print(llm_chain.invoke(question)['text'])
Теперь вы готовы использовать
HuggingFaceHub API
для работы с языковыми моделями, либо запускать их
локально, без использования API
! 🚀💬
Если у вас возникнут вопросы или трудности, не стесняйтесь задавать их в комментариях к этому уроку. Мы всегда готовы помочь вам! 💡💬
@Никита_Зелинский, Где вы запускаете код и какую модель используете? (в google colab код степа полностью отрабатывает)
@Петр_Михайлов, локально, код из последнего отсека
сработало,