Yermek68 commited on
Commit
9ed420a
·
verified ·
1 Parent(s): 6fe864a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -43
app.py CHANGED
@@ -1,44 +1,44 @@
1
- from fastapi import FastAPI, UploadFile, File
2
- from typing import List
3
- import chromadb
4
-
5
- app = FastAPI(title="Eroha AgentAPI", version="2.1.1")
6
-
7
- client = chromadb.Client()
8
- collection = client.get_or_create_collection("eroha_docs")
9
-
10
- embedder = None
11
- summarizer = None
12
-
13
- @app.get("/")
14
- def home():
15
- return {
16
- "message": "Eroha AgentAPI is alive!",
17
- "routes": ["/check", "/summarize"]
18
- }
19
-
20
- @app.get("/check")
21
- def check_health():
22
- return {
23
- "status": "ok",
24
- "version": "2.1.1",
25
- "components": ["lazy embedding", "lazy summarizer"]
26
- }
27
-
28
- @app.post("/summarize")
29
- async def summarize_text(files: List[UploadFile] = File(...)):
30
- global embedder, summarizer
31
- if embedder is None or summarizer is None:
32
- from sentence_transformers import SentenceTransformer
33
- from transformers import pipeline
34
- embedder = SentenceTransformer("all-MiniLM-L6-v2")
35
- summarizer = pipeline("text2text-generation", model="google/flan-t5-base")
36
-
37
- texts = []
38
- for file in files:
39
- content = await file.read()
40
- texts.append(content.decode("utf-8"))
41
-
42
- full_text = "\n".join(texts)
43
- summary = summarizer(full_text, max_length=150, min_length=40, do_sample=False)
44
  return {"summary": summary[0]["generated_text"]}
 
1
+ from fastapi import FastAPI, UploadFile, File
2
+ from typing import List
3
+ import chromadb
4
+
5
+ app = FastAPI(title="Eroha AgentAPI", version="2.1.1")
6
+
7
+ client = chromadb.Client()
8
+ collection = client.get_or_create_collection("eroha_docs")
9
+
10
+ embedder = None
11
+ summarizer = None
12
+
13
+ @app.get("/")
14
+ def home():
15
+ return {
16
+ "message": "Eroha AgentAPI is alive!",
17
+ "routes": ["/check", "/summarize"]
18
+ }
19
+
20
+ @app.get("/check")
21
+ def check_health():
22
+ return {
23
+ "status": "ok",
24
+ "version": "2.1.1",
25
+ "components": ["lazy embedding", "lazy summarizer"]
26
+ }
27
+
28
+ @app.post("/summarize")
29
+ async def summarize_text(files: List[UploadFile] = File(...)):
30
+ global embedder, summarizer
31
+ if embedder is None or summarizer is None:
32
+ from sentence_transformers import SentenceTransformer
33
+ from transformers import pipeline
34
+ embedder = SentenceTransformer("all-MiniLM-L6-v2")
35
+ summarizer = pipeline("text2text-generation", model="google/flan-t5-base")
36
+
37
+ texts = []
38
+ for file in files:
39
+ content = await file.read()
40
+ texts.append(content.decode("utf-8"))
41
+
42
+ full_text = "\n".join(texts)
43
+ summary = summarizer(full_text, max_length=150, min_length=40, do_sample=False)
44
  return {"summary": summary[0]["generated_text"]}