Update main.py
Browse files
    	
        main.py
    CHANGED
    
    | @@ -21,7 +21,6 @@ from langchain.chains import ( | |
| 21 |  | 
| 22 | 
             
            import chainlit as cl
         | 
| 23 | 
             
            from chainlit.input_widget import TextInput, Select, Switch, Slider
         | 
| 24 | 
            -
            from chainlit.types import ThreadDict
         | 
| 25 |  | 
| 26 | 
             
            from deep_translator import GoogleTranslator
         | 
| 27 |  | 
| @@ -144,42 +143,6 @@ async def Search(input, categorie): | |
| 144 |  | 
| 145 | 
             
                results = [sources_text, verbatim_text, sources_offres]
         | 
| 146 | 
             
                return results
         | 
| 147 | 
            -
                
         | 
| 148 | 
            -
            @cl.step(type="llm")
         | 
| 149 | 
            -
            async def setup_conversationalChain():
         | 
| 150 | 
            -
                model = await LLModel()
         | 
| 151 | 
            -
                retriever = await Retriever(cl.user_session.get("selectRequest"))
         | 
| 152 | 
            -
                ########## Chain with streaming ##########
         | 
| 153 | 
            -
                message_history = ChatMessageHistory()
         | 
| 154 | 
            -
                memory = ConversationBufferMemory(memory_key="chat_history",output_key="answer",chat_memory=message_history,return_messages=True)
         | 
| 155 | 
            -
                
         | 
| 156 | 
            -
                qa = ConversationalRetrievalChain.from_llm(
         | 
| 157 | 
            -
                    model,
         | 
| 158 | 
            -
                    memory=cl.user_session.get("memory"),
         | 
| 159 | 
            -
                    chain_type="stuff",
         | 
| 160 | 
            -
                    return_source_documents=True,
         | 
| 161 | 
            -
                    verbose=False,
         | 
| 162 | 
            -
                    retriever=retriever
         | 
| 163 | 
            -
                )
         | 
| 164 | 
            -
                cl.user_session.set("runnable", qa)
         | 
| 165 | 
            -
                cl.user_session.set("memory", memory)
         | 
| 166 | 
            -
             | 
| 167 | 
            -
            @cl.step(type="tool")
         | 
| 168 | 
            -
            async def switch(value):
         | 
| 169 | 
            -
                if value == "Pédagogie durable":
         | 
| 170 | 
            -
                    return "bibliographie-OPP-DGDIN"
         | 
| 171 | 
            -
                elif value == "Lieux d'apprentissage":
         | 
| 172 | 
            -
                    return "bibliographie-OPP-DGDIN"
         | 
| 173 | 
            -
                elif value == "Journée de La Pédagogie":
         | 
| 174 | 
            -
                    return "year"
         | 
| 175 | 
            -
                elif value == "Compétences du CFA Descartes":
         | 
| 176 | 
            -
                    return "skills"
         | 
| 177 | 
            -
                elif value == "Formations Gustave Eiffel":
         | 
| 178 | 
            -
                    return "OF"
         | 
| 179 | 
            -
                elif value == "Vidéos paroles de confiné.es":
         | 
| 180 | 
            -
                    return "videosTC"
         | 
| 181 | 
            -
                elif value == "Offres d'emploi France Travail":
         | 
| 182 | 
            -
                    return "offreST"
         | 
| 183 |  | 
| 184 | 
             
            @cl.on_chat_start
         | 
| 185 | 
             
            async def on_chat_start():
         | 
| @@ -222,27 +185,23 @@ async def on_chat_start(): | |
| 222 | 
             
                    await cl.Message(f"Vous pouvez requêter sur la thématique : {res.get('value')}").send()
         | 
| 223 | 
             
                    cl.user_session.set("selectRequest", res.get("name"))
         | 
| 224 |  | 
| 225 | 
            -
                await  | 
|  | |
|  | |
|  | |
|  | |
| 226 |  | 
| 227 | 
            -
             | 
| 228 | 
            -
             | 
| 229 | 
            -
             | 
| 230 | 
            -
             | 
| 231 | 
            -
             | 
| 232 | 
            -
                     | 
| 233 | 
            -
             | 
| 234 | 
            -
             | 
| 235 | 
            -
             | 
| 236 | 
            -
                    
         | 
| 237 | 
            -
                    if message["type"] == "user_message":
         | 
| 238 | 
            -
                        memory.chat_memory.add_user_message(message["output"])
         | 
| 239 | 
            -
                    else:
         | 
| 240 | 
            -
                        memory.chat_memory.add_ai_message(message["output"])
         | 
| 241 | 
            -
             | 
| 242 | 
             
                cl.user_session.set("memory", memory)
         | 
| 243 | 
            -
             | 
| 244 | 
            -
                await setup_conversationalChain()
         | 
| 245 | 
            -
             | 
| 246 | 
             
            @cl.on_message
         | 
| 247 | 
             
            async def on_message(message: cl.Message):
         | 
| 248 | 
             
                memory = cl.user_session.get("memory")
         | 
|  | |
| 21 |  | 
| 22 | 
             
            import chainlit as cl
         | 
| 23 | 
             
            from chainlit.input_widget import TextInput, Select, Switch, Slider
         | 
|  | |
| 24 |  | 
| 25 | 
             
            from deep_translator import GoogleTranslator
         | 
| 26 |  | 
|  | |
| 143 |  | 
| 144 | 
             
                results = [sources_text, verbatim_text, sources_offres]
         | 
| 145 | 
             
                return results
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 146 |  | 
| 147 | 
             
            @cl.on_chat_start
         | 
| 148 | 
             
            async def on_chat_start():
         | 
|  | |
| 185 | 
             
                    await cl.Message(f"Vous pouvez requêter sur la thématique : {res.get('value')}").send()
         | 
| 186 | 
             
                    cl.user_session.set("selectRequest", res.get("name"))
         | 
| 187 |  | 
| 188 | 
            +
                model = await LLModel()
         | 
| 189 | 
            +
                retriever = await Retriever(cl.user_session.get("selectRequest"))
         | 
| 190 | 
            +
                ########## Chain with streaming ##########
         | 
| 191 | 
            +
                message_history = ChatMessageHistory()
         | 
| 192 | 
            +
                memory = ConversationBufferMemory(memory_key="chat_history",output_key="answer",chat_memory=message_history,return_messages=True)
         | 
| 193 |  | 
| 194 | 
            +
                qa = ConversationalRetrievalChain.from_llm(
         | 
| 195 | 
            +
                    model,
         | 
| 196 | 
            +
                    memory=memory,
         | 
| 197 | 
            +
                    chain_type="stuff",
         | 
| 198 | 
            +
                    return_source_documents=True,
         | 
| 199 | 
            +
                    verbose=False,
         | 
| 200 | 
            +
                    retriever=retriever
         | 
| 201 | 
            +
                )
         | 
| 202 | 
            +
                cl.user_session.set("runnable", qa)
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 203 | 
             
                cl.user_session.set("memory", memory)
         | 
| 204 | 
            +
                
         | 
|  | |
|  | |
| 205 | 
             
            @cl.on_message
         | 
| 206 | 
             
            async def on_message(message: cl.Message):
         | 
| 207 | 
             
                memory = cl.user_session.get("memory")
         |