|
""" |
|
File: module_chat.py |
|
Description: A module for chat using text (+images) with a multimodal interface. |
|
Author: Didier Guillevic |
|
Date: 2025-03-16 |
|
""" |
|
|
|
import gradio as gr |
|
import vlm |
|
|
|
def process(message, history): |
|
"""Generate the model response given message and history |
|
""" |
|
messages = vlm.build_messages(message, history) |
|
return vlm.get_response(messages) |
|
|
|
|
|
|
|
|
|
with gr.Blocks() as demo: |
|
chat_interface = gr.ChatInterface( |
|
fn=process, |
|
|
|
multimodal=True, |
|
examples=[ |
|
"How can we rationalize quantum entanglement?", |
|
"Peux-tu expliquer le terme 'quantum spin'?", |
|
{ |
|
'files': ['./passport_jp.png',], |
|
'text': 'Can you extract the information present in the image?' |
|
}, |
|
{ |
|
'files': ['./sample_ID.jpeg',], 'text': |
|
'Describe this image in a few words.' |
|
}, |
|
{ |
|
'files': ['./sample_ID.jpeg',], |
|
'text': 'Could you extract the information present in the image?' |
|
}, |
|
], |
|
cache_examples=False |
|
) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|
|
|