[REST API] Incorporate changes related to REST API docs (#900)

This commit is contained in:
Deshraj Yadav
2023-11-03 00:42:55 -07:00
committed by GitHub
parent 8dd5cb9602
commit fa3ca1d08a
23 changed files with 323 additions and 49 deletions

View File

@@ -8,8 +8,8 @@ RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
EXPOSE 8000
EXPOSE 8080
ENV NAME embedchain
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]

View File

@@ -1,7 +1,7 @@
## Single command to rule them all,
```bash
docker run -d --name embedchain -p 8000:8000 embedchain/app:rest-api-latest
docker run -d --name embedchain -p 8080:8080 embedchain/app:rest-api-latest
```
### To run the app locally,
@@ -15,7 +15,7 @@ Using docker (locally),
```bash
docker build -t embedchain/app:rest-api-latest .
docker run -d --name embedchain -p 8000:8000 embedchain/app:rest-api-latest
docker run -d --name embedchain -p 8080:8080 embedchain/app:rest-api-latest
docker image push embedchain/app:rest-api-latest
```

View File

@@ -5,7 +5,7 @@ meta {
}
post {
url: http://localhost:8000/add
url: http://localhost:8080/add
body: json
auth: none
}

View File

@@ -5,7 +5,7 @@ meta {
}
post {
url: http://localhost:8000/chat
url: http://localhost:8080/chat
body: json
auth: none
}

View File

@@ -5,7 +5,7 @@ meta {
}
post {
url: http://localhost:8000/query
url: http://localhost:8080/query
body: json
auth: none
}

View File

@@ -5,7 +5,7 @@ meta {
}
get {
url: http://localhost:8000/ping
url: http://localhost:8080/ping
body: json
auth: none
}

View File

@@ -39,7 +39,7 @@ app = FastAPI(
@app.get("/ping", tags=["Utility"])
def check_status():
"""
Endpoint to check the status of the API.
Endpoint to check the status of the API
"""
return {"ping": "pong"}
@@ -85,7 +85,7 @@ async def create_app_using_default_config(app_id: str, config: UploadFile = None
return DefaultResponse(response=f"App created successfully. App ID: {app_id}")
except Exception as e:
raise HTTPException(detail=f"Error creating app: {e}", status_code=400)
raise HTTPException(detail=f"Error creating app: {str(e)}", status_code=400)
@app.get(
@@ -94,7 +94,7 @@ async def create_app_using_default_config(app_id: str, config: UploadFile = None
)
async def get_datasources_associated_with_app_id(app_id: str, db: Session = Depends(get_db)):
"""
Get all datasources for an app.\n
Get all data sources for an app.\n
app_id: The ID of the app. Use "default" for the default app.\n
"""
try:
@@ -120,7 +120,7 @@ async def get_datasources_associated_with_app_id(app_id: str, db: Session = Depe
status_code=400,
)
except Exception as e:
raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
@app.post(
@@ -158,7 +158,7 @@ async def add_datasource_to_an_app(body: SourceApp, app_id: str, db: Session = D
status_code=400,
)
except Exception as e:
raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
@app.post(
@@ -195,7 +195,7 @@ async def query_an_app(body: QueryApp, app_id: str, db: Session = Depends(get_db
status_code=400,
)
except Exception as e:
raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
# FIXME: The chat implementation of Embedchain needs to be modified to work with the REST API.
@@ -236,7 +236,7 @@ async def query_an_app(body: QueryApp, app_id: str, db: Session = Depends(get_db
# status_code=400,
# )
# except Exception as e:
# raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
# raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
@app.post(
@@ -278,7 +278,7 @@ async def deploy_app(body: DeployAppRequest, app_id: str, db: Session = Depends(
status_code=400,
)
except Exception as e:
raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
@app.delete(
@@ -311,11 +311,11 @@ async def delete_app(app_id: str, db: Session = Depends(get_db)):
remove_app(db, app_id)
return DefaultResponse(response=f"App with id {app_id} deleted successfully.")
except Exception as e:
raise HTTPException(detail=f"Error occurred: {e}", status_code=400)
raise HTTPException(detail=f"Error occurred: {str(e)}", status_code=400)
if __name__ == "__main__":
import uvicorn
is_dev = os.getenv("DEVELOPMENT", "False")
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=bool(is_dev))
uvicorn.run("main:app", host="0.0.0.0", port=8080, reload=bool(is_dev))