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() |