Всех приветствую. Питон изучаю не так давно, судите строго, ругайте. Суть вопроса и проблемы: пытаюсь интегрировать нейронку llama-cpp-python. И возникла потребность ускорить процесс получение ответа от неё, путём потоковой передачи этого ответа (stream = True далее вступает итерация циклом for) в отдельную переменную для дальнейшей передачи её в другую функцию. Проблема в том, что для дальнейшей функции, данные ответа должны быть как при использовании print("Hello World" end = ""). Надеюсь никого не запутал и вы поняли суть моего толкования.
from llama_cpp import Llama
from golosTTS import pspeak
import time
print("Загрузка...")
llm = Llama(
model_path="W:\pygmalion-2-7b.Q2_K.gguf",
n_threads=8,
n_batch=512,
n_gpu_layers=43,
n_ctx=4096,
)
print("Загрузка завершена.")
while True:
print("Введите запрос: ")
prompt = input()
input_prompt = f'''SYSTEM: Вы полезный, уважительный и честный помощник. Всегда отвечайте на русском языке.
USER: {prompt}
ASSISTANT:
'''
output = llm(
input_prompt,
max_tokens=500,
temperature=0.8,
top_p=0.95,
repeat_penalty=1.2,
stream=True,
top_k=50,
stop = ['USER:'],
echo=False)
llavw = list()
for stream in output:
llav = stream["choices"][0]["text"]
llavw.append(str(llav)) #ВОТ ТУТ И ЗАГВОСТКА
spisok = "".join(llavw)
otvet = llav.replace(spisok, "")
print(spisok)