Logeswaransr's picture
App update
3ee8645
import gradio as gr
from ollama import chat, ChatResponse
import subprocess
import time
model_id = "deepseek-r1:1.5b"
def interact(message: str, history: list):
message_dct = {
"role": "user",
"content": message
}
chat_history = [msg for msg in history]
chat_history.append(message_dct)
response: ChatResponse = chat(
model=model_id,
messages=chat_history,
stream=True
)
text_response = ""
thinking_response = gr.ChatMessage(content="", metadata={"title":"Thinking Cloud"})
thinking = False
for chunk in response:
bit = chunk["message"]["content"]
if(bit == "<think>"):
thinking = True
continue
elif(bit == "</think>"):
thinking = False
continue
if(thinking):
thinking_response.content += bit
else:
text_response += bit
final_response = [thinking_response, text_response]
yield final_response
interface = gr.ChatInterface(
fn=interact,
type="messages",
title="Deepseek-R1 Chat Interface",
description="Model: Deepseek R1: 1.5B params"
)
if __name__ == "__main__":
print("\n\nStarting Ollama...\n\n")
subprocess.Popen(["ollama", "serve"])
time.sleep(10)
print("\n\nOllama started successfully!!\n\n\n\nTesting...\n\n")
subprocess.run(["ollama", "pull", model_id])
time.sleep(5)
print("\n\nDeepseek-R1 started successfully!!\n\n")
interface.launch(server_name="0.0.0.0", server_port=7860)