janar commited on
Commit
cc3240a
·
1 Parent(s): 92ef095

add documentation

Browse files
Files changed (2) hide show
  1. api/routes/admin.py +3 -0
  2. api/routes/search.py +13 -3
api/routes/admin.py CHANGED
@@ -10,6 +10,9 @@ router = APIRouter()
10
 
11
  @router.put("/admin/v1/db")
12
  async def recreate_collection(name: Annotated[str, Body(embed=True)]):
 
 
 
13
  print(f"creating collection {name} in db")
14
  return vector_store.client.recreate_collection(collection_name=name,
15
  vectors_config=VectorParams(size=1536, distance=Distance.COSINE))
 
10
 
11
  @router.put("/admin/v1/db")
12
  async def recreate_collection(name: Annotated[str, Body(embed=True)]):
13
+ """ `name` of the collection to be created.
14
+ If one exits, delete and recreate.
15
+ """
16
  print(f"creating collection {name} in db")
17
  return vector_store.client.recreate_collection(collection_name=name,
18
  vectors_config=VectorParams(size=1536, distance=Distance.COSINE))
api/routes/search.py CHANGED
@@ -17,7 +17,13 @@ router = APIRouter()
17
  _chain = load_qa_chain(OpenAI(temperature=0), chain_type="stuff")
18
 
19
  @router.post("/v1/docs")
20
- async def index_doc(name: Annotated[str, Body()], fileName: Annotated[str, Body()], file: UploadFile = File(...)):
 
 
 
 
 
 
21
  _db = vector_store.get_instance(name)
22
  if not _db:
23
  return JSONResponse(status_code=404, content={})
@@ -27,8 +33,12 @@ async def index_doc(name: Annotated[str, Body()], fileName: Annotated[str, Body(
27
  #todo return something sensible
28
  return JSONResponse(status_code=200, content={"name": name})
29
 
30
- @router.get("/v1/answers/{name}")
31
- async def search(name: str, query: str):
 
 
 
 
32
  _db = vector_store.get_instance(name)
33
  print(query)
34
  docs = _db.similarity_search(query=query)
 
17
  _chain = load_qa_chain(OpenAI(temperature=0), chain_type="stuff")
18
 
19
  @router.post("/v1/docs")
20
+ async def create_or_update(name: Annotated[str, Body()], fileName: Annotated[str, Body()], file: UploadFile = File(...)):
21
+ """create or update a collection
22
+ `name` of the collection
23
+ `file` to upload.
24
+ `fileName` name of the file.
25
+ """
26
+
27
  _db = vector_store.get_instance(name)
28
  if not _db:
29
  return JSONResponse(status_code=404, content={})
 
33
  #todo return something sensible
34
  return JSONResponse(status_code=200, content={"name": name})
35
 
36
+ @router.get("/v1/doc/{name}/answer")
37
+ async def answer(name: str, query: str):
38
+ """ Answer a question from the collection
39
+ `name` of the collection.
40
+ `query` to be answered.
41
+ """
42
  _db = vector_store.get_instance(name)
43
  print(query)
44
  docs = _db.similarity_search(query=query)