Spaces:
Runtime error
Runtime error
File size: 1,212 Bytes
bffc3e2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import requests
import os
from dotenv import load_dotenv
load_dotenv()
app = FastAPI(title="Ollama Workflow Generator API")
OLLAMA_BASE_URL = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434")
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "phi3:mini")
class PromptRequest(BaseModel):
prompt: str
@app.post("/api/prompt")
def generate_workflow(request: PromptRequest):
payload = {
"model": OLLAMA_MODEL,
"prompt": request.prompt
}
try:
response = requests.post(f"{OLLAMA_BASE_URL}/api/generate", json=payload, stream=True)
response.raise_for_status()
full_response = ""
for line in response.iter_lines():
if line:
data = line.decode("utf-8")
if '"response"' in data:
full_response += data.split('"response":"')[1].split('"')[0]
return {"model": OLLAMA_MODEL, "response": full_response.strip()}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/")
def root():
return {"message": "Ollama Workflow Generator API is running!"}
|