| """ |
| 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) |
| yield from vlm.stream_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() |
|
|
|
|