tracy04 commited on
Commit
d7ba616
·
verified ·
1 Parent(s): 5d31b1a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -7
app.py CHANGED
@@ -9,12 +9,15 @@ openai_client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
9
  from mistralai import Mistral
10
  mistral_client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
11
 
12
- # Choisis à l’exécution quel LLM utiliser
13
  DEFAULT_PROVIDER = "openai" # ou "mistral"
14
 
 
15
  def llm_chat(messages, max_tokens, temperature, top_p, provider=DEFAULT_PROVIDER):
 
 
16
  if provider == "openai":
17
- # Chat Completions (ex: gpt-4o-mini / gpt-4.1 / … selon ton compte)
18
  stream = openai_client.chat.completions.create(
19
  model="gpt-4o-mini",
20
  messages=messages,
@@ -29,7 +32,7 @@ def llm_chat(messages, max_tokens, temperature, top_p, provider=DEFAULT_PROVIDER
29
  yield delta.content
30
 
31
  elif provider == "mistral":
32
- # Models: "mistral-large-latest", "open-mistral-nemo", etc.
33
  stream = mistral_client.chat.stream(
34
  model="mistral-large-latest",
35
  messages=messages,
@@ -45,7 +48,7 @@ def llm_chat(messages, max_tokens, temperature, top_p, provider=DEFAULT_PROVIDER
45
  stream.close()
46
 
47
  else:
48
- yield "[Erreur] Provider inconnu."
49
 
50
 
51
  def respond(
@@ -55,18 +58,25 @@ def respond(
55
  max_tokens,
56
  temperature,
57
  top_p,
58
- provider # "openai" ou "mistral"
59
  ):
60
- # Construit le format messages attendu par les SDKs
61
  messages = [{"role": "system", "content": system_message}]
62
  messages.extend(history)
63
  messages.append({"role": "user", "content": message})
64
 
65
  response = ""
66
- for token in llm_chat(messages, provider, max_tokens, temperature, top_p):
 
 
 
 
 
 
67
  response += token
68
  yield response
69
 
 
70
  chatbot = gr.ChatInterface(
71
  respond,
72
  type="messages",
 
9
  from mistralai import Mistral
10
  mistral_client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
11
 
12
+ # Choix par défaut
13
  DEFAULT_PROVIDER = "openai" # ou "mistral"
14
 
15
+
16
  def llm_chat(messages, max_tokens, temperature, top_p, provider=DEFAULT_PROVIDER):
17
+ provider = (provider or "").strip().lower()
18
+
19
  if provider == "openai":
20
+ # Chat Completions OpenAI
21
  stream = openai_client.chat.completions.create(
22
  model="gpt-4o-mini",
23
  messages=messages,
 
32
  yield delta.content
33
 
34
  elif provider == "mistral":
35
+ # Chat Completions Mistral
36
  stream = mistral_client.chat.stream(
37
  model="mistral-large-latest",
38
  messages=messages,
 
48
  stream.close()
49
 
50
  else:
51
+ yield "[Erreur] Provider inconnu (utilise 'openai' ou 'mistral')."
52
 
53
 
54
  def respond(
 
58
  max_tokens,
59
  temperature,
60
  top_p,
61
+ provider, # "openai" ou "mistral"
62
  ):
63
+ # Construit le format messages attendu
64
  messages = [{"role": "system", "content": system_message}]
65
  messages.extend(history)
66
  messages.append({"role": "user", "content": message})
67
 
68
  response = ""
69
+ for token in llm_chat(
70
+ messages=messages,
71
+ max_tokens=max_tokens,
72
+ temperature=temperature,
73
+ top_p=top_p,
74
+ provider=provider,
75
+ ):
76
  response += token
77
  yield response
78
 
79
+
80
  chatbot = gr.ChatInterface(
81
  respond,
82
  type="messages",