demo-llm / main.py
Petro
3
b245107
raw
history blame
1.11 kB
import os
from ctransformers import AutoModelForCausalLM
from fastapi import FastAPI
from pydantic import BaseModel
import requests
#
# llm = AutoModelForCausalLM.from_pretrained("zephyr-7b-beta.Q4_K_S.gguf",
# model_type='mistral',
# max_new_tokens = 1096,
# threads = 3,
# )
#Pydantic object
class validation(BaseModel):
prompt: str
#Fast API
app = FastAPI()
file_name = "zephyr-7b-beta.Q4_K_S.gguf"
if not os.path.exists(file_name):
print("Downloading model...")
url = "https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/resolve/main/zephyr-7b-beta.Q4_K_S.gguf"
response = requests.get(url)
print(response.status_code)
with open(file_name, 'wb') as file:
file.write(response.content)
@app.post("/llm_on_cpu")
async def stream(item: validation):
system_prompt = 'Below is an instruction that describes a task. Write a response that appropriately completes the request.'
E_INST = "</s>"
user, assistant = "<|user|>", "<|assistant|>"
prompt = f"{system_prompt}{E_INST}\n{user}\n{item.prompt}{E_INST}\n{assistant}\n"
# return llm(prompt)
return prompt