{"openapi":"3.1.0","info":{"title":"Academic City Custom RAG Backend","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/api/chat":{"post":{"summary":"Chat","operationId":"chat_api_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RAGResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/logs":{"get":{"summary":"Logs","operationId":"logs_api_logs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PipelineLog"},"type":"array","title":"Response Logs Api Logs Get"}}}}}}},"/api/feedback":{"post":{"summary":"Feedback","operationId":"feedback_api_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ChatRequest":{"properties":{"query":{"type":"string","maxLength":5000,"minLength":1,"title":"Query"}},"type":"object","required":["query"],"title":"ChatRequest"},"FeedbackRequest":{"properties":{"query":{"type":"string","maxLength":5000,"minLength":1,"title":"Query"},"chunk_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Chunk Ids"},"helpful":{"type":"boolean","title":"Helpful"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["query","chunk_ids","helpful"],"title":"FeedbackRequest"},"FeedbackResponse":{"properties":{"status":{"type":"string","title":"Status"},"recorded":{"type":"integer","title":"Recorded"}},"type":"object","required":["status","recorded"],"title":"FeedbackResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PipelineLog":{"properties":{"step":{"type":"string","title":"Step"},"timestamp":{"type":"string","title":"Timestamp"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["step","timestamp"],"title":"PipelineLog"},"RAGResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"chunks":{"items":{"$ref":"#/components/schemas/RetrievedChunk"},"type":"array","title":"Chunks"},"finalPrompt":{"type":"string","title":"Finalprompt"},"logs":{"items":{"$ref":"#/components/schemas/PipelineLog"},"type":"array","title":"Logs"}},"type":"object","required":["answer","chunks","finalPrompt","logs"],"title":"RAGResponse"},"RetrievedChunk":{"properties":{"id":{"type":"string","title":"Id"},"source":{"type":"string","title":"Source"},"text":{"type":"string","title":"Text"},"similarityScore":{"type":"number","title":"Similarityscore"},"rank":{"type":"integer","title":"Rank"}},"type":"object","required":["id","source","text","similarityScore","rank"],"title":"RetrievedChunk"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}