Aleksandr Maiorov commited on
Commit
17d2ff9
·
1 Parent(s): 3838c61

v0.1.2 на Qwen

Browse files
Files changed (1) hide show
  1. app.py +16 -9
app.py CHANGED
@@ -6,6 +6,7 @@ from llama_cpp import Llama
6
  app = FastAPI()
7
 
8
  CHAT_TEMPLATE = '<|system|> {system_prompt}<|end|><|user|> {prompt}<|end|><|assistant|>'.strip()
 
9
 
10
  logging.basicConfig(
11
  format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
@@ -15,12 +16,12 @@ logger = logging.getLogger(__name__)
15
 
16
  logger.info("Запускаемся... 🥳🥳🥳")
17
 
18
- repo_id = "Vikhrmodels/QVikhr-2.5-1.5B-Instruct-SMPO_GGUF"
19
- filename = "QVikhr-2.5-1.5B-Instruct-SMPO-Q8_0.gguf"
20
 
21
  # Инициализация модели
22
  try:
23
- logger.info(f"Загрузка модели {filename}...")
24
 
25
  # загрузка модели для локального хранилища
26
  # llm = Llama(
@@ -36,9 +37,9 @@ try:
36
  # )
37
 
38
  # if not llm:
39
- llm = Llama.from_pretrained(
40
- repo_id=repo_id,
41
- filename=filename,
42
  n_gpu_layers=-1,
43
  n_ctx=1512,
44
  temperature=0.3,
@@ -59,11 +60,10 @@ def create_prompt(text: str) -> Union[str, None]:
59
  user_input = text
60
  logger.info(f"Получено сообщение: {user_input}")
61
 
62
- system_prompt = 'Ответ должен быть точным и кратким и если возможно шутливым.'
63
 
64
  # Генерация шаблона
65
  return CHAT_TEMPLATE.format(
66
- system_prompt=system_prompt,
67
  prompt=user_input,
68
  )
69
  except Exception as e:
@@ -73,7 +73,7 @@ def create_prompt(text: str) -> Union[str, None]:
73
  def generate_response(prompt: str) -> Optional[str]:
74
  try:
75
  # Обработка текстового сообщения
76
- output = llm(
77
  prompt,
78
  max_tokens=64,
79
  stop=["<|end|>"],
@@ -98,6 +98,13 @@ def generate_response(prompt: str) -> Optional[str]:
98
  def greet_json():
99
  return {"Hello": "World!"}
100
 
 
 
 
 
 
 
 
101
 
102
  @app.post("/predict")
103
  async def predict(text: str):
 
6
  app = FastAPI()
7
 
8
  CHAT_TEMPLATE = '<|system|> {system_prompt}<|end|><|user|> {prompt}<|end|><|assistant|>'.strip()
9
+ SYSTEM_PROMPT = '{prompt}'
10
 
11
  logging.basicConfig(
12
  format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
 
16
 
17
  logger.info("Запускаемся... 🥳🥳🥳")
18
 
19
+ REPO_ID = "Vikhrmodels/QVikhr-2.5-1.5B-Instruct-SMPO_GGUF"
20
+ FILENAME = "QVikhr-2.5-1.5B-Instruct-SMPO-Q8_0.gguf"
21
 
22
  # Инициализация модели
23
  try:
24
+ logger.info(f"Загрузка модели {FILENAME}...")
25
 
26
  # загрузка модели для локального хранилища
27
  # llm = Llama(
 
37
  # )
38
 
39
  # if not llm:
40
+ LLM = Llama.from_pretrained(
41
+ repo_id=REPO_ID,
42
+ filename=FILENAME,
43
  n_gpu_layers=-1,
44
  n_ctx=1512,
45
  temperature=0.3,
 
60
  user_input = text
61
  logger.info(f"Получено сообщение: {user_input}")
62
 
 
63
 
64
  # Генерация шаблона
65
  return CHAT_TEMPLATE.format(
66
+ system_prompt=SYSTEM_PROMPT.format(promt='Ответ должен быть точным, кратким и с юмором.'),
67
  prompt=user_input,
68
  )
69
  except Exception as e:
 
73
  def generate_response(prompt: str) -> Optional[str]:
74
  try:
75
  # Обработка текстового сообщения
76
+ output = LLM(
77
  prompt,
78
  max_tokens=64,
79
  stop=["<|end|>"],
 
98
  def greet_json():
99
  return {"Hello": "World!"}
100
 
101
+ @app.put("/system-prompt")
102
+ async def set_system_prompt(text: str):
103
+ # Генерация ответа с помощью модели
104
+ logger.info('post/system-prompt')
105
+ global SYSTEM_PROMPT
106
+ SYSTEM_PROMPT = SYSTEM_PROMPT.format(promt=text)
107
+ return {"set": 'ok'}
108
 
109
  @app.post("/predict")
110
  async def predict(text: str):