Spaces:
Sleeping
Sleeping
add documentation
Browse files- api/routes/admin.py +3 -0
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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/
|
| 31 |
-
async def
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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)
|