Commit
·
e9e1fd3
1
Parent(s):
6730be3
Update
Browse files- Grand livre au 30 avril 2024.pdf +0 -0
- HOW_TO.md +7 -0
- app.py +4 -8
- config.yaml +16 -4
- model/selector.py +1 -1
- pages/chatbot.py +1 -1
- requirements.txt +1 -0
Grand livre au 30 avril 2024.pdf
DELETED
Binary file (348 kB)
|
|
HOW_TO.md
CHANGED
@@ -16,6 +16,11 @@ Test the installation
|
|
16 |
|
17 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
18 |
|
|
|
|
|
|
|
|
|
|
|
19 |
# REF
|
20 |
|
21 |
https://github.com/couchbase-examples/rag-demo-llama-index/blob/main/chat_with_pdf.py
|
@@ -29,3 +34,5 @@ https://github.com/jacttp/simpleRAG/blob/main/rag.py
|
|
29 |
https://github.com/naimkatiman/RAG-using-Llama-3.1-WebUi-on-Streamlit/blob/main/app.py
|
30 |
|
31 |
|
|
|
|
|
|
16 |
|
17 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
18 |
|
19 |
+
# TODO 14/11/2024
|
20 |
+
|
21 |
+
## Utiliser le modele PDF pour la restitution des resultats
|
22 |
+
|
23 |
+
|
24 |
# REF
|
25 |
|
26 |
https://github.com/couchbase-examples/rag-demo-llama-index/blob/main/chat_with_pdf.py
|
|
|
34 |
https://github.com/naimkatiman/RAG-using-Llama-3.1-WebUi-on-Streamlit/blob/main/app.py
|
35 |
|
36 |
|
37 |
+
|
38 |
+
|
app.py
CHANGED
@@ -50,24 +50,20 @@ def main():
|
|
50 |
|
51 |
saved_documents = st.Page("pages/persistent_documents.py", title="Documents de référence", icon="🗃️")
|
52 |
documents = st.Page("pages/documents.py", title="Documents de l'exploitation", icon="📂")
|
53 |
-
prompt_system = st.Page("pages/prompt_system.py", title="Prompt conseiller", 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 |
chatbot
|
61 |
],
|
62 |
-
"
|
63 |
saved_documents,
|
64 |
documents,
|
65 |
-
],
|
66 |
-
"Configurations": [
|
67 |
prompt_system,
|
68 |
-
# form,
|
69 |
],
|
70 |
-
|
71 |
}
|
72 |
)
|
73 |
|
|
|
50 |
|
51 |
saved_documents = st.Page("pages/persistent_documents.py", title="Documents de référence", icon="🗃️")
|
52 |
documents = st.Page("pages/documents.py", title="Documents de l'exploitation", icon="📂")
|
53 |
+
prompt_system = st.Page("pages/prompt_system.py", title="Prompt conseiller", icon="🖊️")
|
54 |
# form = st.Page("pages/form.py", title="Paramètres", icon="📋")
|
55 |
+
chatbot = st.Page("pages/chatbot.py", title="Chatbot", icon="🤖", default=True)
|
56 |
|
57 |
pg = st.navigation(
|
58 |
{
|
59 |
+
"Céréalier": [
|
60 |
chatbot
|
61 |
],
|
62 |
+
"Conseiller": [
|
63 |
saved_documents,
|
64 |
documents,
|
|
|
|
|
65 |
prompt_system,
|
|
|
66 |
],
|
|
|
67 |
}
|
68 |
)
|
69 |
|
config.yaml
CHANGED
@@ -1,9 +1,12 @@
|
|
|
|
1 |
prompts:
|
2 |
-
|
3 |
- "Quelle est le cout de production du blé tendre dans la région Picardie en €/ha ?"
|
4 |
- "Quelle est la marge brute du blé tendre dans la région Picardie en €/ha ?"
|
5 |
- "Quelle est la marge nette de la culture de betterave dans la région Picardie en €/ha ?"
|
|
|
6 |
- "Fais moi un tableau comparatif entre le blé et le colza dans la région Picardie ?"
|
|
|
7 |
- "Calcule moi le prix plancher pour la culture de betterave avec un rendement de 80 tonnes par hectare ?"
|
8 |
- "Calcule moi le rendement de la culture de betterave si mon prix plancher est de 40 € par tonne ?"
|
9 |
|
@@ -38,17 +41,26 @@ La marge nette (MN) en grande culture se situe en moyenne entre 100 € / hectar
|
|
38 |
|
39 |
Le prix planché (PP) ou seuil de rentabilité (SR) par culture correspond au prix moyen auquel doit être vendue la culture afin d’obtenir une marge nette dont la valeur est 0 € selon la formule PR = CR / R.
|
40 |
|
41 |
-
A partir des documents du contexte, tu vas
|
|
|
42 |
Si l'utilisateur demande une comparaison entre cultures, tu utiliseras toujours un tableau avec les cultures en colonnes et les indicateurs comparables en lignes.
|
43 |
Tu mentionneras les sources utilisées.
|
44 |
Pour le coût de production (CR), il est impératif de détailler l'ensemble des calculs poste par poste pour les charges opérationnelles (engrais, produits phytosanitaires, semences) (CO) et pour les charges de structure (main d'oeuvre, foncier, matériel, batiment) (CS).
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
"
|
48 |
|
49 |
prompt_template: "
|
50 |
{prompt_system}
|
51 |
|
|
|
52 |
Documents partagées : {commonContext}
|
53 |
|
54 |
Document utilisateur : {documentContext}
|
|
|
1 |
+
# https://streamlit-emoji-shortcodes-streamlit-app-gwckff.streamlit.app/
|
2 |
prompts:
|
3 |
+
"**couts et marges / culture** :money_with_wings:":
|
4 |
- "Quelle est le cout de production du blé tendre dans la région Picardie en €/ha ?"
|
5 |
- "Quelle est la marge brute du blé tendre dans la région Picardie en €/ha ?"
|
6 |
- "Quelle est la marge nette de la culture de betterave dans la région Picardie en €/ha ?"
|
7 |
+
"**Comparatif** :thinking_face:":
|
8 |
- "Fais moi un tableau comparatif entre le blé et le colza dans la région Picardie ?"
|
9 |
+
"**Prix plancher** :scales:":
|
10 |
- "Calcule moi le prix plancher pour la culture de betterave avec un rendement de 80 tonnes par hectare ?"
|
11 |
- "Calcule moi le rendement de la culture de betterave si mon prix plancher est de 40 € par tonne ?"
|
12 |
|
|
|
41 |
|
42 |
Le prix planché (PP) ou seuil de rentabilité (SR) par culture correspond au prix moyen auquel doit être vendue la culture afin d’obtenir une marge nette dont la valeur est 0 € selon la formule PR = CR / R.
|
43 |
|
44 |
+
A partir des documents du contexte, tu vas :
|
45 |
+
Etape 1 : Produire des tableaux et des indicateurs de coût selon les cultures mentionnées par l'utilisateur.
|
46 |
Si l'utilisateur demande une comparaison entre cultures, tu utiliseras toujours un tableau avec les cultures en colonnes et les indicateurs comparables en lignes.
|
47 |
Tu mentionneras les sources utilisées.
|
48 |
Pour le coût de production (CR), il est impératif de détailler l'ensemble des calculs poste par poste pour les charges opérationnelles (engrais, produits phytosanitaires, semences) (CO) et pour les charges de structure (main d'oeuvre, foncier, matériel, batiment) (CS).
|
49 |
+
|
50 |
+
Etape 2 : En complément, tu calculeras les indicateurs prévisionnels pour l'année 2024 en faisant les opérations suivantes :
|
51 |
+
- Les charges opérationnelles, les ventes par culture et la marge brute (MB), à partir du document 'syntheserecolte2023' et opérer une augmentation de 2,5 % par an sur chaque indicateur.
|
52 |
+
- Les charges de structures (CS) à partir des autres documents de l'année 2020 et opérer une augmentation de 2,5 % par an sur chaque indicateur.
|
53 |
+
Tu affichera ces résultats dans un tableau avec le titre 'Indicateurs 2024'
|
54 |
+
|
55 |
+
La présentation sera effectuée dès que possible en format tableau.
|
56 |
+
Si une information est demandée pour une superficie précise, les tableaux devront fournir, sur la première colonne, une information à l'hectare et sur la seconde, une information pour la superficie indiquée par l'utilisateur.
|
57 |
+
Si aucune superficie n'est précisée par le client, l'information sera donnée par hectare.
|
58 |
"
|
59 |
|
60 |
prompt_template: "
|
61 |
{prompt_system}
|
62 |
|
63 |
+
Les documents partagées comporte l'ensemble de la base documentaire contenant les informations métiers.
|
64 |
Documents partagées : {commonContext}
|
65 |
|
66 |
Document utilisateur : {documentContext}
|
model/selector.py
CHANGED
@@ -12,7 +12,7 @@ def ModelSelector():
|
|
12 |
"gpt-4o": "openai.gpt-4o",
|
13 |
},
|
14 |
"Anthropic": {
|
15 |
-
"claude-3-5-sonnet-
|
16 |
#"claude-3-opus-20240229": "anthropic.claude-3-opus-20240229",
|
17 |
#"claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229",
|
18 |
},
|
|
|
12 |
"gpt-4o": "openai.gpt-4o",
|
13 |
},
|
14 |
"Anthropic": {
|
15 |
+
"claude-3-5-sonnet-20241022": "anthropic.claude-3-5-sonnet-20241022",
|
16 |
#"claude-3-opus-20240229": "anthropic.claude-3-opus-20240229",
|
17 |
#"claude-3-sonnet-20240229": "anthropic.claude-3-sonnet-20240229",
|
18 |
},
|
pages/chatbot.py
CHANGED
@@ -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é")
|
|
|
50 |
|
51 |
|
52 |
def page():
|
53 |
+
st.subheader("Choisissez ou posez une question")
|
54 |
|
55 |
if "assistant" not in st.session_state:
|
56 |
st.text("Assistant non initialisé")
|
requirements.txt
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
streamlit==1.37.0
|
2 |
faiss-gpu
|
|
|
3 |
streamlit_chat
|
4 |
python-dotenv
|
5 |
pymupdf
|
|
|
1 |
streamlit==1.37.0
|
2 |
faiss-gpu
|
3 |
+
faiss-cpu
|
4 |
streamlit_chat
|
5 |
python-dotenv
|
6 |
pymupdf
|