Update app.py
Browse files
app.py
CHANGED
|
@@ -15,6 +15,9 @@ from uuid import uuid4
|
|
| 15 |
import re
|
| 16 |
import matplotlib.pyplot as plt
|
| 17 |
import spaces
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
from rdkit import Chem
|
| 20 |
from rdkit.Chem import AllChem, QED
|
|
@@ -702,6 +705,30 @@ def clear_history():
|
|
| 702 |
global chat_history
|
| 703 |
chat_history = []
|
| 704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 705 |
with gr.Blocks() as forest:
|
| 706 |
gr.Markdown('''
|
| 707 |
# MoDrAg - the *Mo*dular *Dr*ug Design *Ag*ent!
|
|
@@ -743,10 +770,13 @@ with gr.Blocks() as forest:
|
|
| 743 |
chat_btn = gr.Button(value = "Send")
|
| 744 |
|
| 745 |
clear = gr.ClearButton([task])
|
|
|
|
| 746 |
pic = gr.Image(label="Molecules (if needed)")
|
| 747 |
-
|
| 748 |
chat_btn.click(DDAgent, inputs = [task], outputs = [task, chatbot, pic])
|
| 749 |
task.submit(DDAgent, [task], [task, chatbot, pic])
|
| 750 |
clear.click(clear_history)
|
|
|
|
|
|
|
| 751 |
|
| 752 |
forest.launch(debug=False, mcp_server=True)
|
|
|
|
| 15 |
import re
|
| 16 |
import matplotlib.pyplot as plt
|
| 17 |
import spaces
|
| 18 |
+
from elevenlabs.client import ElevenLabs
|
| 19 |
+
from elevenlabs import stream
|
| 20 |
+
import base64
|
| 21 |
|
| 22 |
from rdkit import Chem
|
| 23 |
from rdkit.Chem import AllChem, QED
|
|
|
|
| 705 |
global chat_history
|
| 706 |
chat_history = []
|
| 707 |
|
| 708 |
+
def get_speech():
|
| 709 |
+
elita_text = "Hi, I'm Modrag! Let's design together!"
|
| 710 |
+
|
| 711 |
+
voice_settings = {
|
| 712 |
+
"stability": 0.37,
|
| 713 |
+
"similarity_boost": 0.90,
|
| 714 |
+
"style": 0.0,
|
| 715 |
+
"speed": 1.05
|
| 716 |
+
}
|
| 717 |
+
|
| 718 |
+
audio_stream = elevenlabs.text_to_speech.convert(
|
| 719 |
+
text = elita_text,
|
| 720 |
+
voice_id = 'vxO9F6g9yqYJ4RsWvMbc',
|
| 721 |
+
model_id = 'eleven_multilingual_v2',
|
| 722 |
+
output_format='mp3_44100_128',
|
| 723 |
+
voice_settings=voice_settings
|
| 724 |
+
)
|
| 725 |
+
|
| 726 |
+
audio_converted = b"".join(audio_stream)
|
| 727 |
+
audio = base64.b64encode(audio_converted).decode("utf-8")
|
| 728 |
+
audio_player = f'<audio src="data:audio/mpeg;base64,{audio}" controls autoplay></audio>'
|
| 729 |
+
|
| 730 |
+
return audio_player
|
| 731 |
+
|
| 732 |
with gr.Blocks() as forest:
|
| 733 |
gr.Markdown('''
|
| 734 |
# MoDrAg - the *Mo*dular *Dr*ug Design *Ag*ent!
|
|
|
|
| 770 |
chat_btn = gr.Button(value = "Send")
|
| 771 |
|
| 772 |
clear = gr.ClearButton([task])
|
| 773 |
+
modrags_voice = gr.HTML()
|
| 774 |
pic = gr.Image(label="Molecules (if needed)")
|
| 775 |
+
|
| 776 |
chat_btn.click(DDAgent, inputs = [task], outputs = [task, chatbot, pic])
|
| 777 |
task.submit(DDAgent, [task], [task, chatbot, pic])
|
| 778 |
clear.click(clear_history)
|
| 779 |
+
modrags_voice.release(get_speech, outputs=[modrags_voice])
|
| 780 |
+
|
| 781 |
|
| 782 |
forest.launch(debug=False, mcp_server=True)
|