yakimask / app.py
yakimask2's picture
Update app.py
d04f1ad verified
Raw
History Blame Contribute Delete
1.46 kB
import os
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from llama_cpp import Llama
app = FastAPI()
# AIの脳みそを直接読み込む
print("🧠 脳みそ(モデル)を読み込み中...")
llm = Llama(model_path="./model/qwen2.5-coder-1.5b-instruct-q4_k_m.gguf", n_ctx=10000, n_threads=2)
print("✨ 脳みその読み込み完了!")
# ブラウザで見に来た時の確認用画面(これでもうエラー画面にはなりません!)
@app.get("/")
def read_root():
return {"status": "AI is awake and ready!", "message": "マスター、通信は正常です。AIは起動しています。"}
# マスター専用の通信受付口(Termuxからの通信を直接脳みそに届ける)
@app.post("/v1/completions")
async def create_completion(request: Request):
try:
data = await request.json()
prompt = data.get("prompt", "")
max_tokens = data.get("max_tokens", 1024)
# 脳みそに直接考えさせる
output = llm(prompt, max_tokens=max_tokens, stop=["<|im_end|>"])
return JSONResponse(content={"choices": [{"text": output["choices"][0]["text"]}]})
except Exception as e:
return JSONResponse(status_code=500, content={"error": str(e)})
if __name__ == "__main__":
import uvicorn
# どんな複雑な通信でも絶対に受け入れる最強設定で起動
uvicorn.run(app, host="0.0.0.0", port=7860)