/ src / python / txtai / api / routers / caption.py
caption.py
 1  """
 2  Defines API paths for caption endpoints.
 3  """
 4  
 5  from typing import List
 6  
 7  from fastapi import APIRouter, Body
 8  
 9  from .. import application
10  from ..route import EncodingAPIRoute
11  
12  router = APIRouter(route_class=EncodingAPIRoute)
13  
14  
15  @router.get("/caption")
16  def caption(file: str):
17      """
18      Builds captions for images.
19  
20      Args:
21          file: file to process
22  
23      Returns:
24          list of captions
25      """
26  
27      return application.get().pipeline("caption", (file,))
28  
29  
30  @router.post("/batchcaption")
31  def batchcaption(files: List[str] = Body(...)):
32      """
33      Builds captions for images.
34  
35      Args:
36          files: list of files to process
37  
38      Returns:
39          list of captions
40      """
41  
42      return application.get().pipeline("caption", (files,))