krstakis commited on
Commit
63a3ec4
·
1 Parent(s): a6f64da

fixed imports and back to multistaging

Browse files
Dockerfile CHANGED
@@ -1,37 +1,38 @@
1
- # FROM python:3.9 as core
2
- #
3
- # COPY ./core/requirements.txt ./requirements.txt
4
- # RUN pip install -r requirements.txt
5
- #
6
- # WORKDIR /app
7
- #
8
- # COPY ./core .
9
- # RUN python ./initialization.py
10
- #
11
- # FROM python:3.9
12
- #
13
- # COPY ./api/requirements.txt ./requirements.txt
14
- # RUN pip install -r requirements.txt
15
- #
16
- # WORKDIR /app
17
- # COPY ./api .
18
- #
19
- # COPY --from=core /app/engine.pickle /app/engine.pickle
20
- #
21
- # EXPOSE 9999
22
- # ENTRYPOINT ["python", "service_manager.py"]
23
- FROM python:3.9 as build
24
 
25
- COPY ./requirements.txt ./requirements.txt
26
  RUN pip install -r requirements.txt
27
 
28
  WORKDIR /app
29
 
30
- COPY . .
 
31
 
32
- RUN mkdir -p /app/cache && chmod -R 777 /app/cache
33
 
34
- ENV TRANSFORMERS_CACHE=/app/cache
 
 
 
 
 
 
35
 
36
  EXPOSE 9999
37
- ENTRYPOINT ["python", "run.py"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9 as core
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
+ COPY ./core/requirements.txt ./requirements.txt
4
  RUN pip install -r requirements.txt
5
 
6
  WORKDIR /app
7
 
8
+ COPY ./core .
9
+ RUN python ./initialization.py
10
 
11
+ FROM python:3.9
12
 
13
+ COPY ./api/requirements.txt ./requirements.txt
14
+ RUN pip install -r requirements.txt
15
+
16
+ WORKDIR /app
17
+ COPY ./api .
18
+
19
+ COPY --from=core /app/engine.pickle /app/engine.pickle
20
 
21
  EXPOSE 9999
22
+ ENTRYPOINT ["python", "service_manager.py"]
23
+
24
+ # FROM python:3.9 as build
25
+ #
26
+ # COPY ./requirements.txt ./requirements.txt
27
+ # RUN pip install -r requirements.txt
28
+ #
29
+ # WORKDIR /app
30
+ #
31
+ # COPY . .
32
+ #
33
+ # RUN mkdir -p /app/cache && chmod -R 777 /app/cache
34
+ #
35
+ # ENV TRANSFORMERS_CACHE=/app/cache
36
+ #
37
+ # EXPOSE 9999
38
+ # ENTRYPOINT ["python", "run.py"]
api/service_manager.py CHANGED
@@ -1,4 +1,4 @@
1
- from web_server import app
2
  import uvicorn
3
 
4
 
@@ -9,5 +9,4 @@ def run():
9
 
10
  uvicorn.run(app, host="0.0.0.0", port=8000)
11
 
12
- run()
13
 
 
1
+ from .web_server import app
2
  import uvicorn
3
 
4
 
 
9
 
10
  uvicorn.run(app, host="0.0.0.0", port=8000)
11
 
 
12
 
api/web_server.py CHANGED
@@ -1,7 +1,7 @@
1
  import dill
2
  from fastapi import FastAPI, HTTPException
3
  from pydantic import BaseModel
4
- from core.search_engine import PromptSearchEngine
5
 
6
 
7
  class Query(BaseModel):
@@ -11,7 +11,7 @@ class Query(BaseModel):
11
 
12
  app = FastAPI()
13
 
14
- with open('../core/engine.pickle', 'rb') as file:
15
  serialized_engine = file.read()
16
 
17
  prompt_search_engine = dill.loads(serialized_engine)
@@ -19,8 +19,21 @@ prompt_search_engine = dill.loads(serialized_engine)
19
 
20
  @app.post("/search/")
21
  async def search(query: Query):
 
 
 
 
22
  try:
 
 
 
 
 
 
23
  results = prompt_search_engine.most_similar(query.prompt, query.n)
24
- return {"results": results}
 
 
 
25
  except Exception as e:
26
  raise HTTPException(status_code=500, detail=str(e))
 
1
  import dill
2
  from fastapi import FastAPI, HTTPException
3
  from pydantic import BaseModel
4
+ # from ..core.search_engine import PromptSearchEngine
5
 
6
 
7
  class Query(BaseModel):
 
11
 
12
  app = FastAPI()
13
 
14
+ with open('./engine.pickle', 'rb') as file:
15
  serialized_engine = file.read()
16
 
17
  prompt_search_engine = dill.loads(serialized_engine)
 
19
 
20
  @app.post("/search/")
21
  async def search(query: Query):
22
+ """
23
+ TODO
24
+ """
25
+
26
  try:
27
+ if not isinstance(query.prompt, str):
28
+ raise ValueError("Prompt must be a string")
29
+
30
+ if not isinstance(query.n, int):
31
+ raise ValueError("Prompt must be a string")
32
+
33
  results = prompt_search_engine.most_similar(query.prompt, query.n)
34
+ formatted_results = [{"score": float(score), "description": desc} for score, desc in results]
35
+
36
+ return formatted_results
37
+
38
  except Exception as e:
39
  raise HTTPException(status_code=500, detail=str(e))
core/__pycache__/initialization.cpython-39.pyc ADDED
Binary file (699 Bytes). View file
 
core/__pycache__/search_engine.cpython-39.pyc CHANGED
Binary files a/core/__pycache__/search_engine.cpython-39.pyc and b/core/__pycache__/search_engine.cpython-39.pyc differ
 
core/initialization.py CHANGED
@@ -1,6 +1,6 @@
1
  import dill
2
- from core.data.dataset import PromptDataset
3
- from core.search_engine import PromptSearchEngine
4
 
5
 
6
  def run():
@@ -18,4 +18,4 @@ def run():
18
  with open("engine.pickle", "wb") as file:
19
  file.write(serialized_engine)
20
 
21
- run()
 
1
  import dill
2
+ from .search_engine import PromptSearchEngine
3
+ from .data.dataset import PromptDataset
4
 
5
 
6
  def run():
 
18
  with open("engine.pickle", "wb") as file:
19
  file.write(serialized_engine)
20
 
21
+ run()
core/requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  datasets==2.20.0
2
  dill==0.3.8
3
  faiss_cpu==1.8.0.post1
 
4
  sentence_transformers==3.0.1
 
1
  datasets==2.20.0
2
  dill==0.3.8
3
  faiss_cpu==1.8.0.post1
4
+ numpy==1.23.5
5
  sentence_transformers==3.0.1
core/search_engine.py CHANGED
@@ -1,7 +1,7 @@
1
  from typing import List, Sequence, Tuple
2
  import numpy as np
3
  import faiss
4
- from core.vectorizer import Vectorizer
5
 
6
 
7
  class PromptSearchEngine(object):
 
1
  from typing import List, Sequence, Tuple
2
  import numpy as np
3
  import faiss
4
+ from .vectorizer import Vectorizer
5
 
6
 
7
  class PromptSearchEngine(object):
requirements.txt CHANGED
@@ -5,3 +5,4 @@ fastapi==0.111.1
5
  pydantic==2.8.2
6
  sentence_transformers==3.0.1
7
  uvicorn==0.30.3
 
 
5
  pydantic==2.8.2
6
  sentence_transformers==3.0.1
7
  uvicorn==0.30.3
8
+ numpy==1.23.5