| | from fastapi import Depends, FastAPI, Header, HTTPException |
| | from fastapi.middleware.cors import CORSMiddleware |
| | from fastapi.responses import RedirectResponse |
| | from routers import tokenize, soundex, util, spell |
| | from fastapi_mcp import FastApiMCP |
| | import pythainlp |
| |
|
| |
|
| | DESC_TEXT = """# PyThaiNLP API |
| | |
| | PyThaiNLP API |
| | """ |
| |
|
| |
|
| | app = FastAPI( |
| | title='PyThaiNLP API', |
| | description=DESC_TEXT, |
| | |
| | version="0.0.1", |
| | debug=False, |
| | |
| | |
| | |
| | |
| | |
| | |
| | license_info={ |
| | "name": "Apache 2.0", |
| | "url": "https://www.apache.org/licenses/LICENSE-2.0.html", |
| | }, |
| | ) |
| |
|
| | app.add_middleware( |
| | CORSMiddleware, |
| | allow_origins=["*"], |
| | allow_credentials=True, |
| | allow_methods=["*"], |
| | allow_headers=["*"], |
| | ) |
| |
|
| |
|
| | @app.get("/") |
| | def index(): |
| | response = RedirectResponse(url='/docs') |
| | return response |
| |
|
| | @app.get("/version") |
| | def version(): |
| | """ |
| | Get PyThaiNLP Version |
| | """ |
| | return {"version": pythainlp.__version__} |
| |
|
| | app.include_router(tokenize.router, prefix="/tokenize", tags=["Tokenize"]) |
| | app.include_router(soundex.router, prefix="/soundex", tags=["Soundex"]) |
| | app.include_router(spell.router, prefix="/spell", tags=["Spell"]) |
| | app.include_router(util.router, prefix="/util", tags=["Util"]) |
| | mcp = FastApiMCP(app) |
| |
|
| | |
| | mcp.mount() |