shivnrn16 commited on
Commit
bffc3e2
·
verified ·
1 Parent(s): a6de042

app.py added

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