gemini_example_multimodal_chat.py 736 Bytes
Newer Older
1
2
3
4
5
6
"""
Usage:
export GCP_PROJECT_ID=******
python3 gemini_example_multimodal_chat.py
"""
import sglang as sgl
shiyi.c_98's avatar
shiyi.c_98 committed
7
8


9
@sgl.function
shiyi.c_98's avatar
shiyi.c_98 committed
10
def image_qa(s, image_file1, image_file2, question):
11
12
    s += sgl.user(sgl.image(image_file1) + sgl.image(image_file2) + question)
    s += sgl.assistant(sgl.gen("answer", max_tokens=256))
shiyi.c_98's avatar
shiyi.c_98 committed
13
14


15
16
if __name__ == "__main__":
    sgl.set_default_backend(sgl.VertexAI("gemini-pro-vision"))
shiyi.c_98's avatar
shiyi.c_98 committed
17

18
19
20
21
22
23
24
25
26
27
28
29
    state = image_qa.run(
        image_file1="./images/cat.jpeg",
        image_file2="./images/dog.jpeg",
        question="Describe difference of the two images in one sentence.",
        stream=True
    )

    for out in state.text_iter("answer"):
        print(out, end="", flush=True)
    print()

    print(state["answer"])