|
import os |
|
|
|
from ctransformers import AutoModelForCausalLM |
|
from fastapi import FastAPI |
|
from pydantic import BaseModel |
|
import requests |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class validation(BaseModel): |
|
prompt: str |
|
|
|
|
|
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 prompt |