Jayanth-MKV commited on
Commit
6e3ff9f
·
verified ·
1 Parent(s): 546388c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -7
app.py CHANGED
@@ -4,6 +4,7 @@ import random
4
  import json
5
  from fastapi import FastAPI, HTTPException
6
  from pydantic import BaseModel
 
7
 
8
  # Load the model from Hugging Face
9
  nlp = spacy.load("en_pipeline")
@@ -68,7 +69,11 @@ def get_response(text):
68
  else:
69
  return "I'm not quite sure what you're asking. Could you please provide more details or rephrase your question?"
70
 
71
- app = FastAPI()
 
 
 
 
72
 
73
  class ChatInput(BaseModel):
74
  message: str
@@ -149,20 +154,35 @@ async def get_faqs():
149
  end_index = start_index + 5
150
  return {"faqs": faqs[start_index:end_index]}
151
 
152
- @app.get("/", summary="Root endpoint", response_description="Welcome message")
153
- def read_root():
154
  """
155
- Root endpoint that returns a welcome message.
156
 
157
  Example response:
158
  ```json
159
  {
160
- "Docs": "https://jayanth-mkv-chat-assist-pro.hf.space/docs"
 
 
 
 
 
 
161
  }
162
  ```
163
  """
164
- return {"Docs": "https://jayanth-mkv-chat-assist-pro.hf.space/docs"}
 
 
 
 
 
 
 
 
 
165
 
166
  if __name__ == "__main__":
167
  import uvicorn
168
- uvicorn.run(app, host="0.0.0.0", port=8000)
 
4
  import json
5
  from fastapi import FastAPI, HTTPException
6
  from pydantic import BaseModel
7
+ from fastapi.responses import HTMLResponse
8
 
9
  # Load the model from Hugging Face
10
  nlp = spacy.load("en_pipeline")
 
69
  else:
70
  return "I'm not quite sure what you're asking. Could you please provide more details or rephrase your question?"
71
 
72
+ app = FastAPI(
73
+ title="Intent Classification Chatbot API",
74
+ description="This API provides endpoints for chatting with an intent classification bot, getting intents for messages, and accessing FAQs.",
75
+ version="1.0.0",
76
+ )
77
 
78
  class ChatInput(BaseModel):
79
  message: str
 
154
  end_index = start_index + 5
155
  return {"faqs": faqs[start_index:end_index]}
156
 
157
+ @app.get("/intents", summary="Get all available intent categories", response_description="List of all intent categories")
158
+ async def get_intents():
159
  """
160
+ This endpoint returns a list of all available intent categories supported by the chatbot.
161
 
162
  Example response:
163
  ```json
164
  {
165
+ "intents": [
166
+ "get_invoice",
167
+ "payment_issue",
168
+ "check_invoice",
169
+ "contact_customer_service",
170
+ ...
171
+ ]
172
  }
173
  ```
174
  """
175
+ return {"intents": list(intents_responses.keys())}
176
+
177
+ @app.get("/", response_class=HTMLResponse)
178
+ async def read_root():
179
+ """
180
+ Root endpoint that returns an HTML page with information about the API.
181
+ """
182
+ with open("index.html", "r") as f:
183
+ html_content = f.read()
184
+ return HTMLResponse(content=html_content, status_code=200)
185
 
186
  if __name__ == "__main__":
187
  import uvicorn
188
+ uvicorn.run(app, host="0.0.0.0", port=8000)