Update README.md
#3
by
						
philschmid
	
							
						- opened
							
					
    	
        README.md
    CHANGED
    
    | 
         @@ -2,6 +2,51 @@ 
     | 
|
| 2 | 
         
             
            tags:
         
     | 
| 3 | 
         
             
            - image-to-text
         
     | 
| 4 | 
         
             
            - image-captioning
         
     | 
| 
         | 
|
| 5 | 
         
             
            license: bsd-3-clause
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 6 | 
         | 
| 7 | 
         
            -
             
     | 
| 
         | 
|
| 2 | 
         
             
            tags:
         
     | 
| 3 | 
         
             
            - image-to-text
         
     | 
| 4 | 
         
             
            - image-captioning
         
     | 
| 5 | 
         
            +
            - endpoints-template
         
     | 
| 6 | 
         
             
            license: bsd-3-clause
         
     | 
| 7 | 
         
            +
            library_name: generic
         
     | 
| 8 | 
         
            +
            ---
         
     | 
| 9 | 
         
            +
             
     | 
| 10 | 
         
            +
            # Blip Caption 🤗 Inference Endpoints
         
     | 
| 11 | 
         
            +
             
     | 
| 12 | 
         
            +
            This repository implements a `custom` task for `image-captioning` for 🤗 Inference Endpoints. The code for the customized pipeline is in the [pipeline.py](https://huggingface.co/florentgbelidji/blip_captioning/blob/main/pipeline.py).
         
     | 
| 13 | 
         
            +
            To use deploy this model a an Inference Endpoint you have to select `Custom` as task to use the `pipeline.py` file. -> _double check if it is selected_
         
     | 
| 14 | 
         
            +
            ### expected Request payload
         
     | 
| 15 | 
         
            +
            ```json
         
     | 
| 16 | 
         
            +
            {
         
     | 
| 17 | 
         
            +
              "image": "/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgICAgMC....", // base64 image as bytes
         
     | 
| 18 | 
         
            +
            }
         
     | 
| 19 | 
         
            +
            ```
         
     | 
| 20 | 
         
            +
            below is an example on how to run a request using Python and `requests`.
         
     | 
| 21 | 
         
            +
            ## Run Request 
         
     | 
| 22 | 
         
            +
            1. prepare an image. 
         
     | 
| 23 | 
         
            +
            ```bash
         
     | 
| 24 | 
         
            +
            !wget https://huggingface.co/datasets/mishig/sample_images/resolve/main/palace.jpg
         
     | 
| 25 | 
         
            +
            ```
         
     | 
| 26 | 
         
            +
            2. run request
         
     | 
| 27 | 
         
            +
            ```python
         
     | 
| 28 | 
         
            +
            import json
         
     | 
| 29 | 
         
            +
            from typing import List
         
     | 
| 30 | 
         
            +
            import requests as r
         
     | 
| 31 | 
         
            +
            import base64
         
     | 
| 32 | 
         
            +
             
     | 
| 33 | 
         
            +
            ENDPOINT_URL = ""
         
     | 
| 34 | 
         
            +
            HF_TOKEN = ""
         
     | 
| 35 | 
         
            +
             
     | 
| 36 | 
         
            +
            def predict(path_to_image: str = None):
         
     | 
| 37 | 
         
            +
                with open(path_to_image, "rb") as i:
         
     | 
| 38 | 
         
            +
                    b64 = base64.b64encode(i.read())
         
     | 
| 39 | 
         
            +
                payload = {"inputs": {"image": b64.decode("utf-8"), "candiates": candiates}}
         
     | 
| 40 | 
         
            +
                response = r.post(
         
     | 
| 41 | 
         
            +
                    ENDPOINT_URL, headers={"Authorization": f"Bearer {HF_TOKEN}"}, json=payload
         
     | 
| 42 | 
         
            +
                )
         
     | 
| 43 | 
         
            +
                return response.json()
         
     | 
| 44 | 
         
            +
            prediction = predict(
         
     | 
| 45 | 
         
            +
                path_to_image="palace.jpg"
         
     | 
| 46 | 
         
            +
            )
         
     | 
| 47 | 
         
            +
            ```
         
     | 
| 48 | 
         
            +
            expected output
         
     | 
| 49 | 
         
            +
            ```python
         
     | 
| 50 | 
         
            +
            ['buckingham palace with flower beds and red flowers']
         
     | 
| 51 | 
         | 
| 52 | 
         
            +
            ```
         
     |