|
""" |
|
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': ['./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 ' |
|
'and present it as a bulleted list?') |
|
}, |
|
] |
|
) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|
|
|