Commit
·
bf2eff3
1
Parent(s):
2d52870
Update
Browse files- app.py +8 -10
- config.yaml +15 -20
- model/selector.py +9 -9
- pages/chatbot.py +2 -2
- pages/form.py +1 -1
app.py
CHANGED
@@ -50,22 +50,20 @@ def main():
|
|
50 |
|
51 |
saved_documents = st.Page("pages/persistent_documents.py", title="Communs", icon="🗃️")
|
52 |
documents = st.Page("pages/documents.py", title="Vos documents", icon="📂")
|
53 |
-
prompt_system = st.Page("pages/prompt_system.py", title="Prompt système", icon="🖊️"
|
54 |
-
form = st.Page("pages/form.py", title="Paramètres", icon="📋")
|
55 |
chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="🤖")
|
56 |
|
57 |
pg = st.navigation(
|
58 |
-
{
|
59 |
-
"
|
|
|
|
|
|
|
|
|
60 |
saved_documents,
|
61 |
documents,
|
62 |
-
],
|
63 |
-
"Configurations": [
|
64 |
prompt_system,
|
65 |
-
form,
|
66 |
-
],
|
67 |
-
"Dialogue": [
|
68 |
-
chatbot
|
69 |
],
|
70 |
}
|
71 |
)
|
|
|
50 |
|
51 |
saved_documents = st.Page("pages/persistent_documents.py", title="Communs", icon="🗃️")
|
52 |
documents = st.Page("pages/documents.py", title="Vos documents", icon="📂")
|
53 |
+
prompt_system = st.Page("pages/prompt_system.py", title="Prompt système", icon="🖊️")
|
54 |
+
form = st.Page("pages/form.py", title="Paramètres", icon="📋", default=True)
|
55 |
chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="🤖")
|
56 |
|
57 |
pg = st.navigation(
|
58 |
+
{
|
59 |
+
"Viticulteur": [
|
60 |
+
form,
|
61 |
+
chatbot,
|
62 |
+
],
|
63 |
+
"Conseiller": [
|
64 |
saved_documents,
|
65 |
documents,
|
|
|
|
|
66 |
prompt_system,
|
|
|
|
|
|
|
|
|
67 |
],
|
68 |
}
|
69 |
)
|
config.yaml
CHANGED
@@ -1,23 +1,16 @@
|
|
1 |
prompts:
|
2 |
-
|
3 |
-
- "Quelle est
|
|
|
4 |
- "Est-ce que mon prix de vente est en corrélation avec le marché ?"
|
5 |
-
- "
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
- "Quels
|
11 |
-
- "Quel est le
|
12 |
-
- "
|
13 |
-
- "Quels est le cout moyen de main d'oeuvre à l'hectare dans ma région?"
|
14 |
-
- "Quel est le cout de production moyen d'une bouteille de champagne?"
|
15 |
-
- "Quel est le coût de commercialisation moyen d'une bouteille de champagne?"
|
16 |
-
- "Quel est le montant des charges financières à l'hectares dans ma région et selon ma taile d'exploitation?"
|
17 |
-
- "Quel est le prix moyen d'une bouteille de champagne?"
|
18 |
-
- "Comment optimiser le coût de revient ?"
|
19 |
-
- "Quels leviers pour réduire les coûts de main-d'oeuvre"
|
20 |
-
- "Quels sont les leviers pour réduire les frais financiers?"
|
21 |
|
22 |
variables:
|
23 |
- label : Région viticole
|
@@ -39,9 +32,11 @@ variables:
|
|
39 |
prompt_system: "
|
40 |
Tu es un système expert sur le pilotage des données d'une exploitation viticole.
|
41 |
Tu réponds toujours par rapport aux données du contexte en citant la source de données utilisée.
|
42 |
-
Si tu ne connais pas la réponse, ne réponds pas.
|
43 |
Si cela est possible, réponds sous forme d'indicateurs et de tableaux.
|
44 |
-
|
|
|
|
|
45 |
"
|
46 |
|
47 |
prompt_template: "
|
|
|
1 |
prompts:
|
2 |
+
"**Prix de vente** :euro:":
|
3 |
+
- "Quelle est le prix de vente moyen en vrac et en 0,75 L ?"
|
4 |
+
- "Quelle est la tendance du prix de vente moyen dans ma région ?"
|
5 |
- "Est-ce que mon prix de vente est en corrélation avec le marché ?"
|
6 |
+
- "Est-ce qu'il est plus interessant de vendre du vin en vrac ou du vin en bouteilles de 0,75 L ?"
|
7 |
+
|
8 |
+
"**Prix de revient** :dart:":
|
9 |
+
- "Quels sont les coûts de production par hectare ?"
|
10 |
+
- "Quels sont les coûts des intrants par hectolitre ?"
|
11 |
+
- "Quels est le cout moyen de main d'oeuvre à l'hectare ?"
|
12 |
+
- "Quel est le cout de production moyen d'une bouteille ?"
|
13 |
+
- "Quel est le coût de commercialisation moyen d'une bouteille ?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
variables:
|
16 |
- label : Région viticole
|
|
|
32 |
prompt_system: "
|
33 |
Tu es un système expert sur le pilotage des données d'une exploitation viticole.
|
34 |
Tu réponds toujours par rapport aux données du contexte en citant la source de données utilisée.
|
35 |
+
Si tu ne connais pas la réponse, ne réponds pas. Tu répondras toujours en Français.
|
36 |
Si cela est possible, réponds sous forme d'indicateurs et de tableaux.
|
37 |
+
|
38 |
+
Informations complémentaires métiers :
|
39 |
+
- Le prix de vente moyen à la bouteille et le prix de vente moyen 0,75 L correspondent au même indicateur.
|
40 |
"
|
41 |
|
42 |
prompt_template: "
|
model/selector.py
CHANGED
@@ -4,18 +4,18 @@ from .ModelIntegrations import ModelManager
|
|
4 |
def ModelSelector():
|
5 |
# Dictionnaire des modèles par fournisseur
|
6 |
model_providers = {
|
7 |
-
"
|
8 |
-
"
|
9 |
-
"
|
|
|
10 |
},
|
|
|
|
|
|
|
|
|
11 |
"OpenAI": {
|
12 |
"gpt-4o": "openai.gpt-4o",
|
13 |
-
}
|
14 |
-
"Anthropic": {
|
15 |
-
"claude-3-5-sonnet-20240620": "anthropic.claude-3-5-sonnet-20240620",
|
16 |
-
"claude-3-opus-20240229": "anthropic.claude-3-opus-20240229",
|
17 |
-
"claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229",
|
18 |
-
},
|
19 |
# "llama": {
|
20 |
# "llama3.2-11b-vision": "llama.llama3.2-11b-vision",
|
21 |
# "llama3.2-1b": "llama.llama3.2-1b",
|
|
|
4 |
def ModelSelector():
|
5 |
# Dictionnaire des modèles par fournisseur
|
6 |
model_providers = {
|
7 |
+
"Anthropic": {
|
8 |
+
"claude-3-5-sonnet-20241022": "anthropic.claude-3-5-sonnet-20241022",
|
9 |
+
#"claude-3-opus-20240229": "anthropic.claude-3-opus-20240229",
|
10 |
+
#"claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229",
|
11 |
},
|
12 |
+
#"Mistral": {
|
13 |
+
# "mistral-large-latest": "mistral.mistral-large-latest",
|
14 |
+
# "open-mixtral-8x7b": "mistral.open-mixtral-8x7b",
|
15 |
+
#},
|
16 |
"OpenAI": {
|
17 |
"gpt-4o": "openai.gpt-4o",
|
18 |
+
}
|
|
|
|
|
|
|
|
|
|
|
19 |
# "llama": {
|
20 |
# "llama3.2-11b-vision": "llama.llama3.2-11b-vision",
|
21 |
# "llama3.2-1b": "llama.llama3.2-1b",
|
pages/chatbot.py
CHANGED
@@ -42,7 +42,7 @@ def show_prompts():
|
|
42 |
expander = st.expander("Prompts pré-définis")
|
43 |
|
44 |
for categroy in yaml_data:
|
45 |
-
expander.write(categroy
|
46 |
|
47 |
for item in yaml_data[categroy]:
|
48 |
if expander.button(item, key=f"button_{item}"):
|
@@ -50,7 +50,7 @@ def show_prompts():
|
|
50 |
|
51 |
|
52 |
def page():
|
53 |
-
st.subheader("
|
54 |
|
55 |
if "assistant" not in st.session_state:
|
56 |
st.text("Assistant non initialisé")
|
|
|
42 |
expander = st.expander("Prompts pré-définis")
|
43 |
|
44 |
for categroy in yaml_data:
|
45 |
+
expander.write(categroy)
|
46 |
|
47 |
for item in yaml_data[categroy]:
|
48 |
if expander.button(item, key=f"button_{item}"):
|
|
|
50 |
|
51 |
|
52 |
def page():
|
53 |
+
st.subheader("Choisissez une question ou posez la votre")
|
54 |
|
55 |
if "assistant" not in st.session_state:
|
56 |
st.text("Assistant non initialisé")
|
pages/form.py
CHANGED
@@ -13,7 +13,7 @@ def update_session_state(key,):
|
|
13 |
|
14 |
|
15 |
def page():
|
16 |
-
st.subheader("Définissez
|
17 |
|
18 |
# Charge la configuration YAML
|
19 |
config = getYamlConfig()
|
|
|
13 |
|
14 |
|
15 |
def page():
|
16 |
+
st.subheader("Définissez votre région viticole, millésime et indicateur")
|
17 |
|
18 |
# Charge la configuration YAML
|
19 |
config = getYamlConfig()
|