Spaces:
Sleeping
Sleeping
| 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("✨ 脳みその読み込み完了!") | |
| # ブラウザで見に来た時の確認用画面(これでもうエラー画面にはなりません!) | |
| def read_root(): | |
| return {"status": "AI is awake and ready!", "message": "マスター、通信は正常です。AIは起動しています。"} | |
| # マスター専用の通信受付口(Termuxからの通信を直接脳みそに届ける) | |
| 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) |