Spaces:
Sleeping
Sleeping
File size: 1,862 Bytes
8be9a5e f1d297d 8be9a5e f1d297d 8be9a5e f1d297d 8be9a5e f1d297d 8be9a5e f1d297d 0a0f8d3 1304134 0a0f8d3 1304134 0a0f8d3 6f91c68 0a0f8d3 6f91c68 0a0f8d3 6f91c68 dc30f13 0a0f8d3 6f91c68 dc30f13 0a0f8d3 1304134 0a0f8d3 6f91c68 f1d297d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import os
import threading
import subprocess
import gradio as gr
from llama_index.llms.ollama import Ollama
from llama_index.core.llms import ChatMessage
# Fonction pour démarrer le serveur Ollama
def start_ollama():
os.environ['OLLAMA_HOST'] = '127.0.0.1:11434'
os.environ['OLLAMA_ORIGINS'] = '*'
subprocess.run(["ollama", "serve"])
# Démarrer le serveur Ollama dans un thread séparé
ollama_thread = threading.Thread(target=start_ollama)
ollama_thread.start()
# Initialiser le modèle Ollama
llm = Ollama(model="llama3", request_timeout=120.0)
def get_completion(prompt):
response = llm.complete(prompt)
return response
def chat_with_llm(messages):
chat_messages = [ChatMessage(role=msg["role"], content=msg["content"]) for msg in messages]
response = llm.chat(chat_messages)
return response
def generate_response(prompt):
return get_completion(prompt)
def generate_chat_response(history):
messages = [{"role": "system", "content": "You are a pirate with a colorful personality"}]
for item in history:
messages.append({"role": "user", "content": item[0]})
if item[1]:
messages.append({"role": "assistant", "content": item[1]})
response = chat_with_llm(messages)
return response["content"]
single_input = gr.Textbox(lines=2, placeholder="Enter your prompt here...")
single_output = gr.Textbox()
single_interface = gr.Interface(fn=generate_response, inputs=single_input, outputs=single_output, title="LLM Single Completion")
chat_input = gr.Chatbot()
chat_output = gr.Textbox()
chat_interface = gr.Interface(fn=generate_chat_response, inputs=chat_input, outputs=chat_output, title="LLM Chat")
app = gr.TabbedInterface([single_interface, chat_interface], ["Single Completion", "Chat"])
if __name__ == "__main__":
app.launch(server_name="0.0.0.0", server_port=7860)
|