Spaces:
Sleeping
Sleeping
Aleksandr Maiorov
commited on
Commit
·
17d2ff9
1
Parent(s):
3838c61
v0.1.2 на Qwen
Browse files
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 |
-
|
19 |
-
|
20 |
|
21 |
# Инициализация модели
|
22 |
try:
|
23 |
-
logger.info(f"Загрузка модели {
|
24 |
|
25 |
# загрузка модели для локального хранилища
|
26 |
# llm = Llama(
|
@@ -36,9 +37,9 @@ try:
|
|
36 |
# )
|
37 |
|
38 |
# if not llm:
|
39 |
-
|
40 |
-
repo_id=
|
41 |
-
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=
|
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 =
|
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):
|