Spaces:
Runtime error
Runtime error
import gradio as gr | |
from langchain.prompts import PromptTemplate | |
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer | |
from langchain.llms import HuggingFacePipeline | |
from langchain_community.llms import LlamaCpp | |
from langchain_core.callbacks import CallbackManager, StreamingStdOutCallbackHandler | |
from langchain_core.prompts import PromptTemplate | |
import os | |
from huggingface_hub import hf_hub_download | |
# Указываю имя репозитория и название скачиваемой модели | |
# model_name = "second-state/Mistral-Nemo-Instruct-2407-GGUF" | |
model_name = "lmstudio-community/Meta-Llama-3.1-8B-Instruct-GGUF" | |
model_file = "Meta-Llama-3.1-8B-Instruct-Q8_0.gguf" | |
# Загрузка с Hugging Face Hub | |
model_path = hf_hub_download( | |
model_name, | |
filename=model_file, | |
local_dir='models/', # Загрузку сделаем в папку "models" - опционально | |
token="token" #тут указываем ваш токен доступа с huggingface (Setting -> Access Toekns -> New token -> Generate Token) | |
) | |
print("My model path:", model_path) | |
# Путь до модели | |
# model_path = "/kaggle/working/models/Meta-Llama-3.1-8B-Instruct-Q8_0.gguf" | |
# Инициализирую модель через LlamaCpp | |
llm = LlamaCpp( | |
model_path=model_path, | |
temperature=0.5, | |
max_tokens=4000, | |
n_ctx=4000, | |
n_gpu_layers=-1, | |
) | |
prompt_template = """ | |
<|start_header_id|>system<|end_header_id|> | |
Вы личный ассистент по моде. | |
ЗАПРЕЩАЮ ВЫДУМЫВАТЬ и вредить людям | |
<|eot_id|> | |
<|start_header_id|>контекст<|end_header_id|> | |
{context_info} | |
<|eot_id|> | |
<|start_header_id|>user<|end_header_id|> | |
Используй максимально emoji | |
Ответь на вопросы строго на основе предоставленного Контекста. | |
Если информация в контексте отсутствует, напиши сообщение "Ответа нет". | |
Вопрос: {question_info} | |
<|eom_id|> | |
<|start_header_id|>assistant<|end_header_id|> | |
""" | |
prompt = PromptTemplate.from_template(prompt_template) | |
llm_chain = prompt | llm | |
context_info = """ | |
Боб с боковым пробором Очень стильно выглядит стрижка мужской боб. Особенности прически: объем на макушке и в теменной зоне; боковые пряди спадают на виски; длинная челка, которую зачесывают на лоб или укладывают с пробором. В 2024 году стильную стрижку рекомендуют сочетать с боковым пробором. Такую прическу могут носить мужчины в любом возрасте. Боковой пробор невероятно популярен у современных бизнесменов. Подобный вариант укладки выглядит строго и презентабельно, подходит мужчинам, которые желают всегда выглядеть безупречно и собранно. | |
Используем только средство для укладки - Barbara 100 | |
""" | |
question_info= """Боб это?""" | |
output = llm_chain.invoke({"context_info": context_info, 'question_info':question_info}, config={"max_tokens": 5000}) | |
# output = llm.invoke(prompt_template) | |
print(output) | |
def greet(name): | |
return "Hello " + name + "!!" | |
demo = gr.Interface(fn=greet, inputs="text", outputs="text") | |
demo.launch() |