|
import os |
|
|
|
from ctransformers import AutoModelForCausalLM |
|
from fastapi import FastAPI |
|
from pydantic import BaseModel |
|
import requests |
|
from huggingface_hub import hf_hub_download |
|
|
|
file_name = "zephyr-7b-beta.Q4_K_S.gguf" |
|
if not os.path.exists(file_name): |
|
hf_hub_download("TheBloke/zephyr-7B-beta-GGUF", filename=file_name, local_dir=f"./") |
|
|
|
llm = AutoModelForCausalLM.from_pretrained(file_name, |
|
model_type='mistral', |
|
max_new_tokens = 1096, |
|
threads = 3, |
|
) |
|
|
|
|
|
class validation(BaseModel): |
|
prompt: str |
|
|
|
|
|
app = FastAPI() |
|
|
|
@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 prompt |