Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -2,6 +2,7 @@ from langchain_core.prompts import ChatPromptTemplate
|
|
2 |
from langchain_google_genai import ChatGoogleGenerativeAI
|
3 |
from langchain_community.document_loaders import DirectoryLoader
|
4 |
from langchain_text_splitters import CharacterTextSplitter
|
|
|
5 |
from langchain_huggingface import HuggingFaceEmbeddings
|
6 |
from typing import List
|
7 |
from langchain_chroma import Chroma
|
@@ -44,6 +45,10 @@ directory_path = "./documents"
|
|
44 |
loader = DirectoryLoader(directory_path, glob=glob_pattern)
|
45 |
documents = loader.load()
|
46 |
|
|
|
|
|
|
|
|
|
47 |
system = """
|
48 |
Tu es un assistant spécialisé dans l'enseignement de l'enseigement Sciences Numériques et Technologie (SNT) de la classe de seconde'
|
49 |
Ton interlocuteur est un élève qui suit l'enseigement SNT en classe de seconde
|
@@ -60,7 +65,7 @@ si tu proposes un exercice, tu dois bien vérifier que toutes les notions néces
|
|
60 |
prompt = ChatPromptTemplate.from_messages(
|
61 |
[
|
62 |
("system", system),
|
63 |
-
("human", "Résumé du cours de SNT : \n {documents} \n\n Historique conversation entre l'assistant et l'élève : \n {historical} \n\n Intervention de l'élève : {question}"),
|
64 |
]
|
65 |
)
|
66 |
|
@@ -76,7 +81,7 @@ class GraphState(TypedDict):
|
|
76 |
messages: Annotated[list[AnyMessage], add_messages]
|
77 |
|
78 |
def chatbot(state : GraphState):
|
79 |
-
question = prompt.invoke({'historical': format_historical(state['messages']), 'documents':documents , 'question' : state['messages'][-1].content[0]['text']})
|
80 |
q = question.messages[0].content + question.messages[1].content
|
81 |
if len(state['messages'][-1].content) > 1 :
|
82 |
response = llm.invoke([HumanMessage(
|
|
|
2 |
from langchain_google_genai import ChatGoogleGenerativeAI
|
3 |
from langchain_community.document_loaders import DirectoryLoader
|
4 |
from langchain_text_splitters import CharacterTextSplitter
|
5 |
+
from langchain_community.document_loaders import PyPDFLoader
|
6 |
from langchain_huggingface import HuggingFaceEmbeddings
|
7 |
from typing import List
|
8 |
from langchain_chroma import Chroma
|
|
|
45 |
loader = DirectoryLoader(directory_path, glob=glob_pattern)
|
46 |
documents = loader.load()
|
47 |
|
48 |
+
file_path = "./documents/prog.pdf"
|
49 |
+
loader = PyPDFLoader(file_path)
|
50 |
+
prog = loader.load()
|
51 |
+
|
52 |
system = """
|
53 |
Tu es un assistant spécialisé dans l'enseignement de l'enseigement Sciences Numériques et Technologie (SNT) de la classe de seconde'
|
54 |
Ton interlocuteur est un élève qui suit l'enseigement SNT en classe de seconde
|
|
|
65 |
prompt = ChatPromptTemplate.from_messages(
|
66 |
[
|
67 |
("system", system),
|
68 |
+
("human", "Programme officiel de SNT: \n {prog} \n\n" "Résumé du cours de SNT : \n {documents} \n\n Historique conversation entre l'assistant et l'élève : \n {historical} \n\n Intervention de l'élève : {question}"),
|
69 |
]
|
70 |
)
|
71 |
|
|
|
81 |
messages: Annotated[list[AnyMessage], add_messages]
|
82 |
|
83 |
def chatbot(state : GraphState):
|
84 |
+
question = prompt.invoke({'historical': format_historical(state['messages']),'prog':prog, 'documents':documents , 'question' : state['messages'][-1].content[0]['text']})
|
85 |
q = question.messages[0].content + question.messages[1].content
|
86 |
if len(state['messages'][-1].content) > 1 :
|
87 |
response = llm.invoke([HumanMessage(
|