├── 02 ├── data_index │ ├── graph_store.json │ ├── image__vector_store.json │ ├── index_store.json │ ├── docstore.json │ └── default__vector_store.json ├── data │ └── ai_dans_la_banque.docx ├── 02_03_qa_llamaindex.py ├── 02_04_rag_langchain.py ├── 02_05_rag_langchain.py ├── 02_07_rag_llamaindex.py ├── 02_08_rag_llamaindex.py └── 02_06_rag_langchain.py ├── .gitignore ├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md ├── workflows │ └── main.yml └── ISSUE_TEMPLATE.md ├── CONTRIBUTING.md ├── NOTICE ├── 03 ├── 03_02_function_call_llamaindex.py ├── 03_04_agent_llamaindex.py ├── 03_02_function_langchain.py └── 03_03_agent_langchain.py ├── 01 ├── 01_01_openai_api.py ├── 01_03_llamaindex.py └── 01_02_langchain.py ├── .vscode └── settings.json ├── .devcontainer └── devcontainer.json ├── README.md └── LICENSE /02/data_index/graph_store.json: -------------------------------------------------------------------------------- 1 | {"graph_dict": {}} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | .tmp 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /02/data_index/image__vector_store.json: -------------------------------------------------------------------------------- 1 | {"embedding_dict": {}, "text_id_to_ref_doc_id": {}, "metadata_dict": {}} -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Codeowners for these exercise files: 2 | # * (asterisk) deotes "all files and folders" 3 | # Example: * @producer @instructor 4 | -------------------------------------------------------------------------------- /02/data/ai_dans_la_banque.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LinkedInLearning/agents_ia_langchain_llamaindex-4266500/main/02/data/ai_dans_la_banque.docx -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Copy To Branches 2 | on: 3 | workflow_dispatch: 4 | jobs: 5 | copy-to-branches: 6 | runs-on: ubuntu-latest 7 | steps: 8 | - uses: actions/checkout@v2 9 | with: 10 | fetch-depth: 0 11 | - name: Copy To Branches Action 12 | uses: planetoftheweb/copy-to-branches@v1.2 13 | env: 14 | key: main 15 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | Contribution Agreement 3 | ====================== 4 | 5 | This repository does not accept pull requests (PRs). All pull requests will be closed. 6 | 7 | However, if any contributions (through pull requests, issues, feedback or otherwise) are provided, as a contributor, you represent that the code you submit is your original work or that of your employer (in which case you represent you have the right to bind your employer). By submitting code (or otherwise providing feedback), you (and, if applicable, your employer) are licensing the submitted code (and/or feedback) to LinkedIn and the open source community subject to the BSD 2-Clause license. 8 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2024 LinkedIn Corporation 2 | All Rights Reserved. 3 | 4 | Licensed under the LinkedIn Learning Exercise File License (the "License"). 5 | See LICENSE in the project root for license information. 6 | 7 | Please note, this project may automatically load third party code from external 8 | repositories (for example, NPM modules, Composer packages, or other dependencies). 9 | If so, such third party code may be subject to other license terms than as set 10 | forth above. In addition, such third party code may also depend on and load 11 | multiple tiers of dependencies. Please review the applicable licenses of the 12 | additional dependencies. 13 | -------------------------------------------------------------------------------- /03/03_02_function_call_llamaindex.py: -------------------------------------------------------------------------------- 1 | # pip install llama-index-agent-openai 2 | from llama_index.agent.openai import OpenAIAgent 3 | from llama_index.llms.openai import OpenAI 4 | from llama_index.core.tools import FunctionTool 5 | import json 6 | import random 7 | 8 | def get_weather_for_city(city): 9 | print(f"Calling local get_weather_for_city for {city}") 10 | return json.dumps({"city": city, "temperature": random.randint(1,70)}) 11 | 12 | llm = OpenAI(model="gpt-4o") 13 | tool = FunctionTool.from_defaults(fn=get_weather_for_city) 14 | agent = OpenAIAgent.from_tools([tool], llm=llm, verbose=True) 15 | response = agent.chat( 16 | "What's the weather like in Paris?" 17 | ) 18 | 19 | print(response) 20 | -------------------------------------------------------------------------------- /01/01_01_openai_api.py: -------------------------------------------------------------------------------- 1 | import os 2 | from openai import OpenAI 3 | 4 | 5 | ''' 6 | OPENAI_API_KEY = os.environ['OPENAI_API_KEY'] 7 | print(OPENAI_API_KEY) 8 | ''' 9 | 10 | 11 | llm = OpenAI() 12 | 13 | system_prompt = """Je souhaite écrire un livre sur le sujet correspondant à la description ci-dessous. Proposez-moi 3 titres accrocheurs pour ce livre. Répondez uniquement avec les titres, un par ligne, sans texte supplémentaire. 14 | DESCRIPTION: 15 | """ 16 | user_input = """Le sujet porte sur la tarte au citron""" 17 | 18 | response = llm.chat.completions.create( 19 | model="gpt-4o", 20 | max_tokens=500, 21 | temperature=0.5, 22 | messages=[ 23 | {"role": "system", "content": system_prompt}, 24 | {"role": "user", "content": user_input} 25 | ] 26 | ) 27 | 28 | print(response.choices[0].message.content) 29 | -------------------------------------------------------------------------------- /01/01_03_llamaindex.py: -------------------------------------------------------------------------------- 1 | # pip install llama-index-llms-openai-like 2 | from llama_index.llms.openai_like import OpenAILike 3 | from llama_index.core.llms import ChatMessage 4 | 5 | application_prompt = """Je souhaite écrire un livre sur le sujet correspondant à la description ci-dessous. Proposez-moi 3 titres accrocheurs pour ce livre. Répondez uniquement avec les titres, un par ligne, sans texte supplémentaire. 6 | DESCRIPTION: 7 | """ 8 | user_input = """Le sujet porte sur la tarte au citron""" 9 | 10 | llm = OpenAILike( 11 | is_chat_model=True, 12 | temperature=0.7, 13 | max_tokens=500, 14 | model="gpt-4o" 15 | ) 16 | messages = [ 17 | ChatMessage(role="system", content=application_prompt), 18 | ChatMessage(role="user", content=user_input), 19 | ] 20 | results = llm.chat(messages) 21 | 22 | print(results) 23 | 24 | -------------------------------------------------------------------------------- /01/01_02_langchain.py: -------------------------------------------------------------------------------- 1 | # pip install langchain-openai 2 | from langchain_openai.chat_models import ChatOpenAI 3 | from langchain.prompts import PromptTemplate 4 | from langchain.schema.output_parser import StrOutputParser 5 | 6 | application_prompt = """Je souhaite écrire un livre sur le sujet correspondant à la description ci-dessous. Proposez-moi 3 titres accrocheurs pour ce livre. Répondez uniquement avec les titres, un par ligne, sans texte supplémentaire. 7 | DESCRIPTION: 8 | {user_input} 9 | """ 10 | user_input = """Le sujet porte sur la tarte au citron""" 11 | 12 | llm = ChatOpenAI( 13 | temperature=1, 14 | max_tokens=500, 15 | model='gpt-4o' 16 | ) 17 | prompt = PromptTemplate( 18 | input_variables=["user_input"], 19 | template=application_prompt 20 | ) 21 | chain = prompt | llm | StrOutputParser() 22 | result = chain.invoke({"user_input": user_input}) 23 | 24 | print(result) 25 | 26 | 27 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.bracketPairColorization.enabled": true, 3 | "editor.cursorBlinking": "solid", 4 | "editor.fontFamily": "ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro', 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace", 5 | "editor.fontLigatures": false, 6 | "editor.fontSize": 22, 7 | "editor.formatOnPaste": true, 8 | "editor.formatOnSave": true, 9 | "editor.lineNumbers": "on", 10 | "editor.matchBrackets": "always", 11 | "editor.minimap.enabled": false, 12 | "editor.smoothScrolling": true, 13 | "editor.tabSize": 2, 14 | "editor.useTabStops": true, 15 | "emmet.triggerExpansionOnTab": true, 16 | "files.autoSave": "afterDelay", 17 | "terminal.integrated.fontSize": 18, 18 | "workbench.colorTheme": "LinkedIn Learning Dark", 19 | "workbench.fontAliasing": "antialiased", 20 | "workbench.statusBar.visible": true 21 | } -------------------------------------------------------------------------------- /02/data_index/index_store.json: -------------------------------------------------------------------------------- 1 | {"index_store/data": {"284ef38a-a9e3-40d3-bbdb-b095ec887067": {"__type__": "vector_store", "__data__": "{\"index_id\": \"284ef38a-a9e3-40d3-bbdb-b095ec887067\", \"summary\": null, \"nodes_dict\": {\"082448f0-da91-4be9-822d-80f026c52961\": \"082448f0-da91-4be9-822d-80f026c52961\", \"47f15867-45d2-4b7c-906c-d74ffeb22725\": \"47f15867-45d2-4b7c-906c-d74ffeb22725\", \"85604ba9-e982-4717-a122-c235f8ffdd6d\": \"85604ba9-e982-4717-a122-c235f8ffdd6d\", \"dbce25fc-ea16-4773-a3df-ed04552210db\": \"dbce25fc-ea16-4773-a3df-ed04552210db\", \"6372ad7b-4891-4fcb-af93-eacff2986875\": \"6372ad7b-4891-4fcb-af93-eacff2986875\", \"538d1eeb-d128-42e1-945b-aff57f75893f\": \"538d1eeb-d128-42e1-945b-aff57f75893f\", \"84ba8a47-01b3-451a-aa83-381353e52189\": \"84ba8a47-01b3-451a-aa83-381353e52189\", \"efb57a05-aaca-4b68-bdbc-68d8f622ff9f\": \"efb57a05-aaca-4b68-bdbc-68d8f622ff9f\", \"677986d1-84a4-401c-b414-970f27b12f10\": \"677986d1-84a4-401c-b414-970f27b12f10\"}, \"doc_id_dict\": {}, \"embeddings_dict\": {}}"}}} -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "customizations": { 3 | "codespaces": { 4 | "openFiles": [ 5 | "README.md" 6 | ] 7 | }, 8 | "vscode": { 9 | // Set *default* container specific settings.json values on container create. 10 | "settings": { 11 | "terminal.integrated.shell.linux": "/bin/bash" 12 | }, 13 | // Add the IDs of extensions you want installed when the container is created. 14 | "extensions": [ 15 | "linkedinlearning.linkedinlearning-vscode-theme", 16 | "ms-python.python", 17 | "ms-python.vscode-pylance", 18 | "ms-toolsai.jupyter", 19 | "eamodio.gitlens", 20 | "humao.rest-client" 21 | ] 22 | } 23 | }, 24 | // Update welcome text and set terminal prompt to '$ ' 25 | "onCreateCommand": "echo PS1='\"$ \"' >> ~/.bashrc", 26 | // Pull all branches 27 | "postAttachCommand": "git pull --all" 28 | } 29 | // DevContainer Reference: https://code.visualstudio.com/docs/remote/devcontainerjson-reference -------------------------------------------------------------------------------- /03/03_04_agent_llamaindex.py: -------------------------------------------------------------------------------- 1 | from llama_index.core.tools import QueryEngineTool, ToolMetadata 2 | from llama_index.core.agent import ReActAgent 3 | 4 | 5 | 6 | 7 | 8 | from llama_index.llms.openai_like import OpenAILike 9 | 10 | # put your API key in the env variable BING_SUBSCRIPTION_KEY 11 | from llama_index.tools.bing_search import BingSearchToolSpec 12 | 13 | 14 | import os 15 | api_key = os.environ["BING_SUBSCRIPTION_KEY"] 16 | os.environ["BING_SEARCH_URL"] = "https://api.bing.microsoft.com/v7.0/search" 17 | tool_spec = BingSearchToolSpec(api_key=api_key) 18 | tool_list = tool_spec.to_tool_list() 19 | 20 | llm = OpenAILike( 21 | is_chat_model=True, 22 | model="gpt-4o" 23 | ) 24 | agent = ReActAgent.from_tools(tool_list, llm=llm, verbose=True) 25 | 26 | response = agent.chat("Bonjour, je suis Jack") 27 | print(str(response)) 28 | 29 | response = agent.chat("Quel est mon nom?") 30 | print(str(response)) 31 | 32 | response = agent.chat("Qui est le PDG d'IBM en 2024?") 33 | print(str(response)) 34 | 35 | response = agent.chat("Traduit en anglais la phrase suivante: 'Qui est le PDG d'IBM en 2024?'") 36 | print(str(response)) 37 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 7 | 8 | ## Issue Overview 9 | 10 | 11 | ## Describe your environment 12 | 13 | 14 | ## Steps to Reproduce 15 | 16 | 1. 17 | 2. 18 | 3. 19 | 4. 20 | 21 | ## Expected Behavior 22 | 23 | 24 | ## Current Behavior 25 | 26 | 27 | ## Possible Solution 28 | 29 | 30 | ## Screenshots / Video 31 | 32 | 33 | ## Related Issues 34 | 35 | -------------------------------------------------------------------------------- /03/03_02_function_langchain.py: -------------------------------------------------------------------------------- 1 | import json 2 | import random 3 | from langchain.tools import Tool 4 | from langchain.chains import LLMChain 5 | from langchain.prompts import PromptTemplate 6 | from langchain.chat_models import ChatOpenAI 7 | from langchain.agents import initialize_agent, Tool, AgentType 8 | 9 | # La fonction de récupération de la météo 10 | def get_weather_for_city(city: str): 11 | print(f"Calling local get_weather_for_city for {city}") 12 | return json.dumps({"city": city, "temperature": random.randint(1, 70)}) 13 | 14 | # Création d'un outil Langchain pour la fonction 15 | weather_tool = Tool( 16 | name="Weather Tool", 17 | func=lambda city: get_weather_for_city(city), 18 | description="Provides the weather information for a given city. Use this when a user asks for the weather in a specific city." 19 | ) 20 | 21 | # Modèle de langage de base (par exemple, GPT-4 dans ce cas) 22 | llm = ChatOpenAI(temperature=0) 23 | 24 | # Initialisation de l'agent avec l'outil 25 | agent = initialize_agent( 26 | tools=[weather_tool], # Liste des outils disponibles 27 | llm=llm, # Modèle de langue 28 | 29 | ) 30 | 31 | # Prompt utilisateur 32 | user_input = "Quel temps fait-il à Paris ?" 33 | 34 | # Appel de l'agent avec la question de l'utilisateur 35 | response = agent.invoke(user_input) 36 | 37 | print(response) 38 | -------------------------------------------------------------------------------- /03/03_03_agent_langchain.py: -------------------------------------------------------------------------------- 1 | from langchain.agents import AgentType, Tool, initialize_agent 2 | from langchain_openai.chat_models import ChatOpenAI 3 | from langchain.memory import ConversationBufferMemory 4 | # put your API key in the env variable BING_SUBSCRIPTION_KEY 5 | from langchain.utilities.bing_search import BingSearchAPIWrapper 6 | 7 | import os 8 | os.environ["BING_SEARCH_URL"] = "https://api.bing.microsoft.com/v7.0/search" 9 | 10 | llm = ChatOpenAI( 11 | temperature=0, 12 | model='gpt-4o' 13 | ) 14 | 15 | tools = [ 16 | Tool( 17 | name="My Bing Web Search", 18 | func=BingSearchAPIWrapper().run, 19 | description="Get information from the web", 20 | ) 21 | ] 22 | 23 | memory = ConversationBufferMemory( 24 | memory_key="chat_history", 25 | return_messages=True, 26 | output_key="output" 27 | ) 28 | agent = initialize_agent( 29 | tools, 30 | llm, 31 | agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, 32 | verbose=True, 33 | memory=memory, 34 | handle_parsing_errors=True 35 | ) 36 | 37 | pydict = agent.invoke({"input": "Bonjour, je suis Jack"}) 38 | print(pydict["output"]) 39 | pydict = agent.invoke({"input": "Quel est mon nom?"}) 40 | print(pydict["output"]) 41 | pydict = agent.invoke({"input": "Qui est le PDG d'IBM en 2015?"}) 42 | print(pydict["output"]) 43 | pydict = agent.invoke({"input": "Traduit en anglais la phrase suivante: 'Qui est le PDG d'IBM en 2015?'"}) 44 | print(pydict["output"]) 45 | 46 | 47 | -------------------------------------------------------------------------------- /02/02_03_qa_llamaindex.py: -------------------------------------------------------------------------------- 1 | # pip install llama-index 2 | from llama_index.core import Document, VectorStoreIndex 3 | 4 | 5 | 6 | documents = [ 7 | Document(text="Garry Kasparov est né le 13 avril 1963 à Bakou, en Azerbaïdjan, et est devenu l'un des plus grands champions d'échecs de tous les temps."), 8 | Document(text="En 1985, à seulement 22 ans, Kasparov est devenu le plus jeune champion du monde d'échecs en battant Anatoli Karpov, un titre qu'il a conservé jusqu'en 2000."), 9 | Document(text="Kasparov est célèbre pour ses matchs historiques contre des ordinateurs, notamment contre Deep Blue, une intelligence artificielle développée par IBM, qu'il a affrontée en 1996 et 1997."), 10 | Document(text="En 2005, Kasparov a pris sa retraite des compétitions d'échecs pour se consacrer à la politique et à la lutte pour la démocratie en Russie."), 11 | Document(text="Auteur prolifique et orateur, Kasparov continue d'influencer les domaines des échecs, de la politique et de la technologie grâce à ses analyses et ses prises de position."), 12 | Document(text="Zinédine Zidane est né le 23 juin 1972 à Marseille, en France, et est devenu l’un des plus grands footballeurs de tous les temps, reconnu pour son talent et son élégance sur le terrain."), 13 | Document(text="En 1998, Zidane a mené l'équipe de France à la victoire en Coupe du Monde, marquant deux buts de la tête en finale contre le Brésil."), 14 | Document(text="Zidane a également remporté le Ballon d'Or en 1998, récompensant le meilleur joueur de football de l'année, après sa performance exceptionnelle lors de la Coupe du Monde."), 15 | Document(text="Après une carrière de joueur brillante, Zidane est devenu entraîneur et a conduit le Real Madrid à remporter trois Ligues des champions consécutives entre 2016 et 2018."), 16 | Document(text="Zidane est souvent salué pour sa vision du jeu, sa technique et son calme, et il reste une figure emblématique du football français et mondial."), 17 | ] 18 | 19 | 20 | 21 | index = VectorStoreIndex(documents) 22 | query_engine = index.as_query_engine() 23 | response1 = query_engine.query("Qu'est-ce qu'il est devenu, Zinédine ? ") 24 | print(response1) 25 | 26 | response2 = query_engine.query("Qui a fait de la politique ?") 27 | print(response2) 28 | 29 | response3 = query_engine.query("Quelles sont les personnes concernées par nos docs ?") 30 | print(response3) 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /02/02_04_rag_langchain.py: -------------------------------------------------------------------------------- 1 | 2 | # pip install langchain-openai 3 | # pip install langchain-community 4 | # pip install torch 5 | # pip install sentence_transformers 6 | # pip install faiss-cpu 7 | # pip install docx2txt 8 | 9 | import os 10 | import argparse 11 | from langchain.chains import ConversationalRetrievalChain 12 | from langchain_openai import ChatOpenAI 13 | from langchain_community.document_loaders import DirectoryLoader, Docx2txtLoader 14 | from langchain_community.embeddings import SentenceTransformerEmbeddings 15 | from langchain.memory import ConversationBufferMemory 16 | from langchain.text_splitter import RecursiveCharacterTextSplitter 17 | from langchain_community.vectorstores import FAISS 18 | 19 | 20 | os.environ["TOKENIZERS_PARALLELISM"] = "false" 21 | 22 | def main(): 23 | parser = argparse.ArgumentParser() 24 | parser.add_argument("--docs_dir", type=str, default="./data/") 25 | parser.add_argument("--persist_dir", type=str, default="data_faiss") 26 | args = parser.parse_args() 27 | 28 | print(f"Using data dir {args.docs_dir}") 29 | print(f"Using index path {args.persist_dir}") 30 | 31 | embedding = SentenceTransformerEmbeddings(model_name="all-mpnet-base-v2") 32 | print(f"Embedding: {embedding.model_name}") 33 | 34 | if os.path.exists(args.persist_dir): 35 | print(f"Loading FAISS index from {args.persist_dir}") 36 | vectorstore = FAISS.load_local(args.persist_dir, embedding, allow_dangerous_deserialization=True) 37 | print("done.") 38 | else: 39 | print(f"Building FAISS index from documents in {args.docs_dir}") 40 | 41 | loader = DirectoryLoader(args.docs_dir, 42 | loader_cls=Docx2txtLoader, 43 | recursive=True, 44 | silent_errors=True, 45 | show_progress=True, 46 | glob="**/*.docx" # which files get loaded 47 | ) 48 | docs = loader.load() 49 | 50 | text_splitter = RecursiveCharacterTextSplitter( 51 | chunk_size=500, 52 | chunk_overlap=75 53 | ) 54 | frags = text_splitter.split_documents(docs) 55 | 56 | print(f"Poplulating vector store with {len(docs)} docs in {len(frags)} fragments") 57 | vectorstore = FAISS.from_documents(frags, embedding) 58 | print(f"Persisting vector store to: {args.persist_dir}") 59 | vectorstore.save_local(args.persist_dir) 60 | print(f"Saved FAISS index to {args.persist_dir}") 61 | 62 | 63 | if __name__ == "__main__": 64 | main() -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Créer des agents IA avec LangChain et LlamaIndex 2 | 3 | Ce dossier Repository est lié au cours `Créer des agents IA avec LangChain et LlamaIndex`. Le cours entier est disponible sur [LinkedIn Learning][lil-course-url]. 4 | 5 | ![Nom final de la formation][lil-thumbnail-url] 6 | 7 | Explorez la création d'agents IA avec LangChain et LlamaIndex, deux frameworks clés pour développer des applications basées sur des modèles de langage (LLM). Ce cours, destiné aux développeurs et spécialistes en intelligence artificielle, vous guidera à travers l'introduction de ces technologies, l'utilisation des agents (chatbots) avec les LLM, ainsi que l'installation et la configuration de votre environnement de travail. Vous apprendrez notamment à utiliser les RAG (Retrieval-Augmented Generation) et les vector stores pour extraire et formater des données, et à appliquer des techniques d'automatisation pour mettre en œuvre des agents complets. Maîtrisez ces outils pour transformer vos projets IA en solutions innovantes et efficaces. 8 | 9 | La meilleure façon d'apprendre un langage est de l'utiliser dans la pratique. C'est pourquoi ce cours est intégré à GitHub Codespaces, un environnement de développement instantané « dans le nuage » qui offre toutes les fonctionnalités de votre IDE préféré sans nécessiter de configuration sur une machine locale. Avec Codespaces, vous pouvez vous exercer à partir de n'importe quelle machine, à tout moment, tout en utilisant un outil que vous êtes susceptible de rencontrer sur votre lieu de travail. 10 | 11 | ## Installation 12 | 13 | 1. Pour utiliser ces fichiers d’exercice, vous avez besoin de : 14 | - Python version 2.8 et plus 15 | - La bibliothèque LangChain 16 | - La bibliothèque LlamaIndex 17 | 2. Clonez ce dossier Repository sur votre machine locale (Mac), CMD (Windows), ou sur un outil GUI tel que SourceTree ou VSCode. 18 | 19 | 20 | 21 | ### Formateur 22 | 23 | **Madjid Khichane** 24 | 25 | Retrouvez mes autres formations sur [LinkedIn Learning](www.linkedin.com/in/madjid-khichane). 26 | 27 | [0]: # (Replace these placeholder URLs with actual course URLs) 28 | [lil-course-url]: https://www.linkedin.com/learning/creer-des-agents-ia-avec-langchain-et-llamaindex 29 | [lil-thumbnail-url]: https://media.licdn.com/dms/image/v2/D4E0DAQFa6_8HtyUu4A/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1732018516417?e=2147483647&v=beta&t=Ihoe37DrU_6BM54JFnynoefaceyyfhfHOKBIvvqJcbU 30 | [lil-URL-trainer]: https://www.linkedin.com/learning/instructors/madjid-khichane 31 | 32 | [1]: # (End of FR-Instruction ###############################################################################################) 33 | -------------------------------------------------------------------------------- /02/02_05_rag_langchain.py: -------------------------------------------------------------------------------- 1 | 2 | # pip install langchain-openai 3 | # pip install langchain-community 4 | # pip install torch 5 | # pip install sentence_transformers 6 | # pip install faiss-cpu 7 | # pip install docx2txt 8 | 9 | import os 10 | import argparse 11 | from langchain.chains import ConversationalRetrievalChain 12 | from langchain_openai import ChatOpenAI 13 | from langchain_community.document_loaders import DirectoryLoader, Docx2txtLoader 14 | from langchain_community.embeddings import SentenceTransformerEmbeddings 15 | from langchain.memory import ConversationBufferMemory 16 | from langchain.text_splitter import RecursiveCharacterTextSplitter 17 | from langchain_community.vectorstores import FAISS 18 | 19 | 20 | os.environ["TOKENIZERS_PARALLELISM"] = "false" 21 | 22 | def main(): 23 | parser = argparse.ArgumentParser() 24 | parser.add_argument("--docs_dir", type=str, default="./data/") 25 | parser.add_argument("--persist_dir", type=str, default="data_faiss") 26 | args = parser.parse_args() 27 | 28 | print(f"Using data dir {args.docs_dir}") 29 | print(f"Using index path {args.persist_dir}") 30 | 31 | embedding = SentenceTransformerEmbeddings(model_name="all-mpnet-base-v2") 32 | print(f"Embedding: {embedding.model_name}") 33 | 34 | if os.path.exists(args.persist_dir): 35 | print(f"Loading FAISS index from {args.persist_dir}") 36 | vectorstore = FAISS.load_local(args.persist_dir, embedding, allow_dangerous_deserialization=True) 37 | print("done.") 38 | else: 39 | print(f"Building FAISS index from documents in {args.docs_dir}") 40 | 41 | loader = DirectoryLoader(args.docs_dir, 42 | loader_cls=Docx2txtLoader, 43 | recursive=True, 44 | silent_errors=True, 45 | show_progress=True, 46 | glob="**/*.docx" # which files get loaded 47 | ) 48 | docs = loader.load() 49 | 50 | text_splitter = RecursiveCharacterTextSplitter( 51 | chunk_size=500, 52 | chunk_overlap=75 53 | ) 54 | frags = text_splitter.split_documents(docs) 55 | 56 | print(f"Poplulating vector store with {len(docs)} docs in {len(frags)} fragments") 57 | vectorstore = FAISS.from_documents(frags, embedding) 58 | print(f"Persisting vector store to: {args.persist_dir}") 59 | vectorstore.save_local(args.persist_dir) 60 | print(f"Saved FAISS index to {args.persist_dir}") 61 | 62 | # Be sure your local model suports a large context size for this 63 | llm = ChatOpenAI( 64 | temperature=0.6 65 | ) 66 | 67 | memory = ConversationBufferMemory( 68 | memory_key="chat_history", 69 | return_messages=True 70 | ) 71 | memory.load_memory_variables({}) 72 | qa_chain = ConversationalRetrievalChain.from_llm( 73 | llm=llm, 74 | memory=memory, 75 | retriever=vectorstore.as_retriever() 76 | ) 77 | 78 | 79 | if __name__ == "__main__": 80 | main() -------------------------------------------------------------------------------- /02/02_07_rag_llamaindex.py: -------------------------------------------------------------------------------- 1 | # pip install transformers 2 | # pip install torch 3 | # pip install llama-index-embeddings-huggingface 4 | # pip install docx2txt 5 | # pip install llama-index-llms-openai-like 6 | 7 | import argparse 8 | from llama_index.core import ( 9 | Settings, load_index_from_storage 10 | ) 11 | from llama_index.core.chat_engine import ContextChatEngine 12 | 13 | from llama_index.embeddings.huggingface import HuggingFaceEmbedding 14 | from llama_index.core.indices.vector_store import VectorStoreIndex 15 | 16 | from llama_index.llms.openai_like import OpenAILike 17 | from llama_index.core.query_engine import RetrieverQueryEngine 18 | 19 | from llama_index.core.readers import SimpleDirectoryReader 20 | from llama_index.core.retrievers import VectorIndexRetriever 21 | from llama_index.core.storage import StorageContext 22 | import os 23 | 24 | os.environ["TOKENIZERS_PARALLELISM"] = "false" 25 | 26 | def main(): 27 | parser = argparse.ArgumentParser() 28 | parser.add_argument("--docs_dir", type=str, default="./data/", help="Directory containing documents to index") 29 | parser.add_argument("--persist_dir", type=str, default="./data_index/", help="Path to store the serialized VectorStore") 30 | args = parser.parse_args() 31 | 32 | print(f"Using data dir {args.docs_dir}") 33 | print(f"Using index path {args.persist_dir}") 34 | 35 | embed_model=HuggingFaceEmbedding(model_name="all-mpnet-base-v2") 36 | print(f"Embedding: {embed_model.model_name}") 37 | 38 | llm=OpenAILike( 39 | is_chat_model=True, 40 | temperature=0.6, 41 | ) 42 | 43 | Settings.llm = llm 44 | Settings.chunk_size = 512 45 | Settings.chunk_overlap = 64 46 | Settings.embed_model = embed_model 47 | 48 | # Load or create the VectorStore 49 | vector_store = None 50 | if os.path.exists(args.persist_dir): 51 | print(f"Reading VectorStore from {args.persist_dir}") 52 | storage_context = StorageContext.from_defaults( 53 | persist_dir=args.persist_dir, 54 | ) 55 | vector_store = load_index_from_storage( 56 | storage_context=storage_context 57 | ) 58 | 59 | else: 60 | print(f"Reading documents in: {args.docs_dir}") 61 | documents = SimpleDirectoryReader(args.docs_dir).load_data() 62 | 63 | 64 | 65 | vector_store = VectorStoreIndex.from_documents(documents) 66 | os.mkdir(args.persist_dir) 67 | vector_store.storage_context.persist(persist_dir=args.persist_dir) 68 | vector_store 69 | 70 | 71 | print(f"setting up service context using {embed_model.model_name}") 72 | 73 | retriever = VectorIndexRetriever(vector_store) 74 | query_engine = RetrieverQueryEngine.from_args( 75 | retriever=retriever 76 | ) 77 | 78 | chat_engine = ContextChatEngine.from_defaults( 79 | retriever=retriever, 80 | query_engine=query_engine 81 | 82 | ) 83 | 84 | 85 | chat_engine.chat_repl() 86 | 87 | 88 | if __name__ == "__main__": 89 | main() 90 | -------------------------------------------------------------------------------- /02/02_08_rag_llamaindex.py: -------------------------------------------------------------------------------- 1 | # pip install transformers 2 | # pip install torch 3 | # pip install llama-index-embeddings-huggingface 4 | # pip install docx2txt 5 | # pip install llama-index-llms-openai-like 6 | 7 | import argparse 8 | from llama_index.core import ( 9 | Settings, load_index_from_storage 10 | ) 11 | from llama_index.core.chat_engine import ContextChatEngine 12 | 13 | from llama_index.embeddings.huggingface import HuggingFaceEmbedding 14 | from llama_index.core.indices.vector_store import VectorStoreIndex 15 | 16 | from llama_index.llms.openai_like import OpenAILike 17 | from llama_index.core.query_engine import RetrieverQueryEngine 18 | 19 | from llama_index.core.readers import SimpleDirectoryReader 20 | from llama_index.core.retrievers import VectorIndexRetriever 21 | from llama_index.core.storage import StorageContext 22 | import os 23 | 24 | os.environ["TOKENIZERS_PARALLELISM"] = "false" 25 | 26 | def main(): 27 | parser = argparse.ArgumentParser() 28 | parser.add_argument("--docs_dir", type=str, default="./data/", help="Directory containing documents to index") 29 | parser.add_argument("--persist_dir", type=str, default="./data_index/", help="Path to store the serialized VectorStore") 30 | args = parser.parse_args() 31 | 32 | print(f"Using data dir {args.docs_dir}") 33 | print(f"Using index path {args.persist_dir}") 34 | 35 | embed_model=HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5") 36 | print(f"Embedding: {embed_model.model_name}") 37 | 38 | llm=OpenAILike( 39 | is_chat_model=True, 40 | temperature=0.6, 41 | ) 42 | 43 | Settings.llm = llm 44 | Settings.chunk_size = 512 45 | Settings.chunk_overlap = 64 46 | Settings.embed_model = embed_model 47 | 48 | # Load or create the VectorStore 49 | vector_store = None 50 | if os.path.exists(args.persist_dir): 51 | print(f"Reading VectorStore from {args.persist_dir}") 52 | storage_context = StorageContext.from_defaults( 53 | persist_dir=args.persist_dir, 54 | ) 55 | vector_store = load_index_from_storage( 56 | storage_context=storage_context 57 | ) 58 | 59 | else: 60 | print(f"Reading documents in: {args.docs_dir}") 61 | documents = SimpleDirectoryReader(args.docs_dir).load_data() 62 | 63 | 64 | 65 | vector_store = VectorStoreIndex.from_documents(documents) 66 | os.mkdir(args.persist_dir) 67 | vector_store.storage_context.persist(persist_dir=args.persist_dir) 68 | vector_store 69 | 70 | 71 | print(f"setting up service context using {embed_model.model_name}") 72 | 73 | retriever = VectorIndexRetriever(vector_store) 74 | query_engine = RetrieverQueryEngine.from_args( 75 | retriever=retriever 76 | ) 77 | 78 | chat_engine = ContextChatEngine.from_defaults( 79 | retriever=retriever, 80 | query_engine=query_engine 81 | 82 | ) 83 | 84 | 85 | chat_engine.chat_repl() 86 | 87 | 88 | if __name__ == "__main__": 89 | main() 90 | 91 | -------------------------------------------------------------------------------- /02/02_06_rag_langchain.py: -------------------------------------------------------------------------------- 1 | 2 | # pip install langchain-openai 3 | # pip install langchain-community 4 | # pip install torch 5 | # pip install sentence_transformers 6 | # pip install faiss-cpu 7 | # pip install docx2txt 8 | 9 | import os 10 | import argparse 11 | from langchain.chains import ConversationalRetrievalChain 12 | from langchain_openai import ChatOpenAI 13 | from langchain_community.document_loaders import DirectoryLoader, Docx2txtLoader 14 | from langchain_community.embeddings import SentenceTransformerEmbeddings 15 | from langchain.memory import ConversationBufferMemory 16 | from langchain.text_splitter import RecursiveCharacterTextSplitter 17 | from langchain_community.vectorstores import FAISS 18 | 19 | 20 | os.environ["TOKENIZERS_PARALLELISM"] = "false" 21 | 22 | def main(): 23 | parser = argparse.ArgumentParser() 24 | parser.add_argument("--docs_dir", type=str, default="./data/") 25 | parser.add_argument("--persist_dir", type=str, default="data_faiss") 26 | args = parser.parse_args() 27 | 28 | print(f"Using data dir {args.docs_dir}") 29 | print(f"Using index path {args.persist_dir}") 30 | 31 | embedding = SentenceTransformerEmbeddings(model_name="all-mpnet-base-v2") 32 | print(f"Embedding: {embedding.model_name}") 33 | 34 | if os.path.exists(args.persist_dir): 35 | print(f"Loading FAISS index from {args.persist_dir}") 36 | vectorstore = FAISS.load_local(args.persist_dir, embedding, allow_dangerous_deserialization=True) 37 | print("done.") 38 | else: 39 | print(f"Building FAISS index from documents in {args.docs_dir}") 40 | 41 | loader = DirectoryLoader(args.docs_dir, 42 | loader_cls=Docx2txtLoader, 43 | recursive=True, 44 | silent_errors=True, 45 | show_progress=True, 46 | glob="**/*.docx" # which files get loaded 47 | ) 48 | docs = loader.load() 49 | 50 | text_splitter = RecursiveCharacterTextSplitter( 51 | chunk_size=500, 52 | chunk_overlap=75 53 | ) 54 | frags = text_splitter.split_documents(docs) 55 | 56 | print(f"Poplulating vector store with {len(docs)} docs in {len(frags)} fragments") 57 | vectorstore = FAISS.from_documents(frags, embedding) 58 | print(f"Persisting vector store to: {args.persist_dir}") 59 | vectorstore.save_local(args.persist_dir) 60 | print(f"Saved FAISS index to {args.persist_dir}") 61 | 62 | # Be sure your local model suports a large context size for this 63 | llm = ChatOpenAI( 64 | temperature=0.6 65 | ) 66 | 67 | memory = ConversationBufferMemory( 68 | memory_key="chat_history", 69 | return_messages=True 70 | ) 71 | memory.load_memory_variables({}) 72 | qa_chain = ConversationalRetrievalChain.from_llm( 73 | llm=llm, 74 | memory=memory, 75 | retriever=vectorstore.as_retriever() 76 | ) 77 | 78 | # Start a REPL loop 79 | while True: 80 | user_input = input("Ask a question. Type 'exit' to quit.\n>") 81 | if user_input=="exit": 82 | break 83 | memory.chat_memory.add_user_message(user_input) 84 | result = qa_chain({"question": user_input}) 85 | response = result["answer"] 86 | memory.chat_memory.add_ai_message(response) 87 | print("AI:", response) 88 | 89 | if __name__ == "__main__": 90 | main() -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | LinkedIn Learning Exercise Files License Agreement 2 | ================================================== 3 | 4 | This License Agreement (the "Agreement") is a binding legal agreement 5 | between you (as an individual or entity, as applicable) and LinkedIn 6 | Corporation (“LinkedIn”). By downloading or using the LinkedIn Learning 7 | exercise files in this repository (“Licensed Materials”), you agree to 8 | be bound by the terms of this Agreement. If you do not agree to these 9 | terms, do not download or use the Licensed Materials. 10 | 11 | 1. License. 12 | - a. Subject to the terms of this Agreement, LinkedIn hereby grants LinkedIn 13 | members during their LinkedIn Learning subscription a non-exclusive, 14 | non-transferable copyright license, for internal use only, to 1) make a 15 | reasonable number of copies of the Licensed Materials, and 2) make 16 | derivative works of the Licensed Materials for the sole purpose of 17 | practicing skills taught in LinkedIn Learning courses. 18 | - b. Distribution. Unless otherwise noted in the Licensed Materials, subject 19 | to the terms of this Agreement, LinkedIn hereby grants LinkedIn members 20 | with a LinkedIn Learning subscription a non-exclusive, non-transferable 21 | copyright license to distribute the Licensed Materials, except the 22 | Licensed Materials may not be included in any product or service (or 23 | otherwise used) to instruct or educate others. 24 | 25 | 2. Restrictions and Intellectual Property. 26 | - a. You may not to use, modify, copy, make derivative works of, publish, 27 | distribute, rent, lease, sell, sublicense, assign or otherwise transfer the 28 | Licensed Materials, except as expressly set forth above in Section 1. 29 | - b. Linkedin (and its licensors) retains its intellectual property rights 30 | in the Licensed Materials. Except as expressly set forth in Section 1, 31 | LinkedIn grants no licenses. 32 | - c. You indemnify LinkedIn and its licensors and affiliates for i) any 33 | alleged infringement or misappropriation of any intellectual property rights 34 | of any third party based on modifications you make to the Licensed Materials, 35 | ii) any claims arising from your use or distribution of all or part of the 36 | Licensed Materials and iii) a breach of this Agreement. You will defend, hold 37 | harmless, and indemnify LinkedIn and its affiliates (and our and their 38 | respective employees, shareholders, and directors) from any claim or action 39 | brought by a third party, including all damages, liabilities, costs and 40 | expenses, including reasonable attorneys’ fees, to the extent resulting from, 41 | alleged to have resulted from, or in connection with: (a) your breach of your 42 | obligations herein; or (b) your use or distribution of any Licensed Materials. 43 | 44 | 3. Open source. This code may include open source software, which may be 45 | subject to other license terms as provided in the files. 46 | 47 | 4. Warranty Disclaimer. LINKEDIN PROVIDES THE LICENSED MATERIALS ON AN “AS IS” 48 | AND “AS AVAILABLE” BASIS. LINKEDIN MAKES NO REPRESENTATION OR WARRANTY, 49 | WHETHER EXPRESS OR IMPLIED, ABOUT THE LICENSED MATERIALS, INCLUDING ANY 50 | REPRESENTATION THAT THE LICENSED MATERIALS WILL BE FREE OF ERRORS, BUGS OR 51 | INTERRUPTIONS, OR THAT THE LICENSED MATERIALS ARE ACCURATE, COMPLETE OR 52 | OTHERWISE VALID. TO THE FULLEST EXTENT PERMITTED BY LAW, LINKEDIN AND ITS 53 | AFFILIATES DISCLAIM ANY IMPLIED OR STATUTORY WARRANTY OR CONDITION, INCLUDING 54 | ANY IMPLIED WARRANTY OR CONDITION OF MERCHANTABILITY OR FITNESS FOR A 55 | PARTICULAR PURPOSE, AVAILABILITY, SECURITY, TITLE AND/OR NON-INFRINGEMENT. 56 | YOUR USE OF THE LICENSED MATERIALS IS AT YOUR OWN DISCRETION AND RISK, AND 57 | YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE THAT RESULTS FROM USE OF THE 58 | LICENSED MATERIALS TO YOUR COMPUTER SYSTEM OR LOSS OF DATA. NO ADVICE OR 59 | INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM US OR THROUGH OR 60 | FROM THE LICENSED MATERIALS WILL CREATE ANY WARRANTY OR CONDITION NOT 61 | EXPRESSLY STATED IN THESE TERMS. 62 | 63 | 5. Limitation of Liability. LINKEDIN SHALL NOT BE LIABLE FOR ANY INDIRECT, 64 | INCIDENTAL, SPECIAL, PUNITIVE, CONSEQUENTIAL OR EXEMPLARY DAMAGES, INCLUDING 65 | BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER 66 | INTANGIBLE LOSSES . IN NO EVENT WILL LINKEDIN'S AGGREGATE LIABILITY TO YOU 67 | EXCEED $100. THIS LIMITATION OF LIABILITY SHALL: 68 | - i. APPLY REGARDLESS OF WHETHER (A) YOU BASE YOUR CLAIM ON CONTRACT, TORT, 69 | STATUTE, OR ANY OTHER LEGAL THEORY, (B) WE KNEW OR SHOULD HAVE KNOWN ABOUT 70 | THE POSSIBILITY OF SUCH DAMAGES, OR (C) THE LIMITED REMEDIES PROVIDED IN THIS 71 | SECTION FAIL OF THEIR ESSENTIAL PURPOSE; AND 72 | - ii. NOT APPLY TO ANY DAMAGE THAT LINKEDIN MAY CAUSE YOU INTENTIONALLY OR 73 | KNOWINGLY IN VIOLATION OF THESE TERMS OR APPLICABLE LAW, OR AS OTHERWISE 74 | MANDATED BY APPLICABLE LAW THAT CANNOT BE DISCLAIMED IN THESE TERMS. 75 | 76 | 6. Termination. This Agreement automatically terminates upon your breach of 77 | this Agreement or termination of your LinkedIn Learning subscription. On 78 | termination, all licenses granted under this Agreement will terminate 79 | immediately and you will delete the Licensed Materials. Sections 2-7 of this 80 | Agreement survive any termination of this Agreement. LinkedIn may discontinue 81 | the availability of some or all of the Licensed Materials at any time for any 82 | reason. 83 | 84 | 7. Miscellaneous. This Agreement will be governed by and construed in 85 | accordance with the laws of the State of California without regard to conflict 86 | of laws principles. The exclusive forum for any disputes arising out of or 87 | relating to this Agreement shall be an appropriate federal or state court 88 | sitting in the County of Santa Clara, State of California. If LinkedIn does 89 | not act to enforce a breach of this Agreement, that does not mean that 90 | LinkedIn has waived its right to enforce this Agreement. The Agreement does 91 | not create a partnership, agency relationship, or joint venture between the 92 | parties. Neither party has the power or authority to bind the other or to 93 | create any obligation or responsibility on behalf of the other. You may not, 94 | without LinkedIn’s prior written consent, assign or delegate any rights or 95 | obligations under these terms, including in connection with a change of 96 | control. Any purported assignment and delegation shall be ineffective. The 97 | Agreement shall bind and inure to the benefit of the parties, their respective 98 | successors and permitted assigns. If any provision of the Agreement is 99 | unenforceable, that provision will be modified to render it enforceable to the 100 | extent possible to give effect to the parties’ intentions and the remaining 101 | provisions will not be affected. This Agreement is the only agreement between 102 | you and LinkedIn regarding the Licensed Materials, and supersedes all prior 103 | agreements relating to the Licensed Materials. 104 | 105 | Last Updated: March 2019 106 | -------------------------------------------------------------------------------- /02/data_index/docstore.json: -------------------------------------------------------------------------------- 1 | {"docstore/metadata": {"aad95f1d-8e49-4bb4-aa7a-4256a7731aa3": {"doc_hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f"}, "082448f0-da91-4be9-822d-80f026c52961": {"doc_hash": "14986da975ed99c4c69c4a673fb97ec84a92d0516133ec0ffc113d975d28d66c", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "47f15867-45d2-4b7c-906c-d74ffeb22725": {"doc_hash": "e84c5c0b3ef88ddbd532856696201ad795d2f6433d4725cd60a3d52b6a59d8df", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "85604ba9-e982-4717-a122-c235f8ffdd6d": {"doc_hash": "47e249df56542782dbbb6c167d8a8d461bfa01795f34a65c68d8d5d2625d2e9d", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "dbce25fc-ea16-4773-a3df-ed04552210db": {"doc_hash": "29ce8d0a7e1f33ea4b5649d5eb0f4903366b21b1ad7355760bb864c194ee3d18", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "6372ad7b-4891-4fcb-af93-eacff2986875": {"doc_hash": "7be0a300cd76434c9473c5ce00909c4fac00d25c0bb7317259a36998af7727ea", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "538d1eeb-d128-42e1-945b-aff57f75893f": {"doc_hash": "3acf5feb35b87398f7a92ece97b8cd3f842141ca7bf6adfaa760a3e59f09a7a0", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "84ba8a47-01b3-451a-aa83-381353e52189": {"doc_hash": "a58ee412b34426f9aba1de8bf6adae6407448440d343228b7386e54d80da7d9b", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "efb57a05-aaca-4b68-bdbc-68d8f622ff9f": {"doc_hash": "ff4908c26e3723e1bdea7158af58282287977387d95a982235f4a4578ce3d881", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "677986d1-84a4-401c-b414-970f27b12f10": {"doc_hash": "9f9f0ed85e71b6bf94f7c9343a1a9a865368e731ea22c8d9fc2be59933d9a6d4", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}}, "docstore/data": {"082448f0-da91-4be9-822d-80f026c52961": {"__data__": {"id_": "082448f0-da91-4be9-822d-80f026c52961", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "47f15867-45d2-4b7c-906c-d74ffeb22725", "node_type": "1", "metadata": {}, "hash": "b27055f03926fa3e887441803c3ccdca45485eae71f6dba05d132311b69d8056", "class_name": "RelatedNodeInfo"}}, "text": "L\u2019intelligence artificielle dans les secteurs banquier et financier \n\n \n\nIntroduction \n\n \n\nAujourd\u2019hui, plus une organisation g\u00e8re de gros volumes de donn\u00e9es, plus cette organisation va avoir tendance \u00e0 faire appel au service de l\u2019intelligence artificielle. Ainsi, quel que soit votre m\u00e9tier et quel que soit votre r\u00f4le dans votre entreprise, il y a de fortes chances que vous soyez en contact d\u2019une mani\u00e8re ou d\u2019une autre avec des sujets relatifs aux donn\u00e9es et \u00e0 l\u2019intelligence artificielle. \n\nCette formation audio commence par une br\u00e8ve d\u00e9finition de l\u2019intelligence artificielle, puis nous allons parler des cas d\u2019application de cette intelligence artificielle les plus couramment d\u00e9ploy\u00e9es dans les secteurs de la banque et de l\u2019assurance, et plus g\u00e9n\u00e9ralement, dans le secteur de la finance. \n\n\n\n\n\n\n\n \n\nC\u2019est quoi l\u2019intelligence artificielle\u00a0?\n\nCette formation concerne exclusivement les cas d\u2019application de l\u2019intelligence artificielle dans le monde de la finance. Avant de parler de ces cas d\u2019application, , essayons d\u2019abord de d\u00e9finir en quelques mots ce qu\u2019est l\u2019intelligence artificielle. \n\nLors des tout premiers cours sur l\u2019intelligence artificielle que j\u2019ai eu l\u2019occasion de suivre \u00e0 l\u2019universit\u00e9, je me rappellerai toujours de notre professeur qui disait avec insistance qu\u2019il est tr\u00e8s difficile de trouver une d\u00e9finition de l\u2019intelligence artificielle qui soit \u00e0 la fois coh\u00e9rente et compl\u00e8te. J\u2019avoue qu\u2019\u00e0 l\u2019\u00e9poque, cela me semblait quelque peu intriguant et myst\u00e9rieux, mais avec le temps, je me suis bien rendu \u00e0 l\u2019\u00e9vidence qu\u2019il est en effet difficile de d\u00e9limiter, avec exactitude, les fronti\u00e8res entre les programmes informatiques qui rel\u00e8vent du domaine de l\u2019intelligence artificielle et les autres programmes dits de l\u2019informatique classique.", "mimetype": "text/plain", "start_char_idx": 0, "end_char_idx": 1772, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "47f15867-45d2-4b7c-906c-d74ffeb22725": {"__data__": {"id_": "47f15867-45d2-4b7c-906c-d74ffeb22725", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "082448f0-da91-4be9-822d-80f026c52961", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "14986da975ed99c4c69c4a673fb97ec84a92d0516133ec0ffc113d975d28d66c", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "85604ba9-e982-4717-a122-c235f8ffdd6d", "node_type": "1", "metadata": {}, "hash": "e0f2a670d430e773f0f242719386a4c6b36007eb9c6b15fe8179bbe1307adff5", "class_name": "RelatedNodeInfo"}}, "text": "N\u00e9anmoins, dans la pratique, nous pouvons dire que l\u2019intelligence artificielle concerne les logiciels qui tentent de reproduire des processus cognitifs naturels, tels que reconnaitre une personne sur une image, lire et comprendre un texte ou r\u00e9aliser une combinaison spectaculaire au jeu d\u2019\u00e9checs afin de mettre le roi de l\u2019adversaire en position d\u2019\u00e9chec et mat. \n\nConcr\u00e8tement, aujourd\u2019hui dans les entreprises, il n\u2019y a quasiment pas de domaine ou de m\u00e9tier qui ne soient pas impact\u00e9s, voire boulevers\u00e9s, par des projets de Data et/ou des projets de l\u2019intelligence artificielle. Et cela est d\u2019autant plus vrai dans les domaines o\u00f9 les donn\u00e9es manipul\u00e9es sont de tr\u00e8s grande taille. \n\nJustement, de mani\u00e8re g\u00e9n\u00e9rale, le domaine de la finance est particuli\u00e8rement dispos\u00e9 et propice au d\u00e9veloppement des projets de Data-AI, c\u2019est-\u00e0-dire des projets centr\u00e9s sur de gros volumes de donn\u00e9es et qui utilisent l\u2019intelligence artificielle pour transformer les donn\u00e9es en actions profitables aux entreprises et aux investisseurs. \n\nLe monde de la Finance est tr\u00e8s vaste et se d\u00e9cline en plusieurs m\u00e9tiers. Parmi les m\u00e9tiers de la Finance dont je pourrais parler, je peux citer le m\u00e9tier de la banque de d\u00e9tail; le m\u00e9tier de la banque de financement et d\u2019investissement, ce que nous appelons les BFI; le m\u00e9tier de l\u2019assurance\u00a0; le m\u00e9tier de la supervision et de la surveillance des march\u00e9s financiers\u00a0et le m\u00e9tier de la r\u00e9gulation et de la conformit\u00e9.", "mimetype": "text/plain", "start_char_idx": 1773, "end_char_idx": 3218, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "85604ba9-e982-4717-a122-c235f8ffdd6d": {"__data__": {"id_": "85604ba9-e982-4717-a122-c235f8ffdd6d", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "47f15867-45d2-4b7c-906c-d74ffeb22725", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "e84c5c0b3ef88ddbd532856696201ad795d2f6433d4725cd60a3d52b6a59d8df", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "dbce25fc-ea16-4773-a3df-ed04552210db", "node_type": "1", "metadata": {}, "hash": "4f8a0a1b22c379b3f2fe99ba6e1e63fc539ed2d12d4ddb9f2dbf1d6e36f1aa0e", "class_name": "RelatedNodeInfo"}}, "text": "Bien s\u00fbr, je ne suis pas sp\u00e9cialiste de ces domaines \u00e0 proprement parl\u00e9, car mes interventions aupr\u00e8s de mes clients consistent en l\u2019int\u00e9gration de l\u2019intelligence artificielle dans certains des processus de ces m\u00e9tiers afin de les optimiser pour ainsi les rendre plus fluides et plus efficaces. \n\nAvant de parler de quelques cas d\u2019usages concrets, j\u2019aimerais partager avec vous quelques chiffres qui peuvent nous servirent de rep\u00e8re ou de r\u00e9ponse quant \u00e0 savoir quel est l\u2019impact potentiel de l\u2019intelligence artificielle dans le secteur de la finance\u00a0: \n\n \n\n Commen\u00e7ons avec le secteur de l\u2019assurance. En 2019, l\u2019Agence de Lutte Contre la Fraude, appel\u00e9e aussi l\u2019ALFA, a identifi\u00e9 un montant de 416.8 millions d\u2019euros li\u00e9s directement aux d\u00e9clarations frauduleuses \u00e0 l\u2019assurance. \n\nEn 2014, cette m\u00eame agence avait enregistr\u00e9 42529 d\u00e9clarations de sinistres frauduleuses\u00a0! Ce chiffre pourrait bien n\u2019\u00eatre que la partie \u00e9merg\u00e9e de l\u2019iceberg\u00a0! Avec l\u2019aide de l\u2019IA, le nombre des d\u00e9clarations frauduleuses d\u00e9tect\u00e9es pourrait bien \u00eatre beaucoup plus important\u00a0! \n\nUn autre chiffre relatif au secteur bancaire, en 2020, les banques ont enregistr\u00e9 en France pas moins d\u2019un demi-milliard d\u2019euros d\u2019escroqueries entre les falsifications d\u2019usages de cartes de cr\u00e9dit ou de faux usages de ch\u00e8ques. L\u2019intelligence artificielle peut grandement aider \u00e0 d\u00e9tecter et r\u00e9duire ce type de fraudes.", "mimetype": "text/plain", "start_char_idx": 3219, "end_char_idx": 4599, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "dbce25fc-ea16-4773-a3df-ed04552210db": {"__data__": {"id_": "dbce25fc-ea16-4773-a3df-ed04552210db", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "85604ba9-e982-4717-a122-c235f8ffdd6d", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "47e249df56542782dbbb6c167d8a8d461bfa01795f34a65c68d8d5d2625d2e9d", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "6372ad7b-4891-4fcb-af93-eacff2986875", "node_type": "1", "metadata": {}, "hash": "6d9bd7e0f0381c29102ffc5693bebdd0fc576dc008470f6c2604ae3e23d03eb6", "class_name": "RelatedNodeInfo"}}, "text": "L\u2019intelligence artificielle peut grandement aider \u00e0 d\u00e9tecter et r\u00e9duire ce type de fraudes. \n\n\n\n\n\nLes cas d\u2019application de l\u2019IA dans le monde de la finance\n\nOn peut distinguer deux grandes familles de cas d\u2019application de l\u2019IA dans le secteur de la finance, \u00e0 savoir les cas d\u2019application de l\u2019IA communs \u00e0 plusieurs domaines d\u2019activit\u00e9 et les cas d\u2019application de l\u2019IA sp\u00e9cifiques aux m\u00e9tiers de la finance. \n\nCommen\u00e7ons avec des usages de l\u2019IA plus ou moins classiques. Parmi ces applications je citerais\u00a0:\n\nPremi\u00e8rement, l\u2019utilisation des assistants virtuels, qu\u2019on appelle commun\u00e9ment les chatbots, qui servent principalement \u00e0 la fluidification et l\u2019optimisation de la relation client. Ces Chatbots sont bas\u00e9s sur des technologies qu\u2019on regroupe souvent sous l\u2019appellation des \u00ab\u00a0Services cognitifs\u00a0\u00bb. Ces services incluent la reconnaissance et l\u2019identification vocale, le traitement automatique du langage, qu\u2019on appelle souvent par le NLP pour Natural Language Processing, et la vision par ordinateur, qui concerne par exemple la reconnaissance des objets figurant dans des images. \n\nDeuxi\u00e8mement, l\u2019utilisation de l\u2019IA pour l\u2019acheminement et/ou le traitement automatiques des emails. Cela permet, par exemple, de router automatiquement les r\u00e9clamations client afin qu\u2019elles soient trait\u00e9es rapidement par des collaborateurs qui disposent des comp\u00e9tences ad\u00e9quates.\n\nTroisi\u00e8mement, la classification automatique des documents. Par exemple, j\u2019ai eu un client qui a souhait\u00e9 d\u00e9mat\u00e9rialiser toutes ces archives relatives aux contrats clients. Ainsi, nous avons mis en place un outil bas\u00e9 sur l\u2019IA afin de classer automatiquement tous les contrats scann\u00e9s.", "mimetype": "text/plain", "start_char_idx": 4508, "end_char_idx": 6174, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "6372ad7b-4891-4fcb-af93-eacff2986875": {"__data__": {"id_": "6372ad7b-4891-4fcb-af93-eacff2986875", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "dbce25fc-ea16-4773-a3df-ed04552210db", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "29ce8d0a7e1f33ea4b5649d5eb0f4903366b21b1ad7355760bb864c194ee3d18", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "538d1eeb-d128-42e1-945b-aff57f75893f", "node_type": "1", "metadata": {}, "hash": "6e1e1ff6c13288c883f452b506076c729f46ddbba2c347a8d8ff9e6553208dc6", "class_name": "RelatedNodeInfo"}}, "text": "Par exemple, j\u2019ai eu un client qui a souhait\u00e9 d\u00e9mat\u00e9rialiser toutes ces archives relatives aux contrats clients. Ainsi, nous avons mis en place un outil bas\u00e9 sur l\u2019IA afin de classer automatiquement tous les contrats scann\u00e9s. L\u2019objectif \u00e9tait, pour un contrat scann\u00e9, de trouver automatiquement la bonne cat\u00e9gorie \u00e0 laquelle il appartient. \n\nUn dernier exemple classique que je citerai est celui o\u00f9 l\u2019IA est utilis\u00e9e dans la cybers\u00e9curit\u00e9 pour par exemple rendre plus efficaces les algorithmes de la d\u00e9tection des intrusions malveillantes dans les syst\u00e8mes d\u2019information. \n\n \n\nIl existe bien d\u2019autres cas d\u2019utilisation de l\u2019IA que nous pouvons qualifier de cas d\u2019application classique et qui sont communs \u00e0 divers domaines d\u2019activit\u00e9. \n\nInt\u00e9ressons-nous maintenant, aux cas d\u2019application de l\u2019IA sp\u00e9cifiques au monde de la finance. \n\nCommen\u00e7ons avec un cas d\u2019usage tr\u00e8s parlant et qui est celui de la d\u00e9tection de fraudes. Les probl\u00e8mes li\u00e9s \u00e0 la fraude sont \u00e9videmment tr\u00e8s sensibles et peuvent concerner plusieurs m\u00e9tiers diff\u00e9rents dans le secteur de la finance. Malheureusement, les cas r\u00e9els de fraudes sont tr\u00e8s courants et peuvent avoir comme cible de petites et grandes entreprises, mais \u00e9galement des individus comme vous et moi. \n\nAinsi, l\u2019IA est exploit\u00e9e pour la d\u00e9tection de la fraude \u00e0 la carte bleue, la d\u00e9tection du blanchiment de fonds (il peut s\u2019agir de blanchiment d\u2019argent par ch\u00e8que ou par cryptomonnaie), la d\u00e9tection de la fraude \u00e0 l\u2019assurance, la d\u00e9tection des d\u00e9lits d\u2019initi\u00e9s ou encore la d\u00e9tection de comportement suspect d\u2019un groupe de traders.", "mimetype": "text/plain", "start_char_idx": 5948, "end_char_idx": 7531, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "538d1eeb-d128-42e1-945b-aff57f75893f": {"__data__": {"id_": "538d1eeb-d128-42e1-945b-aff57f75893f", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "6372ad7b-4891-4fcb-af93-eacff2986875", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "7be0a300cd76434c9473c5ce00909c4fac00d25c0bb7317259a36998af7727ea", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "84ba8a47-01b3-451a-aa83-381353e52189", "node_type": "1", "metadata": {}, "hash": "c7a966c68d89f99c10ac4bf6384cc99a21c374480bd39aaf63d9569ec83e4db8", "class_name": "RelatedNodeInfo"}}, "text": "Un deuxi\u00e8me cas d\u2019usage de l\u2019IA sp\u00e9cifique \u00e0 la finance est celui o\u00f9 des algorithmes sont utilis\u00e9s en tant que robot Conseiller en Gestion de Patrimoine ou CGP. Ces robots exploitent les donn\u00e9es relatives au profil d\u2019un client pour lui proposer les produits financiers les plus adapt\u00e9s \u00e0 sa situation personnelle et professionnelle. Ces algorithmes d\u00e9di\u00e9s au CGP se d\u00e9mocratisent de plus en plus et sont accessibles par le grand public sur de simples sites web sur internet. \n\nVoyons un troisi\u00e8me cas d\u2019usage de l\u2019IA, cette fois dans le secteur du Trading. C\u2019est celui o\u00f9 l\u2019IA est exploit\u00e9e pour aider les traders \u00e0 optimiser la gestion de leurs portefeuilles. Cette fois, l\u2019IA va aider les traders en les conseillant pour prendre des actions d\u2019investissement en fonction de l\u2019historique et de l\u2019\u00e9tat actuel ainsi que de l\u2019\u00e9tat pr\u00e9visionnel des march\u00e9s boursiers. De plus en plus et gr\u00e2ce aux technologies du Big Data, l\u2019anticipation des cours d\u2019actions en bourse est r\u00e9alis\u00e9e en temps quasiment r\u00e9el\u00a0! ce qui aide les pr\u00e9dictions des algorithmes \u00e0 \u00eatre de plus en plus pr\u00e9cis. \n\nCe cas d\u2019usage est d\u2019apparence similaire au robot conseiller en gestion de patrimoine. Cependant, dans les faits, ces deux cas d\u2019usages sont tr\u00e8s diff\u00e9rents, puisque ces robots conseillers sont d\u00e9di\u00e9s au grand public et n\u2019impliquent pas n\u00e9cessairement l\u2019exploitation de gros volumes de donn\u00e9es, alors que les algorithmes exploit\u00e9s par les traders sont g\u00e9n\u00e9ralement beaucoup plus puissants et n\u00e9cessitent des sources de donn\u00e9es de taille beaucoup plus importante.", "mimetype": "text/plain", "start_char_idx": 7536, "end_char_idx": 9083, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "84ba8a47-01b3-451a-aa83-381353e52189": {"__data__": {"id_": "84ba8a47-01b3-451a-aa83-381353e52189", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "538d1eeb-d128-42e1-945b-aff57f75893f", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "3acf5feb35b87398f7a92ece97b8cd3f842141ca7bf6adfaa760a3e59f09a7a0", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "efb57a05-aaca-4b68-bdbc-68d8f622ff9f", "node_type": "1", "metadata": {}, "hash": "7b0dff65332279a8585b2086d7942784a962885dd1fd6c32e13a564a51af4762", "class_name": "RelatedNodeInfo"}}, "text": "Bien que ces deux derniers cas d\u2019usage, les robots assistants CGP et les robots assistant des traders, soient tr\u00e8s sophistiqu\u00e9s, il y a cependant un point d\u2019attention \u00e0 observer lier \u00e0 un ph\u00e9nom\u00e8ne de masse que leur utilisation peut engendrer. En effet, imaginons un groupe de traders qui ne se connaissent pas, mais qui utiliseraient le m\u00eame programme d\u2019IA pour l\u2019aide \u00e0 la prise de d\u00e9cision\u00a0! Cela peut facilement g\u00e9n\u00e9rer un comportement de masse incoh\u00e9rent voir m\u00eame, augmenter le risque de d\u00e9stabiliser les march\u00e9s financiers. Justement, ce dernier constat est l\u2019une des raisons principales pour laquelle l\u2019utilisation de l\u2019IA dans le secteur de la finance est consid\u00e9r\u00e9e comme \u00e9tant un cas d\u2019usage \u00e0 haut risque.\n\nUn autre cas d\u2019usage et qui est l\u2019un des cas d\u2019utilisation de l\u2019IA les plus moderne est celui o\u00f9 les algorithmes sont utilis\u00e9s comme assistant \u00e0 la construction des dossiers li\u00e9s \u00e0 la connaissance des clients qu\u2019on appelle commun\u00e9ment les dossiers KYC, c\u2019est-\u00e0-dire, les dossiers Know Your Customer. Dans le domaine de la Due Diligence ou le domaine de la conformit\u00e9 et de la r\u00e9glementation, lorsqu\u2019une entreprise soumet une requ\u00eate de demande de cr\u00e9dit \u00e0 un organisme de financement et d\u2019investissement, avant de prendre la d\u00e9cision d\u2019accorder ce cr\u00e9dit, l\u2019organisme d\u2019investissement doit imp\u00e9rativement se soumettre \u00e0 un certain nombre de r\u00e8gles \u00e9mises par des autorit\u00e9s gouvernementales et/ou des autorit\u00e9s de r\u00e9gulation et de surveillance des march\u00e9s. \n\nPar exemple, une entreprise \u00e9met une demande de cr\u00e9dit \u00e0 une banque pour r\u00e9aliser un projet quelconque. Cette banque d\u00e9cidera d\u2019accorder ou non ce cr\u00e9dit en fonction du dossier KYC.", "mimetype": "text/plain", "start_char_idx": 9091, "end_char_idx": 10751, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "efb57a05-aaca-4b68-bdbc-68d8f622ff9f": {"__data__": {"id_": "efb57a05-aaca-4b68-bdbc-68d8f622ff9f", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "84ba8a47-01b3-451a-aa83-381353e52189", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "a58ee412b34426f9aba1de8bf6adae6407448440d343228b7386e54d80da7d9b", "class_name": "RelatedNodeInfo"}, "3": {"node_id": "677986d1-84a4-401c-b414-970f27b12f10", "node_type": "1", "metadata": {}, "hash": "36cb43464a878903303475d46c517b50cfe1124ac4a1579adf2956dff138d06c", "class_name": "RelatedNodeInfo"}}, "text": "Par exemple, une entreprise \u00e9met une demande de cr\u00e9dit \u00e0 une banque pour r\u00e9aliser un projet quelconque. Cette banque d\u00e9cidera d\u2019accorder ou non ce cr\u00e9dit en fonction du dossier KYC. Cette prise de d\u00e9cision est bas\u00e9e entre autres sur les potentielles informations n\u00e9gatives qui peuvent figurer dans ce dossier KYC. Par exemple, si l\u2019entreprise demandeur du cr\u00e9dit a \u00e9t\u00e9 m\u00eal\u00e9e \u00e0 une affaire de blanchiment de fonds, alors la banque prend de gros risques d\u2019\u00eatre sanctionn\u00e9e si elle accorde un cr\u00e9dit financier \u00e0 cette entreprise\u00a0! Gr\u00e2ce aux algorithmes de l\u2019IA, la recherche et la d\u00e9tection des informations n\u00e9gatives li\u00e9es \u00e0 une contrepartie est grandement facilit\u00e9e, ce qui permet de rendre les dossiers KYC plus pertinents et plus rapides \u00e0 construire. \n\n\n\nIl existe bien d\u2019autres cas d\u2019application de l\u2019IA dans le monde de la finance. Pour ne citer que certains d\u2019entre eux, je peux mentionner\u00a0: \n\nL\u2019utilisation de l\u2019IA pour le \u00ab\u00a0scoring\u00a0\u00bb client afin d\u2019\u00e9valuer les risques li\u00e9s \u00e0 un profil pour, par exemple\u00a0: \n\nL\u2019octroi d\u2019un cr\u00e9dit aupr\u00e8s d\u2019une banque \n\nOu la conclusion d\u2019un contrat d\u2019assurance. \n\nOu encore le risque de l\u2019attrition client connut sous l\u2019appellation anglaise le Churn. C\u2019est-\u00e0-dire \u00e9valuer le risque qu\u2019un client quitte une banque ou un assureur pour partir chez la concurrence. \n\nUn autre exemple est l\u2019utilisation de l\u2019IA pour l\u2019\u00e9valuation des risques li\u00e9s \u00e0 l\u2019impact sur le march\u00e9 d\u2019un nouveau produit financier.\n\nEncore un exemple, la gestion automatique des sinistres.", "mimetype": "text/plain", "start_char_idx": 10570, "end_char_idx": 12065, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}, "677986d1-84a4-401c-b414-970f27b12f10": {"__data__": {"id_": "677986d1-84a4-401c-b414-970f27b12f10", "embedding": null, "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "excluded_embed_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "excluded_llm_metadata_keys": ["file_name", "file_type", "file_size", "creation_date", "last_modified_date", "last_accessed_date"], "relationships": {"1": {"node_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "node_type": "4", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ad1d9611ff78fc9d413249995ec3814b4c31ca5fb1045215f606dedc04c8ac2f", "class_name": "RelatedNodeInfo"}, "2": {"node_id": "efb57a05-aaca-4b68-bdbc-68d8f622ff9f", "node_type": "1", "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}, "hash": "ff4908c26e3723e1bdea7158af58282287977387d95a982235f4a4578ce3d881", "class_name": "RelatedNodeInfo"}}, "text": "Un autre exemple est l\u2019utilisation de l\u2019IA pour l\u2019\u00e9valuation des risques li\u00e9s \u00e0 l\u2019impact sur le march\u00e9 d\u2019un nouveau produit financier.\n\nEncore un exemple, la gestion automatique des sinistres. Un cas concret est celui o\u00f9 lors d\u2019un accident de voiture, un assur\u00e9 pourra saisir via un formulaire le contexte de son accident avec la prise de photos de sa voiture accident\u00e9e. Les algorithmes de l\u2019IA vont automatiquement faire une premi\u00e8re \u00e9valuation des co\u00fbts relatifs \u00e0 ce sinistre en analysant les photos et les informations fournies par l\u2019assur\u00e9. Cela peut \u00eatre un gain de productivit\u00e9 important pour un assureur. \n\nUn dernier mot\u00a0sur l\u2019IA et le secteur financier\n\nPour conclure cette formation, j\u2019aimerais dire que, quel que soit le domaine de son application, la qualit\u00e9 d\u2019un projet en IA est fortement li\u00e9e \u00e0 la qualit\u00e9 des donn\u00e9es trait\u00e9es. J\u2019aimerais \u00e9galement insister sur la n\u00e9cessit\u00e9 de mettre le focus, notamment dans le monde de la recherche en intelligence artificielle, sur le d\u00e9veloppement d\u2019algorithmes explicables, transparents et aussi, d\u2019algorithmes dont la d\u00e9cision est r\u00e9versible et pour lesquels le dernier mot doit \u00eatre laiss\u00e9 \u00e0 l\u2019humain surtout dans les domaines \u00e0 haut risque.", "mimetype": "text/plain", "start_char_idx": 11873, "end_char_idx": 13074, "text_template": "{metadata_str}\n\n{content}", "metadata_template": "{key}: {value}", "metadata_seperator": "\n", "class_name": "TextNode"}, "__type__": "1"}}, "docstore/ref_doc_info": {"aad95f1d-8e49-4bb4-aa7a-4256a7731aa3": {"node_ids": ["082448f0-da91-4be9-822d-80f026c52961", "47f15867-45d2-4b7c-906c-d74ffeb22725", "85604ba9-e982-4717-a122-c235f8ffdd6d", "dbce25fc-ea16-4773-a3df-ed04552210db", "6372ad7b-4891-4fcb-af93-eacff2986875", "538d1eeb-d128-42e1-945b-aff57f75893f", "84ba8a47-01b3-451a-aa83-381353e52189", "efb57a05-aaca-4b68-bdbc-68d8f622ff9f", "677986d1-84a4-401c-b414-970f27b12f10"], "metadata": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18"}}}} -------------------------------------------------------------------------------- /02/data_index/default__vector_store.json: -------------------------------------------------------------------------------- 1 | {"embedding_dict": {"082448f0-da91-4be9-822d-80f026c52961": [0.026531485840678215, -0.011793484911322594, -0.02516046166419983, -0.07779191434383392, 0.03566085174679756, -0.046140436083078384, -0.01483235601335764, -0.0008136104443110526, 0.019662804901599884, -0.05598130077123642, 0.038572851568460464, -0.030083658173680305, 0.03366316482424736, 0.00021286668197717518, 0.06388800591230392, 0.009058634750545025, 0.008023066446185112, -0.029728855937719345, 0.002469185972586274, 0.007053024135529995, 0.037338148802518845, -0.034064099192619324, 0.02378590777516365, -0.004371967166662216, -0.012062315829098225, 0.0428362600505352, 0.01768430322408676, -0.0224202461540699, -0.0011334533337503672, -0.10574166476726532, 0.0041724443435668945, -0.0035238415002822876, 0.008101757615804672, 0.040926896035671234, -0.024331122636795044, 0.05803340673446655, 0.020938167348504066, 0.012116212397813797, 0.020406225696206093, 0.0005662821349687874, 0.02017711102962494, -0.024513153359293938, -0.019200878217816353, -0.06163182109594345, 0.07639311254024506, -0.014457060024142265, -0.05625682324171066, 0.025024065747857094, -0.10737080127000809, -0.014414547942578793, -0.06365273147821426, -0.01947384886443615, -0.03015725128352642, 0.012438470497727394, -0.021126631647348404, 0.07059180736541748, 0.042628463357686996, 0.011835717596113682, 0.005598776508122683, 0.0683877095580101, 0.07167918980121613, 0.026442116126418114, -0.18837176263332367, 0.050514623522758484, -0.022787518799304962, 0.027018433436751366, -0.004633219446986914, -0.04721195250749588, -0.0658528059720993, -0.03526315465569496, 0.03055882453918457, -0.0381181500852108, 0.025809617713093758, 0.03812273219227791, 0.043694816529750824, -0.0017495668726041913, -0.02308090217411518, -0.030540814623236656, 0.0565703921020031, 0.03341125324368477, 0.02894441969692707, 0.015390169806778431, -0.018405858427286148, 0.04719441756606102, -0.02566372975707054, -0.005997509229928255, 0.023049278184771538, -0.017297247424721718, 0.020427023991942406, -0.002426119986921549, 0.010329158045351505, -0.02471259981393814, 0.011190985329449177, 0.02598041296005249, 0.020468031987547874, -0.06080355867743492, -0.02510480396449566, 0.00414571026340127, -0.02127726748585701, 0.40243324637413025, -0.025338977575302124, -0.0195187758654356, 0.02910815179347992, -0.048485010862350464, 0.005932828411459923, -0.012610274367034435, -0.042378127574920654, -0.021570708602666855, -0.0012153590796515346, 0.010772578418254852, -0.06541533023118973, -0.07008066028356552, 0.0066185640171170235, -0.04559987783432007, 0.06023995950818062, 0.049927257001399994, -0.005742212757468224, 0.011570324189960957, 0.043254751712083817, 0.04142814502120018, 0.010465126484632492, 0.05417153239250183, 0.053291745483875275, 0.01488432940095663, -0.011072934605181217, -0.0069393315352499485, 0.02531711757183075, 0.036779262125492096, 0.0211960356682539, 0.06731555610895157, 0.03690916672348976, 0.010634413920342922, 0.011459281668066978, 0.0011086991289630532, 0.06307228654623032, 0.01794927939772606, -0.08353165537118912, -0.027689529582858086, -0.027211228385567665, 0.028727898374199867, 0.02154313027858734, -0.03312157094478607, -0.004125596489757299, -0.04053395241498947, -0.030975287780165672, 0.1309172362089157, 0.011554623022675514, 0.0019970156718045473, -0.002282562665641308, -0.018415939062833786, -0.03151126950979233, 0.057690687477588654, 0.018873415887355804, -0.031705066561698914, -0.01880398951470852, 0.015141787938773632, 0.05891238898038864, 0.014422117732465267, -0.07889461517333984, 0.005159171298146248, -0.020150475203990936, -0.08231119811534882, -0.012243681587278843, 0.15371127426624298, -0.0029401194769889116, -0.08033437281847, -0.00022888100647833198, 0.026848414912819862, 0.012911040335893631, 0.039756931364536285, 0.010059507563710213, -0.045010510832071304, -0.044587910175323486, 0.016907954588532448, -0.029884811490774155, -0.0116743054240942, -0.028026409447193146, 0.0046519930474460125, -0.005612229462713003, 0.043879684060811996, 0.03674091771245003, -0.06747137755155563, -0.022650649771094322, -0.00031772430520504713, -0.06686463207006454, 0.05082572251558304, -0.020011980086565018, -0.06442516297101974, 0.03184213861823082, 0.06951835751533508, -0.04217289760708809, 0.1149744763970375, -0.039767783135175705, 0.033717453479766846, -0.02046779729425907, 0.0327780619263649, 0.01432455237954855, -0.008096427656710148, -0.029505696147680283, -0.038295596837997437, 0.0015654455637559295, 0.028937656432390213, -0.04600311070680618, 0.03781217336654663, -0.05924306809902191, 0.013689600862562656, -0.01731802336871624, -0.0013997521018609405, 0.028953658416867256, 0.0006534754647873342, -0.04437708482146263, -0.006151462439447641, 0.005887978710234165, 0.0683894231915474, 0.043915726244449615, 0.027949243783950806, 0.06235920637845993, -0.041757259517908096, -0.014189199544489384, 0.024854548275470734, -0.013153147883713245, 0.004471317399293184, -0.03180072456598282, -0.322144478559494, 0.014802412129938602, -0.023696165531873703, -0.028194067999720573, 0.0029764482751488686, 0.004978337790817022, 0.0034137051552534103, 0.01180499792098999, 0.004389530513435602, 0.05483065918087959, 0.08835183084011078, 0.03876558691263199, -0.02569674514234066, -0.05060460418462753, -0.010055751539766788, -0.014000393450260162, 0.03173867240548134, 0.005380440969020128, -0.0974847748875618, 0.02515285648405552, 0.035153474658727646, 0.03387603163719177, -0.029004406183958054, -0.05077216029167175, 0.05449214577674866, 0.052950214594602585, 0.08798214048147202, -0.014937062747776508, 0.016710327938199043, 0.019951652735471725, -0.010506732389330864, 0.04342513158917427, -0.02095436491072178, -0.15500900149345398, 0.022609204053878784, -0.07236489653587341, 0.01003408432006836, 0.015574983321130276, -0.009015782736241817, -0.016329355537891388, -0.014693420380353928, -0.017666513100266457, -0.020864764228463173, 0.019259748980402946, -0.03031550534069538, 0.03131754323840141, -0.05569300800561905, -0.045919809490442276, -0.06908590346574783, 0.04994930326938629, -0.01353445928543806, 0.07322251796722412, 0.009094533510506153, 0.07559555023908615, 0.016275465488433838, -0.052753470838069916, -0.018515881150960922, 0.0017442555399611592, -0.056851696223020554, 0.01704632304608822, 0.035832323133945465, -0.008493397384881973, 0.006752761546522379, 0.01587444543838501, 0.030975405126810074, -0.08053964376449585, 0.0005414218176156282, -0.026111718267202377, -0.011111305095255375, 0.01931910403072834, 0.004339049570262432, 0.09781964868307114, 0.04961394518613815, -0.007829240523278713, 0.032814014703035355, -0.04204083979129791, -0.008409321308135986, -0.06734854727983475, 0.001222418388351798, -0.009149598889052868, 0.007391239982098341, -0.013415186665952206, -0.014511779882013798, -0.011367827653884888, -0.04942774400115013, -0.037739165127277374, -0.0030895706731826067, -0.05798628181219101, 0.05997057631611824, 0.036990877240896225, -0.015121486969292164, 0.0009692778694443405, -0.07459951192140579, -0.017030194401741028, 0.05303642898797989, 0.03575444594025612, -0.25323736667633057, 0.04673377797007561, 0.04903770983219147, 0.04512349143624306, -0.018327821046113968, 0.014045782387256622, -0.016530754044651985, -0.032467152923345566, -0.03377751633524895, 0.012860216200351715, -0.00805647112429142, -0.04606839641928673, 0.01861724443733692, -0.03050297498703003, -0.07046167552471161, -0.06427638977766037, 0.0687309056520462, -0.05313798785209656, 0.054363980889320374, 0.03235343471169472, 0.015611866489052773, -0.0015881137223914266, 0.2042701095342636, -0.009526453912258148, 0.01637265644967556, 0.004867972806096077, -0.05990123003721237, -0.022780422121286392, 0.03303511440753937, 0.02058003656566143, 0.01872652769088745, 0.001057384186424315, 0.010111142881214619, -0.05411886051297188, -0.04521036148071289, -0.04054097458720207, 0.027461860328912735, 0.01426577940583229, 0.03903905674815178, -0.019771527498960495, -0.06423244625329971, 0.012019971385598183, 0.0049332245253026485, 0.016771189868450165, 0.031304001808166504, 0.04005255922675133, 0.001904296688735485, -0.020895125344395638, -0.030947668477892876, 0.03847837820649147, 0.02643689140677452, -0.02714889496564865, -0.010646335780620575, 0.027212055400013924, 0.008457600139081478, -0.002044202061370015, 0.04115206375718117, 0.004000559914857149, 0.01264204178005457, -0.052634499967098236, -0.032772455364465714, 0.019286664202809334, 0.04213198274374008, 0.04054456576704979, 0.06406402587890625], "47f15867-45d2-4b7c-906c-d74ffeb22725": [-0.01240670308470726, 0.02357528917491436, -0.023036807775497437, -0.03589427098631859, 0.03464474156498909, -0.023974578827619553, -0.0025438866578042507, 0.012789050117135048, 0.03039337880909443, -0.029528817161917686, 0.028463680297136307, -0.02805342525243759, 0.04158153757452965, 0.016676174476742744, 0.042232681065797806, -0.0007830235990695655, -0.004511987324804068, -0.014363658614456654, -0.02033555880188942, 0.02480032853782177, 0.038188714534044266, -0.061980899423360825, 0.029387155547738075, -0.007072665728628635, -0.030179934576153755, 0.02708883211016655, -0.01447838544845581, -0.021366359665989876, 0.0004005183873232454, -0.15982988476753235, 0.011670353822410107, -0.02007867395877838, 0.007378025911748409, 0.047153860330581665, -0.011792274191975594, 0.04181969538331032, 0.00552239129319787, -0.010783739387989044, 0.04820803180336952, -0.022667447105050087, 0.024668706580996513, -0.018320627510547638, -0.03563323989510536, -0.03038313053548336, 0.03040366806089878, -0.004077885765582323, -0.026537146419286728, -0.007407165598124266, -0.09373414516448975, -0.019797513261437416, -0.0814046859741211, -0.035621337592601776, -0.0025056558661162853, 0.02393948845565319, 0.003372219391167164, 0.07172930985689163, 0.0178773682564497, 0.04538889601826668, 0.020128566771745682, 0.07457215338945389, 0.07529479265213013, 0.03423893079161644, -0.1965889185667038, 0.05104231461882591, 0.05392524600028992, 0.03845841810107231, -0.037965115159749985, -0.028809241950511932, -0.048299070447683334, -0.02272975817322731, 0.052368953824043274, -0.002512284554541111, 0.04378432780504227, 0.019748752936720848, 0.057994794100522995, 0.029656022787094116, -0.02617534063756466, -0.03809106722474098, 0.048849139362573624, 0.022992420941591263, 0.042336881160736084, 0.0036882825661450624, -0.019607340916991234, 0.008149053901433945, -0.01986277662217617, -0.02324182167649269, 0.004783883690834045, -0.017989514395594597, 0.017416561022400856, -0.04014792665839195, 0.012375027872622013, -0.014639408327639103, 0.027357369661331177, 0.021991511806845665, 0.006555495318025351, -0.0251629501581192, -0.005927244201302528, 0.04479069262742996, 0.0060030915774405, 0.4353106617927551, -0.030853141099214554, -0.02170902118086815, 0.05329568684101105, -0.027192309498786926, 0.02322273887693882, -0.032189980149269104, -0.04071725532412529, -0.019777750596404076, 0.01829834282398224, -0.008522938936948776, -0.05162997171282768, -0.04136023297905922, 0.010595249012112617, -0.021277019754052162, 0.07081082463264465, 0.02000802382826805, 0.005786712747067213, -0.032634634524583817, 0.007384772878140211, 0.05726056545972824, -0.028720682486891747, 0.045421943068504333, 0.05782456323504448, 0.02768661640584469, -0.011248381808400154, -0.01400237437337637, -0.0017360321944579482, 0.056479308754205704, 0.023142963647842407, 0.053498584777116776, 0.00843770895153284, 0.015428123995661736, -0.006014237180352211, 0.026185082271695137, 0.028672778978943825, 0.011026985943317413, -0.0770745798945427, -0.026224277913570404, -0.05594022199511528, 0.016883008182048798, -0.017400894314050674, -0.008172792382538319, 0.009122896008193493, -0.031072910875082016, -0.04142438620328903, 0.09231133759021759, 0.05958179011940956, -0.020009951665997505, -0.005630991421639919, -0.02681250497698784, -0.028985751792788506, 0.09563186019659042, 0.01643550582230091, -0.0412154421210289, -0.042938102036714554, 0.01668635755777359, 0.028154609724879265, -0.02826586365699768, -0.07143710553646088, 0.0017125997692346573, -0.006888189818710089, -0.04072558134794235, -0.027502156794071198, 0.1500592976808548, 0.015720287337899208, -0.08281155675649643, 0.010978689417243004, -0.00039571517845615745, 0.029106957837939262, 0.03497512638568878, 0.015296226367354393, -0.053684987127780914, -0.02476363070309162, 0.02559497579932213, -0.0245179682970047, -0.020964177325367928, -0.05967184528708458, -0.019743390381336212, -0.019993070513010025, 0.03380971774458885, 0.014078511856496334, -0.08821947127580643, -0.00872272253036499, 0.006834874860942364, -0.08263751119375229, 0.0199529267847538, -0.01584336720407009, -0.014323660172522068, 0.020552143454551697, 0.050375476479530334, -0.02579554356634617, 0.08710730820894241, -0.062129534780979156, -0.0026676354464143515, -0.022764278575778008, -0.016911953687667847, 0.0014881964307278395, -0.00013748758647125214, -0.06568253040313721, -0.048176832497119904, 0.008037435822188854, 0.02286781743168831, -0.006673275027424097, 0.007800757419317961, -0.058783337473869324, -0.00858363602310419, -0.02540801651775837, 0.03785792365670204, 0.06590994447469711, -0.019264865666627884, -0.04809233173727989, 0.004541175439953804, 0.0013733269879594445, 0.056352730840444565, 0.007909661158919334, 0.013737772591412067, 0.08199318498373032, -0.025812555104494095, -0.012376464903354645, 0.04158855229616165, -0.007110699079930782, 0.01595618948340416, -0.0656658187508583, -0.33026039600372314, 0.0035224983002990484, -0.04200567305088043, -0.02931460365653038, -0.014899710193276405, 0.003408332820981741, 0.011981196701526642, 0.031599145382642746, 0.012350044213235378, 0.09759317338466644, 0.065911665558815, -0.0008500938420183957, -0.03647816181182861, -0.049079228192567825, -0.0003675658081192523, -0.009107157588005066, 0.030366895720362663, 0.011641175486147404, -0.09537345170974731, 0.0010345608461648226, -0.026535261422395706, 0.036717794835567474, -0.01317182183265686, -0.07693864405155182, 0.04250288009643555, 0.015898866578936577, 0.10965994745492935, -0.007462984416633844, 0.011497791856527328, 0.03575275093317032, -0.008577688597142696, 0.04343024268746376, -0.04565674066543579, -0.1318797618150711, 0.05288293957710266, -0.048302799463272095, 0.036005064845085144, 0.03473389893770218, -0.010910741984844208, -0.010338167659938335, -0.00571926636621356, -0.01857718452811241, 0.014776809141039848, -0.01445736177265644, -0.02748587355017662, 0.013376121409237385, -0.03443203866481781, -0.031251683831214905, -0.04277912527322769, 0.04163172096014023, -0.032516974955797195, 0.08676014095544815, 0.012634072452783585, 0.030002325773239136, 0.01807713881134987, -0.034894153475761414, -0.008437790907919407, 0.03035607561469078, -0.04777161777019501, 0.029032813385128975, 0.04256383702158928, -0.02402728609740734, -0.01524119358509779, -0.0031129864510148764, 0.03605196624994278, -0.06514210999011993, -0.016111617907881737, -0.022674843668937683, -0.00043244269909337163, 0.019790953025221825, 0.0024912015069276094, 0.0979214608669281, 0.02615576982498169, -0.017494771629571915, 0.03399106487631798, -0.056738775223493576, -0.009961825795471668, -0.03298623114824295, -0.03462423384189606, 0.025815146043896675, 0.014671238139271736, -0.004721886944025755, 0.01649567112326622, 0.004154837690293789, -0.004818407353013754, -0.0619996152818203, 0.041020117700099945, -0.06275875866413116, 0.0551343597471714, 0.0264095701277256, 0.006204009521752596, 0.006823397241532803, -0.07981187105178833, -0.025133343413472176, 0.08637281507253647, 0.07097085565328598, -0.252593994140625, 0.032269466668367386, 0.028825590386986732, 0.029610509052872658, -0.002667539520189166, 0.039897143840789795, 0.01530112512409687, -0.012111584655940533, -0.008406449109315872, 0.0037252570036798716, 0.01420319452881813, -0.0078071109019219875, 0.015508276410400867, -0.02887343242764473, -0.03776181489229202, -0.0676024779677391, 0.033608946949243546, -0.046283330768346786, 0.061669133603572845, 0.03722095116972923, -0.01366522628813982, 0.010928243398666382, 0.1976473480463028, -0.02074451744556427, -0.0030596861615777016, -0.0008410218870267272, -0.04823477566242218, -0.03924579545855522, 0.047081246972084045, 0.05662858486175537, -0.006866262294352055, 0.0429159477353096, -0.0031314443331211805, -0.02759307064116001, -0.03387666121125221, -0.006820367183536291, 0.0013703968143090606, -0.00624548364430666, 0.032931677997112274, -0.01125861145555973, -0.021994760259985924, 0.028777314350008965, 0.024395475164055824, 0.019270433112978935, 0.030973486602306366, 0.04972769692540169, -0.030289344489574432, -0.014778221026062965, -0.03360102325677872, 0.019215578213334084, 0.014014421962201595, -0.025980830192565918, 0.02162095345556736, 0.035674646496772766, 0.015673311427235603, -0.025760434567928314, 0.020742619410157204, -0.023391222581267357, -0.008963897824287415, -0.06276166439056396, -0.0519564151763916, 0.006061000283807516, -0.0045509072951972485, 0.013681786134839058, 0.032685987651348114], "85604ba9-e982-4717-a122-c235f8ffdd6d": [-0.017728621140122414, -0.002808318007737398, -0.03898783400654793, -0.04100517928600311, 0.06659012287855148, -0.038806382566690445, -0.0014272230910137296, 0.007154808379709721, 0.05140000209212303, -0.040976632386446, 0.04347161576151848, -0.02162572555243969, 0.001003915211185813, 0.005829821806401014, 0.048245131969451904, 0.007902166806161404, 0.031616441905498505, -0.024504663422703743, 0.017032703384757042, 0.004928698297590017, 0.02559773251414299, -0.0508870892226696, 0.015359749086201191, -0.00302826426923275, 0.012810401618480682, 0.02126835472881794, 0.0025983203668147326, 0.005854487884789705, -0.03134012222290039, -0.15730401873588562, 0.05119616165757179, -0.03280051797628403, -0.03138384222984314, 0.01895434595644474, 0.0024133501574397087, 0.010655094869434834, -0.02757643535733223, -0.014894349500536919, 0.08186663687229156, -0.019774911925196648, -0.0041064126417040825, 0.004150252789258957, -0.04384405165910721, -0.058627162128686905, 0.018033595755696297, -0.010593321174383163, -0.03568456694483757, 0.0346645712852478, -0.06059040501713753, -0.02102992869913578, -0.036336205899715424, -0.016055714339017868, 0.015485461801290512, 0.026574037969112396, -0.03032863512635231, 0.06763951480388641, 0.031331922858953476, 0.03026703931391239, 0.01464499905705452, 0.04410673305392265, 0.07556208223104477, 0.035084422677755356, -0.2046394944190979, 0.021305769681930542, -0.009638863615691662, 0.06102563813328743, -0.009839387610554695, -0.06013224646449089, -0.04034294933080673, -0.024263551458716393, 0.005912970285862684, -0.01314340066164732, 0.0008996712858788669, 0.04936405271291733, 0.05172499269247055, 0.003512343857437372, -0.028740668669342995, -0.005883099045604467, 0.024261049926280975, 0.04614894464612007, 0.012148506939411163, 0.0010034751612693071, -0.017497606575489044, 0.0035357268061488867, -0.006602664943784475, -0.018637973815202713, 0.043565575033426285, 0.014053701423108578, 0.026924660429358482, -0.03567179664969444, 0.034952312707901, -0.043852128088474274, 0.030529608950018883, 0.00017005647532641888, -0.009335992857813835, -0.03055867739021778, -0.016293274238705635, 0.03968674689531326, -0.015801340341567993, 0.42702609300613403, -0.03284831717610359, -0.012248346582055092, 0.006566937547177076, -0.01451169978827238, 0.010949971154332161, -0.019419530406594276, 0.0015433997614309192, 0.006077560130506754, 0.03535020723938942, -0.017011333256959915, -0.053629446774721146, -0.06831517070531845, 0.030245114117860794, -0.044947508722543716, 0.031787119805812836, 0.05750613659620285, 0.008917093276977539, -0.008885755203664303, 0.0018539312295615673, 0.06776835024356842, -0.0018906764453276992, 0.03336523100733757, 0.07565190643072128, 0.01526259258389473, -0.03129153326153755, 0.003195337485522032, 0.012530162930488586, 0.0718366727232933, 0.014929051510989666, 0.08072612434625626, 0.006210999097675085, 0.01998978666961193, 0.004912255331873894, 0.02471872977912426, 0.04550803080201149, 0.017325807362794876, -0.10775153338909149, -0.009780660271644592, -0.0010042941430583596, 0.021374588832259178, 0.0009845158783718944, -0.02286188304424286, 0.004690461792051792, -0.038335591554641724, -0.022161591798067093, 0.0865805521607399, -0.007424412295222282, -0.024782154709100723, 0.00887360144406557, -0.04628165811300278, 0.003958972170948982, 0.09514680504798889, 0.005185686983168125, -0.05766810476779938, -0.051021210849285126, 0.007549819070845842, 0.02163301780819893, -0.0005374832544475794, -0.056275736540555954, 0.032088130712509155, -0.010350058786571026, -0.05675452575087547, -0.026072295382618904, 0.15920783579349518, 0.017534947022795677, -0.11736073344945908, 0.015544530935585499, 0.036665841937065125, -0.006384206470102072, 0.013866245746612549, 0.026252534240484238, -0.040890470147132874, -0.036209575831890106, 0.022310009226202965, -0.024526337161660194, -0.07965453714132309, -0.046204011887311935, -0.009681147523224354, 0.002793873893097043, 0.01768251694738865, 0.02098945528268814, -0.06107688695192337, -0.014265282079577446, 0.04045337811112404, -0.059554461389780045, 0.018184220418334007, -0.0038213334046304226, -0.007592644542455673, 0.03432944044470787, 0.016750162467360497, -0.08020689338445663, 0.10206127166748047, -0.08945268392562866, 0.0068406774662435055, 0.0031930587720125914, 0.0016297159017995, 0.001562853460200131, -0.0003051577368751168, -0.05742582306265831, -0.027768738567829132, 0.03881598263978958, 0.030472515150904655, -0.0081540672108531, 0.005099482834339142, -0.03572584316134453, 0.009247210808098316, -0.03978530690073967, -0.004998800810426474, 0.018781008198857307, -0.03149450942873955, -0.007259057369083166, -0.0010835232678800821, 0.03515145182609558, 0.01424610335379839, 0.03345488756895065, 0.04234808310866356, 0.06629999727010727, -0.03783456236124039, -0.023029906675219536, 0.006050693336874247, -0.0020429010037332773, 0.02845553308725357, -0.03410809859633446, -0.33593085408210754, -0.03008144721388817, -0.03296830505132675, -0.04040059819817543, 0.00221272767521441, -0.0027695598546415567, -0.015793370082974434, 0.038169220089912415, 0.01494805421680212, 0.10262110829353333, 0.07933733612298965, 0.009452646598219872, -0.0691748782992363, -0.02097966894507408, -0.0032433634623885155, -0.04166526719927788, 0.008393673226237297, -0.0036108256317675114, -0.058164581656455994, 0.030546126887202263, -0.027549922466278076, 0.0230186115950346, -0.025985637679696083, -0.029449472203850746, 0.01637021265923977, 0.0317871980369091, 0.09846562892198563, 0.0037095400039106607, -0.04948269575834274, 0.007995367050170898, -0.005773871671408415, 0.04349428042769432, 0.005999257322400808, -0.12904316186904907, 0.044374287128448486, -0.05747777968645096, 0.03414233401417732, -0.009712266735732555, 0.013139564543962479, 0.02987116388976574, -0.026020701974630356, -0.030056416988372803, 0.0008540438720956445, 0.0039398870430886745, -0.031673409044742584, 0.014897101558744907, -0.04922647401690483, 0.019084371626377106, -0.04569670930504799, 0.07285962998867035, -0.029287083074450493, 0.07087596505880356, 0.016594145447015762, 0.04631149396300316, 0.016459058970212936, -0.06888067722320557, -0.02477859891951084, 0.0032489574514329433, -0.0485827773809433, 0.017946187406778336, 0.026089180260896683, -0.042478106915950775, 0.002948170527815819, -0.00047616608208045363, 0.06301296502351761, -0.07045961171388626, -0.004479269962757826, -0.0045170835219323635, 0.035757534205913544, 0.013730239123106003, -0.01791408285498619, 0.10849964618682861, 0.01994509994983673, -0.023244723677635193, 0.05640815570950508, -0.04212002083659172, -0.030016936361789703, -0.05547388270497322, -0.03773561120033264, 0.006728033535182476, 0.036407168954610825, -0.0022583359386771917, -0.009484066627919674, -0.00855292659252882, -0.01391517836600542, -0.05784964561462402, 0.006084923632442951, -0.006357662379741669, 0.07071436196565628, 0.007203275803476572, 0.025245629251003265, 0.007053281646221876, -0.07578739523887634, -0.026144783943891525, 0.06359250098466873, 0.026552947238087654, -0.26379111409187317, 0.01141866110265255, 0.006572026293724775, 0.04250301048159599, 0.022431038320064545, 0.0007411538972519338, 0.010942462831735611, -0.016167515888810158, 0.027099791914224625, -0.0002722896751947701, 0.017659645527601242, 0.005054697394371033, 0.020949648693203926, -0.004812099039554596, -0.0349220372736454, -0.06686080247163773, 0.023881224915385246, -0.04566643759608269, 0.05733419209718704, 0.03553728759288788, -0.0032241942826658487, 0.00678479066118598, 0.21102388203144073, 0.0025395103730261326, -0.012613288126885891, 0.007091024424880743, -0.0386291928589344, -0.0002738278708420694, 0.055407874286174774, 0.025915950536727905, -0.009604495018720627, 0.03298668563365936, -0.022169798612594604, -0.020488793030381203, -0.036934614181518555, -0.028218425810337067, -0.008593520149588585, 0.008868182078003883, 0.03904853016138077, 0.014683098532259464, -0.038884878158569336, 0.0013811318203806877, 0.011664028279483318, 0.039761900901794434, 0.013079812750220299, 0.02275504358112812, -0.03483426570892334, -0.016252681612968445, 0.006178449373692274, 0.028631405904889107, 0.0042512016370892525, 0.013593258336186409, 0.016046907752752304, 0.01943891867995262, 0.013788954354822636, -0.014527310617268085, 0.003617759793996811, -0.03374253958463669, -0.0017948320601135492, -0.0449431911110878, -0.06057976186275482, 0.025829168036580086, 0.017012182623147964, 0.024793215095996857, 0.05269014090299606], "dbce25fc-ea16-4773-a3df-ed04552210db": [-0.03260956332087517, 0.017854083329439163, -0.05826421454548836, -0.056548409163951874, 0.015774955973029137, -0.05126567557454109, 0.041249264031648636, -0.0036586166825145483, 0.039931364357471466, -0.06284632533788681, 0.03136170282959938, -0.01988968439400196, 0.03154892846941948, 0.02518620528280735, 0.055850155651569366, -0.0014808247797191143, 0.019557682797312737, -0.03108942322432995, 0.01844029314815998, -0.004990703426301479, 0.016906682401895523, -0.040707025676965714, 0.004348139278590679, 0.003536992473527789, -0.01979813538491726, 0.04323528707027435, -0.024397121742367744, -0.04993385076522827, -0.002683423925191164, -0.11910951882600784, 0.03502647578716278, -4.3480107706272975e-05, 0.027108969166874886, 0.05484374985098839, -0.025464022532105446, 0.02879084274172783, -0.012820194475352764, -0.017045065760612488, 0.007775595411658287, -0.01930292509496212, -0.004764496348798275, -0.009054373949766159, -0.009179583750665188, -0.04552214965224266, 0.04730178788304329, -0.018851300701498985, -0.04204391688108444, 0.027651837095618248, -0.1298668384552002, -0.005700144916772842, -0.0180027075111866, -0.03267987072467804, 0.04411337152123451, 0.01628355123102665, -0.006811407394707203, 0.09195771813392639, 0.050687845796346664, 0.07489944249391556, 0.009190961718559265, 0.09274738281965256, 0.06839925050735474, 0.03908231481909752, -0.14985333383083344, 0.022920474410057068, -0.004771631211042404, 0.081772081553936, -0.05336954817175865, -0.03838137537240982, -0.03255358338356018, -0.0015307222492992878, 0.010399498976767063, -0.005917691625654697, 0.009534022770822048, 0.018945569172501564, 0.06525314599275589, 0.03392808884382248, -0.011050875298678875, -0.046409059315919876, 0.04562654718756676, 0.03193904086947441, 0.012416745536029339, 0.0072333128191530704, -0.005138946697115898, 0.01910497061908245, -0.03788522258400917, -0.011600326746702194, 0.014952866360545158, -0.021937914192676544, 0.02159224823117256, -0.04498521611094475, -0.014951581135392189, 0.008317300118505955, 0.030227813869714737, 0.006553483661264181, -0.013962222263216972, -0.04387495666742325, -0.034894444048404694, 0.05941794067621231, -0.01394465658813715, 0.4242887496948242, -0.01768193393945694, -0.04630967602133751, -0.006042105611413717, -0.0695400983095169, 0.018080467358231544, -0.030926279723644257, -0.02076805755496025, -0.037318114191293716, 0.010410740040242672, 0.0026898400392383337, -0.08499664068222046, -0.01511429250240326, -0.01585441827774048, -0.018568480387330055, 0.0031390946824103594, 0.03471722453832626, 0.0037172881420701742, -0.002755636814981699, 0.028210096061229706, 0.052600447088479996, 0.0015499405562877655, 0.06302231550216675, 0.05218810960650444, 0.00040850366349332035, -0.01516610849648714, -0.013127971440553665, 0.04521317780017853, 0.06362230330705643, 0.009547983296215534, 0.07816628366708755, 0.0323554128408432, 0.03704674914479256, -0.007790111470967531, 0.03610098361968994, 0.052825428545475006, 0.026079287752509117, -0.1049782857298851, -0.014924251474440098, -0.008273032493889332, 0.018594220280647278, -0.02710934542119503, -0.05105062946677208, 0.006931148935109377, -0.005210249684751034, -0.04469167813658714, 0.11871550977230072, 0.036970581859350204, -0.018280018121004105, -0.013630436733365059, -0.05563269555568695, 0.012909804470837116, 0.06247222051024437, -0.007177167572081089, -0.06475678831338882, -0.018541278317570686, 0.006814148742705584, 0.03428273648023605, -0.00968687143176794, -0.04915299639105797, 0.012969193048775196, -0.024965284392237663, -0.05030270293354988, -0.027535559609532356, 0.1418992280960083, 0.002567718271166086, -0.14118866622447968, 0.027324074879288673, 0.03754906356334686, -0.013910419307649136, 0.030068468302488327, 0.03149683028459549, -0.03283263370394707, -0.03146176040172577, 0.03940432891249657, -0.06877154111862183, -0.04081657901406288, -0.07466480880975723, -0.011002478189766407, -0.010374723933637142, 0.024673862382769585, 0.008706796914339066, -0.0328192301094532, 0.019156385213136673, 0.031146280467510223, -0.03637208789587021, 0.03127449378371239, 0.017752256244421005, -0.012594267725944519, 0.04900069534778595, 0.00625571608543396, -0.045002926141023636, 0.06823062151670456, -0.035106610506772995, 0.01000893209129572, -0.002196481917053461, 0.03857668861746788, -0.00933283381164074, 0.004136490635573864, -0.06770316511392593, -0.023268232122063637, 0.008910798467695713, 0.04916438087821007, -0.006372909992933273, 0.0012228281702846289, -0.030234362930059433, -0.009444145485758781, -0.04897482320666313, -0.003151174169033766, 0.05524313077330589, -0.015092515386641026, -0.008663363754749298, 0.008962885476648808, 0.011981409974396229, 0.03951936960220337, 0.0032184994779527187, 0.0117031866684556, 0.05559840425848961, 0.004158288240432739, -0.016035009175539017, 0.031003398820757866, 0.0035867453552782536, 0.025000078603625298, -0.023725086823105812, -0.3311951756477356, -0.032716307789087296, -0.01547427661716938, -0.04717150703072548, -0.04501386731863022, -0.0380655862390995, 0.03520219027996063, 0.010936363600194454, 0.0376550666987896, 0.0866299644112587, 0.07793878763914108, 0.017209557816386223, -0.041971463710069656, -0.025988848879933357, 0.039602115750312805, -0.004302023444324732, -0.0024216496385633945, 0.025523874908685684, -0.05405907332897186, 0.015247185714542866, 0.0013805681373924017, 0.028621071949601173, 0.023198159411549568, -0.0619412325322628, 0.03463110327720642, 0.04071064665913582, 0.11720907688140869, -0.0037725933361798525, -0.03751906007528305, 0.03402258828282356, -0.0011740968329831958, 0.024976106360554695, -0.021980389952659607, -0.11531222611665726, -0.0031805578619241714, -0.04411383718252182, 0.0374913290143013, 0.029117312282323837, 0.015636175870895386, 0.002225202973932028, -0.031539492309093475, -0.010034044273197651, 0.00131428730674088, -0.0355219729244709, -0.028833184391260147, -0.017435958608984947, -0.030957156792283058, -0.06149578094482422, -0.04135048761963844, 0.06087625026702881, -0.005025396589189768, 0.03796401992440224, 0.010483451187610626, 0.05907539650797844, 0.0029611256904900074, -0.08503635227680206, -0.028200287371873856, -0.003436836414039135, -0.07724513858556747, 0.008954815566539764, 0.01437812577933073, -0.04298233240842819, -0.011587209068238735, 0.0111374631524086, 0.06296515464782715, -0.04959516599774361, -0.01829928532242775, -0.006797319278120995, 0.012507815845310688, 0.00812436267733574, -0.028834287077188492, 0.12379462271928787, 0.005987020209431648, -0.028925124555826187, 0.022632092237472534, -0.03481895476579666, -0.018933245912194252, -0.03877479210495949, -0.03188101202249527, 0.02627726085484028, 0.03797946870326996, -0.012517661787569523, 0.05121081322431564, -0.0035967333242297173, -0.01388829667121172, -0.06398531794548035, 0.015148819424211979, -0.022663302719593048, 0.04877736046910286, 0.010831018909811974, -0.03151894360780716, 0.034276869148015976, -0.07394202053546906, -0.04158908873796463, 0.04994324594736099, 0.02512587606906891, -0.277072936296463, -0.008807295933365822, 0.006312198005616665, 0.040806449949741364, -0.02206280454993248, 0.021777894347906113, -0.010244577191770077, -0.036505118012428284, -0.009511811658740044, -0.026537196710705757, 0.026831019669771194, -0.01050242967903614, 0.018667718395590782, -0.000945989799220115, -0.013036469928920269, -0.019516365602612495, 0.04018164798617363, -0.03579043224453926, 0.04472976550459862, 0.026873616501688957, -0.013221001252532005, -0.003764866152778268, 0.20514656603336334, -0.01524945255368948, 0.019534921273589134, 0.03772416710853577, -0.03814114257693291, -0.017961286008358, 0.07284712046384811, 0.026237819343805313, -0.005896613467484713, 0.03060327097773552, 0.01376437395811081, -0.03230111673474312, -0.03904227167367935, -0.05148603394627571, 0.025365017354488373, -0.01662334054708481, 0.022056329995393753, -0.009573276154696941, -0.014703015796840191, 0.03967723250389099, 0.0010752985253930092, -0.007287971675395966, 0.025423215702176094, 0.0629153847694397, -0.034979015588760376, -0.02513737417757511, -0.005170040763914585, 0.030186127871274948, 0.010869109071791172, -0.046711213886737823, -0.008527997881174088, 0.003622723976150155, 0.04255223646759987, -0.026390202343463898, -0.00787441898137331, 0.01559770479798317, -0.0003660079091787338, -0.037340205162763596, -0.01739427074790001, 0.020768482238054276, 0.03389515355229378, 0.03930939733982086, 0.03863096982240677], "6372ad7b-4891-4fcb-af93-eacff2986875": [-0.02172010764479637, 0.03208348527550697, -0.05861400067806244, -0.06018994748592377, 0.05915730819106102, -0.04477875679731369, 0.03873975947499275, 0.004610778763890266, 0.03770794719457626, -0.049640923738479614, 0.03627990186214447, -0.02553216554224491, 0.00483877956867218, 0.036537330597639084, 0.04943681135773659, -0.02356657385826111, 0.021062009036540985, 0.00180751399602741, 0.033640917390584946, 0.010568631812930107, 0.030350837856531143, -0.04412911459803581, 0.01887274533510208, -0.006024486385285854, -0.0007450981647707522, 0.06488430500030518, 0.02770298719406128, -0.021010233089327812, -0.04164484515786171, -0.1544094830751419, 0.0046262131072580814, -0.04400236904621124, -0.0073581961914896965, 0.04915808141231537, 0.017922284081578255, 0.004520517308264971, -0.023866744711995125, -0.02407081052660942, 0.029558314010500908, -0.03411193937063217, -0.028642721474170685, 0.032379843294620514, -0.039345186203718185, -0.07196632027626038, 0.019825221970677376, -0.013666612096130848, 0.0038818607572466135, 0.03058740124106407, -0.08700164407491684, -0.003457623068243265, -0.04989554360508919, -0.01611952669918537, 0.03407501056790352, 0.028212344273924828, -0.02104872651398182, 0.056339897215366364, 0.03039918653666973, 0.0811646580696106, 0.014698082581162453, 0.07496670633554459, 0.0720076635479927, 0.036450400948524475, -0.13682760298252106, 0.00358338700607419, 0.007654538843780756, 0.08286440372467041, -0.01213151216506958, -0.0373004786670208, -0.036971598863601685, -0.027337053790688515, 0.05308718606829643, -0.005783658009022474, -0.020582271739840508, 0.05391659215092659, 0.045382220298051834, 0.005263001658022404, -0.01784154586493969, 0.019533928483724594, 0.028714362531900406, 0.012826484628021717, -0.008572414517402649, -0.006907203234732151, 0.013843364082276821, 0.013940520584583282, -0.025988709181547165, -0.02478647604584694, 0.025418860837817192, -0.027958067134022713, 0.05420205742120743, -0.013653088361024857, 0.016151176765561104, 0.0022632332984358072, 0.04083995893597603, -0.005110681988298893, -0.01345907710492611, -0.00839973334223032, -0.03244682028889656, 0.08212288469076157, -0.012225101701915264, 0.42652183771133423, -0.0384923480451107, -0.03246942535042763, 0.005325157195329666, -0.027366826310753822, 0.013213369995355606, -0.013831059448421001, -0.010410171933472157, -0.021988293156027794, 0.029210073873400688, -0.014369151555001736, -0.042365990579128265, -0.02709895931184292, 0.03128296136856079, -0.04271039366722107, -0.005292007699608803, 0.018522819504141808, 0.002961793215945363, 0.010913305915892124, 0.004152477718889713, 0.06229206174612045, -0.011868301779031754, 0.03268389776349068, 0.0679474025964737, 0.01970868930220604, -0.01155304815620184, -0.014837080612778664, 0.018810264766216278, 0.06601681560277939, 0.04008390009403229, 0.09966053813695908, -0.02588118053972721, 0.019199257716536522, -0.024800198152661324, 0.035137489438056946, 0.040955349802970886, 0.026886487379670143, -0.10439009964466095, 0.0019607238937169313, 0.0014391663717105985, -0.02175692468881607, -0.05122509226202965, -0.04318714141845703, 0.034518059343099594, 0.02204751968383789, -0.038902223110198975, 0.07287240773439407, 0.015004011802375317, -0.018788378685712814, -0.0008353027515113354, -0.08191706985235214, 0.01785210892558098, 0.06477438658475876, -0.01640072651207447, -0.08155535906553268, -0.036378100514411926, 0.011436866596341133, 0.05251911282539368, -0.0049466039054095745, -0.07004991173744202, 0.0011319369077682495, -0.009890413843095303, -0.0553002692759037, -0.03214450553059578, 0.15794584155082703, 0.029553210362792015, -0.1044355258345604, 0.012424823828041553, 0.040972910821437836, -0.029298584908246994, 0.01613573171198368, 0.02803896740078926, -0.03594410419464111, -0.024276498705148697, 0.03066800907254219, -0.05350041761994362, -0.049016937613487244, -0.060583144426345825, -0.00252598337829113, -0.018299328163266182, 0.022331219166517258, -0.02085985243320465, -0.059198200702667236, -0.024797100573778152, 0.03464695066213608, -0.00969235971570015, 0.018506793305277824, -0.0295720137655735, 0.002747060265392065, 0.05097532644867897, 0.024245595559477806, -0.05239469185471535, 0.03860393166542053, -0.08447539061307907, -0.017160890623927116, -0.0067719221115112305, -0.006016694474965334, 0.0018545502098277211, 0.0065125576220452785, -0.05353236943483353, -0.00993320345878601, 0.055123016238212585, 0.04262877628207207, 0.02714555338025093, 0.01605774648487568, -0.04110371321439743, 0.0073035587556660175, -0.04979206249117851, -0.009614822454750538, 0.03179607540369034, -0.031545549631118774, -0.0023779014591127634, -0.0032769471872597933, -0.01557130552828312, 0.01728098653256893, 0.033202700316905975, 0.018869156017899513, 0.07768072932958603, 0.005881976336240768, -0.04148257523775101, 0.0208531953394413, -0.015605248510837555, 0.003856656840071082, -0.017037391662597656, -0.33236345648765564, -0.07733453065156937, -0.030599046498537064, -0.02356942929327488, -0.049547795206308365, -0.03437099605798721, 0.001053909189067781, 0.015537210740149021, -0.016885152086615562, 0.10586633533239365, 0.07197961956262589, 0.0317680723965168, -0.03711141273379326, -0.03237825259566307, 0.016219312325119972, 0.00018846346938516945, 0.005135259125381708, -0.006960900034755468, -0.04592323303222656, 0.02600351721048355, -0.04993284493684769, 0.014537759125232697, 0.0016256991075351834, -0.06615091115236282, 0.041203197091817856, 0.048362985253334045, 0.10213600099086761, 0.02799426019191742, -0.0404423326253891, 0.002094204304739833, -0.0033793807961046696, 0.017771359533071518, -0.02143034152686596, -0.0745203047990799, 0.0010786580387502909, -0.04577113315463066, 0.02026212401688099, 0.025299543514847755, 0.014778300188481808, 0.030817558988928795, -0.046205416321754456, -0.022095272317528725, 0.010752830654382706, -0.027629869058728218, -0.010747826658189297, -0.0035207299515604973, -0.05321832001209259, -0.02767142839729786, -0.028636101633310318, 0.08521360158920288, -0.010827326215803623, 0.048666782677173615, 0.034154944121837616, 0.04813260957598686, 0.03726643696427345, -0.09578461199998856, -0.026544855907559395, -0.024317847564816475, -0.04238941892981529, 0.0004885692032985389, 0.021370284259319305, -0.03446907177567482, 0.000728593033272773, -0.024856729432940483, 0.06577698141336441, -0.03532329201698303, -0.049093905836343765, -0.035502154380083084, 0.0346117839217186, 0.017915338277816772, -0.0022387828212231398, 0.15026044845581055, 0.015895765274763107, -0.03000856190919876, 0.03170815110206604, -0.04214887693524361, 0.012172212824225426, -0.033401429653167725, -0.04069539159536362, 0.00048084493027999997, 0.025670889765024185, -0.01710548624396324, 0.015260547399520874, -0.0123756043612957, -0.031294215470552444, -0.04801754280924797, 0.03550025075674057, 0.010589753277599812, 0.06541995704174042, 0.012171061709523201, 0.026678316295146942, 0.019315006211400032, -0.07220009714365005, -0.018422191962599754, 0.06728299707174301, 0.03942049294710159, -0.26657846570014954, -0.021831674501299858, 0.021531427279114723, 0.0845986157655716, -0.003646872704848647, 0.0044870758429169655, 0.011876292526721954, -0.03298221528530121, 0.024691322818398476, -0.01942729391157627, 0.013626180589199066, -0.01352670881897211, 0.013682451099157333, -0.014983558095991611, -0.02783624269068241, -0.02687498740851879, 0.02261732891201973, -0.03533550351858139, 0.050793424248695374, 0.02494329772889614, -0.00716469855979085, -0.0010656248778104782, 0.22115091979503632, 0.0012039941502735019, -0.018644552677869797, 0.047861747443675995, -0.02165006287395954, 0.007228857837617397, 0.024272972717881203, 0.035945553332567215, -0.03079012781381607, -0.0030719847418367863, -0.0016917246393859386, -0.032096028327941895, -0.031153826043009758, -0.016722315922379494, 0.026809683069586754, 0.03570012375712395, 0.01689637452363968, -0.03242778033018112, -0.054207321256399155, 0.02360677905380726, -0.012761219404637814, 0.0027756989002227783, 0.023671483621001244, 0.012812786735594273, -0.03320055082440376, -0.013584445230662823, 0.03550812602043152, 0.02671276032924652, 0.012420996092259884, -0.031917136162519455, 0.008360125124454498, -0.0009707571589387953, 0.044476572424173355, -0.003123264526948333, -0.02282688207924366, -0.013034173287451267, -0.02841516025364399, -0.017170611768960953, -0.02875201776623726, 0.03057710826396942, 0.036263372749090195, 0.021734701469540596, 0.020103275775909424], "538d1eeb-d128-42e1-945b-aff57f75893f": [-0.04211309552192688, -0.002740770112723112, -0.04852303862571716, -0.029270604252815247, 0.022063063457608223, -0.03347167372703552, 0.042499955743551254, 0.022370319813489914, 0.025738032534718513, -0.0027132099494338036, 0.06064673885703087, -0.01141737774014473, 0.032290466129779816, 0.00893893837928772, 0.010459618642926216, -0.016186710447072983, -0.02087763138115406, 0.0007499615312553942, 0.03205367550253868, 0.0005460577085614204, 0.048666827380657196, -0.07708822190761566, 0.01749929040670395, -0.04504331573843956, 0.010038320906460285, 0.02932496927678585, -0.006175771821290255, -0.04322585090994835, 0.013388817198574543, -0.15541306138038635, 0.018210139125585556, -0.02966187335550785, -0.0066044810228049755, 0.04866047203540802, -0.01726604253053665, 0.027935119345784187, 0.016520507633686066, -0.014473148621618748, 0.032697875052690506, 0.040144335478544235, 0.030500240623950958, -0.00606392091140151, -0.011385536752641201, -0.014002509415149689, 0.04492489993572235, 0.01839246042072773, -0.02355273813009262, 0.0555058978497982, -0.08054192364215851, 0.0025580767542123795, -0.025944869965314865, -0.023686125874519348, 0.04817225784063339, 0.008667808026075363, 0.004954435862600803, 0.0749371349811554, 0.05465710535645485, 0.04459356144070625, 0.023380044847726822, 0.05476899445056915, 0.06929896026849747, 0.04529465362429619, -0.17795206606388092, 0.008354715071618557, 0.007635695394128561, 0.06307458877563477, -0.021587202325463295, -0.02336478792130947, -0.048626549541950226, 0.01871359534561634, 0.04230578616261482, -0.03592347353696823, 0.006611452903598547, 0.005472336895763874, 0.0462072528898716, 0.017275551334023476, -0.025462117046117783, -0.03022039867937565, 0.01080183032900095, 0.003706546500325203, 0.008001680485904217, -0.0024082837626338005, -0.01822592318058014, 0.01061916071921587, -0.04364613816142082, -0.003435153979808092, 0.015211692079901695, -0.013297809287905693, 0.016344180330634117, -0.019420936703681946, -0.014149322174489498, -0.010912288911640644, 0.05163579806685448, 0.025110214948654175, -0.025180015712976456, -0.044096603989601135, 0.030948858708143234, 0.08869235962629318, -0.020380280911922455, 0.46432483196258545, -0.0002336288889637217, -0.0506841242313385, 0.003386418567970395, -0.005222918000072241, 0.037685737013816833, -0.01184871606528759, -0.02261112444102764, -0.010883638635277748, 0.04699620604515076, 0.011676041409373283, -0.051913388073444366, -0.024820705875754356, 0.012296761386096478, -0.02824057824909687, -0.01152308564633131, -0.01713218353688717, -0.007861759513616562, -0.003196707461029291, 0.022887932136654854, 0.05193796008825302, -0.007476008962839842, 0.0568319633603096, 0.03820279240608215, 0.05688270926475525, -0.03449705243110657, -0.03733842074871063, 0.042426545172929764, 0.02849874459207058, 0.02080138400197029, 0.03320224955677986, 0.0360243134200573, -0.01515656616538763, -0.019598964601755142, 0.037692587822675705, 0.02954624593257904, 0.02145124040544033, -0.055253151804208755, -0.006541558541357517, -0.016412224620580673, 0.007698018569499254, -0.03505042940378189, 0.01717550680041313, -2.674651113920845e-05, -0.04004741832613945, -0.022236905992031097, 0.0781639888882637, 0.060138870030641556, -0.010138075798749924, -0.005010766442865133, -0.04571261629462242, -0.0058313822373747826, 0.04038587957620621, 0.054619695991277695, -0.074987031519413, -0.060380563139915466, 0.03589806705713272, 0.040657833218574524, -0.013309489004313946, -0.06202142685651779, -0.003871261840686202, -0.0629824697971344, -0.027890753000974655, -0.07393285632133484, 0.14031125605106354, 0.028204862028360367, -0.11199560016393661, 0.006895888596773148, 0.015620483085513115, -0.02777942270040512, 0.051087118685245514, 0.02659103088080883, -0.06563353538513184, -0.024088189005851746, 0.02060329169034958, -0.031712017953395844, -0.0221274234354496, -0.07825005054473877, -0.0354057140648365, -0.025606146082282066, 0.026106668636202812, -0.0075133987702429295, -0.05234070122241974, -0.037587471306324005, 0.003155370708554983, -0.05969526991248131, 0.0760558694601059, -0.03672195225954056, 0.01796817220747471, 0.015858560800552368, 0.011188044212758541, -0.032701391726732254, 0.07468420267105103, -0.04080944135785103, 0.0025006025098264217, -0.035518109798431396, 0.04289392754435539, -0.006628463510423899, -0.027321191504597664, -0.043237000703811646, -0.011392278596758842, 0.023799661546945572, 0.030228039249777794, 0.0006231520674191415, -0.008972885087132454, -0.0525151826441288, -0.023368488997220993, -0.04122525081038475, -0.0020903318654745817, 0.03652918338775635, 0.0017432671738788486, 0.0032682926394045353, 0.017903607338666916, -0.019549839198589325, 0.01401673723012209, -0.024203024804592133, 0.037421051412820816, 0.05178499594330788, 0.022551242262125015, 0.009174523875117302, 0.0278386939316988, 0.012242108583450317, 0.039792001247406006, -0.014847804792225361, -0.31955572962760925, -0.04090774804353714, -0.05446654558181763, -0.015844659879803658, -0.020077038556337357, -0.024232327938079834, -0.002514555584639311, -0.0009758129017427564, 0.0048718759790062904, 0.067796491086483, 0.07617346197366714, -0.010511843487620354, -0.0733947679400444, -0.03339916840195656, -0.005580003373324871, -0.026741059496998787, 0.003992174752056599, -0.006472967565059662, -0.0298715028911829, 0.011600875295698643, -0.02084035985171795, -0.0015129398088902235, 0.012374848127365112, -0.07953641563653946, 0.04503922164440155, 0.022591615095734596, 0.10875499248504639, 0.0116083649918437, -0.020798472687602043, 0.020673077553510666, -0.022199606522917747, 0.026822471991181374, -0.0651731938123703, -0.10451900213956833, 0.016718635335564613, -0.03178175911307335, 0.07334216684103012, -0.018183648586273193, 0.023564033210277557, 0.013423865661025047, -0.04974563047289848, -0.03099381923675537, 0.0019774087704718113, -0.0073725138790905476, 0.01455970760434866, -0.019249752163887024, -0.03333066776394844, -0.03986199200153351, -0.032901253551244736, 0.06452535092830658, -0.03161332383751869, 0.03792622312903404, -0.021292366087436676, 0.009285305626690388, -0.007763069123029709, -0.04394521191716194, 0.01203029416501522, 0.02984723635017872, -0.031422119587659836, 0.0489688366651535, 0.003960397560149431, -0.025334279984235764, 0.003689523320645094, -0.01897261291742325, 0.07733796536922455, -0.05687522888183594, 0.01315675675868988, -0.03327123448252678, -0.039356134831905365, 0.053232353180646896, 0.0033922770526260138, 0.129023015499115, 0.04402664676308632, -0.03091532737016678, 0.022250236943364143, -0.03742651268839836, 0.007313711103051901, 0.013509209267795086, -0.007368979975581169, 0.015600228682160378, 0.043432705104351044, 0.012272116728127003, 0.010027403943240643, 0.054173823446035385, 0.005066907033324242, -0.08370928466320038, 0.06143627688288689, -0.03771647438406944, 0.02589237689971924, 0.0035729147493839264, -0.012081598863005638, -0.007428649812936783, -0.050797536969184875, -0.0300642941147089, 0.07072765380144119, 0.054916489869356155, -0.2776549160480499, 0.013820596970617771, 0.027236323803663254, 0.04514423385262489, -0.0012338889064267278, -0.007166366558521986, 0.009905780665576458, -0.046656250953674316, -0.007515952922403812, 0.0334588922560215, 0.03951359540224075, 0.054749030619859695, 0.01731228269636631, -0.013964039273560047, -0.016954706981778145, -0.04537929594516754, 0.01821797341108322, -0.02637898549437523, 0.029655076563358307, 0.013437189161777496, 0.013463594950735569, 0.008543821983039379, 0.20156258344650269, 0.015668433159589767, -0.012426882050931454, 0.006361597217619419, -0.07424391806125641, -0.023791013285517693, 0.06382854282855988, 0.025905432179570198, -0.039763420820236206, 0.027221284806728363, -0.0035807345993816853, -0.043548136949539185, -0.009758702479302883, -0.026297708973288536, 0.010339705273509026, -0.006837950088083744, 0.015052322298288345, -0.016151243820786476, -0.05607668310403824, 0.04884229600429535, -0.001919833943247795, -0.007806011009961367, 0.024785101413726807, 0.052058275789022446, -0.05645425245165825, -0.04040291905403137, 0.033041439950466156, 0.014513712376356125, -0.008028336800634861, -0.03370967134833336, -0.03186686336994171, -0.003569550346583128, 0.011346336454153061, 0.0032136125955730677, 0.017595183104276657, -0.009755166247487068, -0.001126041985116899, -0.05143573135137558, -0.0008514151559211314, 0.0011004492407664657, 0.004225526005029678, 0.014448171481490135, 0.016208799555897713], "84ba8a47-01b3-451a-aa83-381353e52189": [-0.02413908950984478, -0.017514407634735107, -0.0518210344016552, -0.025901107117533684, 0.013370279222726822, -0.031116895377635956, 0.038581714034080505, 0.04371669515967369, 0.01821257546544075, -0.022883394733071327, 0.04982736334204674, -0.02734222821891308, 0.017803169786930084, 0.004086964763700962, 0.023216187953948975, -0.009701806120574474, 0.0009111298131756485, -0.002692402573302388, 0.043192144483327866, -0.02300872467458248, 0.04537072032690048, -0.07036609202623367, 0.02035558968782425, -0.02828964591026306, 0.012138418853282928, 0.02806132845580578, -0.040525272488594055, -0.028040889650583267, -0.002763851545751095, -0.13636620342731476, 0.023472856730222702, -0.01628168858587742, -0.005599663592875004, 0.06043820083141327, -0.007198744919151068, 0.03323868662118912, 0.0109225669875741, -0.056794531643390656, 0.04242117702960968, 0.03890353441238403, 0.021406233310699463, -0.011568051762878895, -0.038581497967243195, -0.0077214776538312435, 0.04247502610087395, -0.010859427973628044, -0.00041871913708746433, 0.02999754622578621, -0.09733118861913681, 0.0008363649831153452, -0.005668256431818008, -0.02447747066617012, 0.025561805814504623, -0.008387540467083454, 0.008796300739049911, 0.05117323249578476, 0.029350465163588524, 0.029061634093523026, 0.03511360287666321, 0.05881664529442787, 0.06428054720163345, 0.0482044443488121, -0.18542315065860748, 0.018250424414873123, -0.010851768776774406, 0.07236965000629425, -0.030641157180070877, -0.03637082502245903, -0.08048905432224274, 0.002341768704354763, 0.025177182629704475, -0.02410396933555603, -0.01775406301021576, 0.016223829239606857, 0.03318995609879494, -0.004383815452456474, 0.0022778452839702368, -0.06182875111699104, -0.012671633623540401, 0.024184618145227432, 0.00596877746284008, 0.009569383226335049, -0.02130771428346634, 0.0038576764054596424, -0.02438979037106037, -0.005086323246359825, 0.020101536065340042, -0.012813152745366096, 0.04837218299508095, -0.02824815921485424, -0.005512523464858532, -0.01869853027164936, 0.024765703827142715, 0.015362284146249294, -0.03404395282268524, -0.06267639249563217, 0.03348032385110855, 0.07511848211288452, -0.029701199382543564, 0.4508362114429474, 0.01889137551188469, -0.0486394464969635, 0.023592859506607056, -0.006813618820160627, 0.03440673649311066, -0.008205658756196499, -0.029571980237960815, 0.00014070377801544964, 0.0375143364071846, -0.0061145261861383915, -0.05012505501508713, -0.006237270776182413, 0.014051462523639202, -0.03821747377514839, -0.0005705516086891294, -0.0009478671126998961, 0.0044325413182377815, -0.007141680456697941, 0.0584193617105484, 0.042906276881694794, 0.00653420016169548, 0.050031617283821106, 0.016461217775940895, 0.04157472401857376, -0.028880294412374496, -0.049286358058452606, 0.04865497723221779, 0.04797026515007019, -0.0068445587530732155, 0.042325664311647415, 0.03332456573843956, -0.004175247624516487, -0.0215990599244833, 0.07253348082304001, 0.05154510214924812, 0.010349725373089314, -0.05555284768342972, -0.019465524703264236, -0.0034090878907591105, 0.013340042904019356, -0.028071977198123932, 0.0039061056450009346, -0.015795497223734856, -0.02810993604362011, -0.054938677698373795, 0.08879892528057098, 0.05087636783719063, -0.006308783311396837, 0.004641639534384012, -0.05530509725213051, 0.017176907509565353, 0.07228420674800873, 0.06796325743198395, -0.06723274290561676, -0.03917822614312172, -0.0011694143759086728, 0.053239207714796066, -0.012175461277365685, -0.06202010437846184, -0.021145550534129143, -0.038904014974832535, -0.021360017359256744, -0.06795132160186768, 0.14426372945308685, 0.028465719893574715, -0.12087595462799072, -0.013350728899240494, 0.026278994977474213, 0.0029581801500171423, 0.05319608002901077, -0.005216408055275679, -0.0761653482913971, -0.03928280249238014, 0.03102995455265045, -0.011864534579217434, -0.04912419244647026, -0.07430001348257065, -0.008095144294202328, 0.00943188089877367, 0.04611421748995781, -0.030393827706575394, -0.03374353051185608, 0.004692764021456242, 0.03261306509375572, -0.059087228029966354, 0.05485100299119949, -0.013503219932317734, 0.007966872304677963, 0.026692593470215797, 0.0036345848347991705, -0.029528269544243813, 0.06476086378097534, -0.03162739798426628, 0.031121665611863136, -0.0029195838142186403, 0.061573270708322525, -0.03630584105849266, -0.026558034121990204, -0.04688228666782379, -0.026921991258859634, 0.01358719915151596, 0.06635576486587524, 0.019851630553603172, -0.01736670546233654, -0.06154880300164223, -0.0017768265679478645, -0.05207051709294319, -0.008897046558558941, 0.044047433882951736, -0.0009814290096983314, 0.014335129410028458, 0.03018077090382576, -0.020161772146821022, 0.03977273032069206, -0.005429573357105255, 0.029901301488280296, 0.041630227118730545, 0.020908484235405922, 0.04638620838522911, -0.007058699149638414, 0.0007775527192279696, 0.048366304486989975, 0.0003775264776777476, -0.33168938755989075, -0.021085815504193306, -0.0390770398080349, -0.021458040922880173, -0.015623785555362701, -0.039888493716716766, 0.006844979245215654, 0.018301688134670258, 0.006925305351614952, 0.06630839407444, 0.11156084388494492, -0.009532250463962555, -0.03812016546726227, -0.03897032514214516, -0.01003862265497446, -0.024539733305573463, 0.005853075999766588, -0.002557142870500684, -0.04709235951304436, -0.018279636278748512, 0.0015266946284100413, -0.0041771759279072285, -0.006214913912117481, -0.060497090220451355, 0.05796326324343681, 0.02709045261144638, 0.11502780765295029, 0.029907720163464546, -0.036252040416002274, 0.054693982005119324, -0.009067516773939133, 0.021620487794280052, -0.0316186398267746, -0.10652663558721542, -0.004514370579272509, -0.03945191204547882, 0.07474405318498611, -0.02668701857328415, 0.022115183994174004, 0.010288220830261707, -0.03175310045480728, -0.007213789504021406, -0.0019713370129466057, 0.01610734686255455, 0.008104830980300903, -0.024230731651186943, -0.040952179580926895, 0.01633012294769287, -0.03022196516394615, 0.06072929874062538, -0.049134623259305954, 0.03155047073960304, -0.018066776916384697, 0.0422537736594677, -0.0020935451611876488, -0.058209288865327835, -0.01349182240664959, 0.021764814853668213, -0.03310747817158699, 0.04421532526612282, -0.0026419879868626595, -0.019621198996901512, 0.013743985444307327, -0.04321306571364403, 0.06489154696464539, -0.05913601815700531, 0.011307678185403347, -0.029121244326233864, -0.01658082939684391, 0.056998975574970245, 0.008354315534234047, 0.12643598020076752, 0.04764033854007721, -0.022231752052903175, 0.034862421452999115, -0.05610539764165878, 0.021369699388742447, -0.0004808423691429198, -0.017869798466563225, 0.006225937511771917, 0.03776282072067261, -0.004392439033836126, 0.003809018060564995, 0.033622510731220245, 0.0034632778260856867, -0.058405801653862, 0.04638523980975151, -0.04357149451971054, 0.02412347123026848, 0.023285670205950737, -0.026001688092947006, 0.004552124999463558, -0.05763448029756546, 0.010232876986265182, 0.06800045818090439, 0.02414449118077755, -0.2739914655685425, 0.009562987834215164, 0.005295442882925272, 0.04740268364548683, 0.008848155848681927, 0.029483674094080925, -0.019973142072558403, -0.04332631453871727, -0.005127298180013895, 0.01026727631688118, 0.02173309400677681, 0.02804853580892086, 0.028320135548710823, 0.0033597229048609734, -0.041120000183582306, -0.03192073851823807, 0.03365948051214218, -0.01971372216939926, 0.04458293691277504, 0.0015418835682794452, -0.013952291570603848, -0.021319963037967682, 0.19104377925395966, -0.014115980826318264, -0.02003464289009571, 0.005779041908681393, -0.07792001962661743, -0.046354345977306366, 0.0590006560087204, 0.010036143474280834, -0.05584504082798958, 0.04268515110015869, 0.0003833134542219341, -0.033464666455984116, -0.0273116622120142, -0.0026061672251671553, -0.01584012806415558, 0.0179526936262846, 0.0023763664066791534, -0.02172134444117546, -0.043280355632305145, 0.028626108542084694, 0.0027322820387780666, -0.02382812090218067, 0.029456185176968575, 0.03647203743457794, -0.060033638030290604, -0.05523714795708656, -0.0011395919136703014, 0.01835089735686779, -0.010955196805298328, -0.02247641794383526, -0.02312176488339901, -0.00864383764564991, 0.011375444941222668, 0.0064741019159555435, 0.010032863356173038, -0.013972664251923561, 0.006213064305484295, -0.03275410830974579, -0.01493936125189066, 0.0110085504129529, 0.022837767377495766, 0.016077760607004166, 0.02404799312353134], "efb57a05-aaca-4b68-bdbc-68d8f622ff9f": [-0.04898248240351677, 0.037618059664964676, -0.02787410467863083, -0.008860373869538307, 0.02507256157696247, -0.02959531359374523, 0.010320857167243958, 0.05343567579984665, 0.04499315470457077, -0.03714956343173981, 0.023374266922473907, -0.049429263919591904, 0.013815636746585369, 0.008973193354904652, 0.02512984536588192, 0.025401761755347252, 0.01601613312959671, -0.02163480781018734, -0.02969222702085972, 0.0023683346807956696, 0.041247881948947906, -0.06799820065498352, -0.003738781437277794, -0.029741071164608, 0.04322239011526108, 0.023924080654978752, -0.031546931713819504, -0.07413896918296814, -0.003520610276609659, -0.15284599363803864, 0.015658386051654816, 1.778350087988656e-05, 0.0029506089631468058, 0.05077405273914337, -0.0019121200311928988, 0.030550600960850716, -0.003842963371425867, -0.022622620686888695, 0.03017430007457733, -3.4325665183132514e-05, 0.022861966863274574, 0.014101055450737476, -0.07974419742822647, -0.0468602292239666, 0.03395597264170647, 0.003476338926702738, 0.011147599667310715, 0.014769231900572777, -0.03898211568593979, 0.006249007768929005, -0.04153723269701004, -0.0709465816617012, 0.013871174305677414, -0.02497071400284767, 0.005655620247125626, 0.05171592906117439, 0.003059953451156616, 0.030621705576777458, 0.03608939051628113, 0.0877794697880745, 0.07417647540569305, 0.03502567857503891, -0.19131888449192047, 0.04195942357182503, 0.004649932496249676, 0.07262586057186127, -0.008890608325600624, -0.0023629821371287107, -0.06278432905673981, 0.01950824446976185, 0.010149632580578327, -0.0037058675661683083, -0.05195481702685356, 0.07102649658918381, 0.047431956976652145, -0.02858930639922619, 0.003036299953237176, -2.912527634180151e-05, 0.009384380653500557, 0.037616994231939316, 0.027314024046063423, 0.005613506305962801, -0.047987762838602066, 0.007389926817268133, -0.023174123838543892, -0.01800423488020897, 0.023235730826854706, -0.01473265141248703, 0.034305792301893234, -0.033680208027362823, 0.01808311976492405, -0.034931730479002, 0.04394758865237236, 0.019489102065563202, -0.03166474401950836, -0.02876574732363224, -0.025885747745633125, 0.07837805151939392, 0.0021544266492128372, 0.40501487255096436, -0.013720810413360596, 0.014344790019094944, 0.008790941908955574, -0.0354645773768425, 0.03825424611568451, -0.015820560976862907, 0.041679415851831436, 0.027900757268071175, 0.048491887748241425, -0.05494208633899689, -0.042694948613643646, -0.036888062953948975, 0.02453436702489853, -0.06879084557294846, 0.00036826005089096725, 0.05211435258388519, -0.01568792574107647, 0.007182017900049686, -0.003552225651219487, 0.059457890689373016, -0.015247158706188202, 0.03726121783256531, 0.05507504567503929, 0.008203428238630295, -0.01768365316092968, -0.00817209854722023, 0.020203519612550735, 0.06783033162355423, 0.04487583413720131, 0.025140831246972084, 0.028429070487618446, -0.03337807208299637, -0.007143307477235794, 0.03750148415565491, 0.005384846590459347, -0.03540456295013428, -0.08258963376283646, -0.010861500166356564, -0.038581300526857376, -0.0003006334009114653, 0.004300042986869812, -0.010068733245134354, 0.00905026774853468, -0.018299298360943794, -0.055194560438394547, 0.08522477000951767, 0.029683386906981468, -0.0070436811074614525, -0.014783404767513275, -0.06039898842573166, 0.04442280903458595, 0.07141038775444031, 0.061612438410520554, -0.03815222904086113, -0.01028768252581358, 0.041216060519218445, 0.010434400290250778, 0.026150323450565338, -0.08319244533777237, 0.00930151529610157, 0.010315912775695324, -0.0945848599076271, -0.06420130282640457, 0.1433647871017456, 0.009768441319465637, -0.0840376690030098, 0.006510238163173199, 0.0693274438381195, -0.025922009721398354, 0.0516575425863266, 0.021341940388083458, -0.06799398362636566, -0.03777658939361572, -0.007409072481095791, -0.008556284941732883, -0.04671124741435051, -0.04604994133114815, 0.0029013296589255333, 0.0034036056604236364, -0.025157317519187927, -0.04370662569999695, -0.0618261992931366, -0.0076904031448066235, 0.0241098552942276, -0.04571153596043587, 0.05349520221352577, -0.007583268918097019, 0.0003005134058184922, 0.04490862041711807, 0.029567698016762733, -0.0543154701590538, 0.033639177680015564, -0.04674139246344566, 0.021864306181669235, -0.008888251148164272, -0.012334485538303852, 0.0010300996946170926, -0.00048517982941120863, -0.05576493218541145, -0.010898593813180923, 0.040436144918203354, 0.050164300948381424, 0.016863787546753883, 0.011233705095946789, -0.05038389563560486, 0.01640832982957363, -0.015370248816907406, 0.043680861592292786, 0.026150472462177277, -0.022316686809062958, -0.008904407732188702, 0.007977944798767567, 0.0102912662550807, 0.039102595299482346, 0.03158897906541824, 0.033566419035196304, 0.0765034630894661, 0.0002493223873898387, -0.020920854061841965, -0.009255839511752129, -0.016704222187399864, 0.004579152911901474, 0.01884368807077408, -0.3464522957801819, 0.013890061527490616, -0.02992553636431694, -0.007319082971662283, 0.009871003217995167, -0.01059732399880886, -0.02336997538805008, 0.0360204242169857, -0.023700885474681854, 0.07539202272891998, 0.104082390666008, 0.029645513743162155, -0.023337246850132942, -0.006753045599907637, 0.01720881275832653, -0.024558385834097862, 0.009858110919594765, -0.024192173033952713, -0.0448644645512104, 0.016281267628073692, 0.011860095895826817, -0.001538598327897489, -0.005265250336378813, -0.024588992819190025, 0.02022145874798298, 0.04212839901447296, 0.12726394832134247, -0.010992465540766716, -0.03845172002911568, -0.004442991688847542, -0.02434852533042431, -0.0018201759085059166, -0.021722525358200073, -0.12155140936374664, 0.029150843620300293, -0.040346868336200714, 0.013352561742067337, 0.015817010775208473, -0.02315290831029415, 0.01689586229622364, -0.03121001645922661, -0.03466558828949928, 0.024547221139073372, -0.03196555748581886, 0.011120920069515705, 0.01720496080815792, -0.06214800477027893, 0.05390623211860657, -0.05651020258665085, 0.05334469676017761, -0.01807154342532158, 0.03768003731966019, -0.00045614229748025537, 0.039438650012016296, 0.04075004905462265, -0.06602857261896133, -0.021146252751350403, 0.0007312283269129694, -0.01100112870335579, 0.00575259979814291, 0.042894311249256134, -0.01015924196690321, 0.00973476655781269, -0.048537321388721466, 0.035474322736263275, -0.03891206160187721, 0.012811009772121906, -0.04060631990432739, 0.035787105560302734, 0.04197275638580322, -0.02299140952527523, 0.1038191094994545, 0.04119330644607544, -0.033606935292482376, 0.027656879276037216, -0.024035155773162842, -0.012379311956465244, -0.018987027928233147, -0.03721977025270462, -0.03556305542588234, 0.03733978047966957, -0.014068033546209335, -0.004735709633678198, 0.01771939918398857, -0.0352577343583107, -0.04230274260044098, 0.02117176726460457, -0.028915226459503174, 0.018562540411949158, 0.020825417712330818, -0.013078493997454643, -0.02073492668569088, -0.0684872642159462, 0.015445997938513756, 0.08790136873722076, 0.028666820377111435, -0.2816475033760071, 0.006752767134457827, -0.023307939991354942, 0.00334326084703207, 0.02515588514506817, 0.02771131880581379, 0.006230889353901148, -0.06835304200649261, -0.011365220881998539, -0.011632428504526615, 0.020728804171085358, -0.011685707606375217, 0.0017141001299023628, -0.061192549765110016, -0.05496327951550484, -0.07270482182502747, 0.046445488929748535, -0.005259140394628048, 0.06545186042785645, 0.04969670623540878, 0.01117604412138462, -0.0317084938287735, 0.18602392077445984, -0.03172887861728668, -0.014139817096292973, 0.014123533852398396, -0.0819125548005104, -9.422888251719996e-05, 0.04419250041246414, 0.023359809070825577, -0.008306115865707397, 0.041501279920339584, 0.03398795798420906, -0.027598464861512184, -0.0546700619161129, -0.026364590972661972, -0.01704009249806404, 0.029066847637295723, 0.06216857209801674, -0.025220155715942383, -0.05507135018706322, 0.02227792888879776, 0.016186222434043884, 0.01315830647945404, 0.046554554253816605, 0.04934196174144745, -0.04194353520870209, -0.030735377222299576, -0.015056293457746506, 0.04125818610191345, -0.017871737480163574, -0.021182021126151085, 0.026392512023448944, 0.023407263681292534, 0.014835051260888577, -0.01610121876001358, -0.0006807890022173524, -0.01089633908122778, 0.03985117748379707, -0.018969502300024033, -0.05458470806479454, 0.02014782652258873, 0.004807748831808567, -0.012645592913031578, 0.05739964172244072], "677986d1-84a4-401c-b414-970f27b12f10": [-0.03872109577059746, 0.040051158517599106, -0.007974467240273952, -0.04058404639363289, 0.032172009348869324, -0.01721784844994545, 0.011708499863743782, 0.03366570547223091, 0.013512648642063141, -0.049660515040159225, 0.02140027843415737, -0.025820396840572357, 0.04126719385385513, 0.053926754742860794, 0.023219404742121696, 0.024903597310185432, -0.0019601802341639996, -0.004365965723991394, -0.0034059719182550907, -0.03597157821059227, 0.021231262013316154, -0.07048957049846649, 0.02040570043027401, -0.030319662764668465, -0.004984352737665176, 0.03143058344721794, 0.001299942610785365, -0.03260975331068039, -0.006958204787224531, -0.17890414595603943, -0.007047155871987343, -0.004433996044099331, 0.0032932113390415907, 0.03741471841931343, -0.044044382870197296, 0.02507183328270912, -0.020867975428700447, -0.04463887959718704, 0.04796390235424042, 0.005072403233498335, -0.005104535724967718, 0.007282455917447805, -0.04128613322973251, -0.043439120054244995, 0.03586994856595993, 0.005605822429060936, -0.012640123255550861, 0.021676013246178627, -0.08443960547447205, -0.022782329469919205, -0.03627985715866089, -0.03398646041750908, 0.04279901087284088, -0.022259466350078583, -0.0033540590666234493, 0.04200543835759163, 0.07201540470123291, 0.04133309796452522, -0.010791114531457424, 0.10459259152412415, 0.07815264910459518, 0.03602050244808197, -0.16195450723171234, -0.004221940878778696, 0.030397027730941772, 0.052197277545928955, -0.026956304907798767, -0.00573920551687479, -0.01586889661848545, -0.008977903984487057, 0.03129591792821884, 0.014794604852795601, 0.0354611836373806, 0.06197454035282135, 0.0574071891605854, -0.004006747156381607, -0.025552494451403618, -0.027723664417862892, 0.021358951926231384, 0.028493210673332214, 0.00921692792326212, 0.024899274110794067, -0.01610053889453411, 0.00829020980745554, -0.01904541440308094, -0.010380067862570286, 0.015172270126640797, -0.042473021894693375, 0.005175615660846233, -0.04319198802113533, 0.007204817607998848, -0.01819550432264805, 0.02717605233192444, 0.0017222295282408595, -0.006267237011343241, -0.036978621035814285, -0.01570434682071209, 0.05611341446638107, 0.011677613481879234, 0.4739941954612732, -0.04255813732743263, -0.023685161024332047, 0.018940510228276253, -0.015934007242321968, 0.01552719995379448, -0.020702097564935684, 0.004116365686058998, -0.01513769943267107, 0.013599368743598461, -0.034925270825624466, -0.026009371504187584, -0.018293214961886406, 0.011469889432191849, -0.023371664807200432, 0.014519422315061092, 0.052048008888959885, 0.0071960315108299255, 0.007890754379332066, 0.014622758142650127, 0.0310616847127676, -0.00947986077517271, 0.04939483851194382, 0.06677337735891342, 0.02461743913590908, -0.04130259528756142, -0.014222327619791031, 0.04333578795194626, 0.06191931292414665, 0.05549177899956703, 0.06826048344373703, 0.051876261830329895, -0.019438590854406357, -0.006856499705463648, -0.006778529845178127, 0.015949927270412445, -0.0003253841423429549, -0.07472769916057587, -0.024628136307001114, -0.04521939530968666, 0.00046333487262018025, 0.007146078627556562, -0.04896187782287598, 0.004749440122395754, -0.006360717583447695, -0.019841179251670837, 0.10860957950353622, 0.029768822714686394, -0.0036398989614099264, -0.0237180944532156, -0.06425649672746658, 0.00017593550728634, 0.050262968987226486, -0.01727340929210186, -0.04137565568089485, -0.02128378301858902, 0.018602238968014717, 0.0024114823900163174, -0.05040112882852554, -0.045458003878593445, 0.01790447160601616, -0.023421797901391983, -0.10748866945505142, -0.067972332239151, 0.13316400349140167, -0.006374474614858627, -0.10231083631515503, 0.027226919308304787, 0.043308474123477936, 0.025598416104912758, 0.04051611199975014, 0.01847933791577816, -0.045344028621912, 0.0010303566232323647, 0.019497739151120186, -0.03571096062660217, -0.015135147608816624, -0.04989561438560486, -0.024282414466142654, -0.013645173981785774, 0.013499320484697819, -0.00024270884750876576, -0.05627918615937233, 0.017136158421635628, 0.022314222529530525, -0.06435535103082657, 0.06047815456986427, -0.024321192875504494, 0.005655673798173666, 0.04029479995369911, 0.05032689869403839, -0.05668793246150017, 0.021185705438256264, -0.06389951705932617, -0.03168303519487381, -0.0401466079056263, 0.02488093078136444, -0.0033532895613461733, -0.03916482999920845, -0.04826884716749191, -0.016237815842032433, 0.06711150705814362, 0.01778244785964489, 0.04508180916309357, -0.008472390472888947, -0.05721566453576088, -0.017500320449471474, -0.06110590323805809, 0.02212933450937271, 0.059470560401678085, -0.0031507627572864294, -0.028106195852160454, -0.011785147711634636, 0.008646656759083271, 0.024544091895222664, -0.006054832134395838, 0.02326277457177639, 0.06425253301858902, 0.028496153652668, 0.0015862287255004048, 0.02276577427983284, 0.00829617865383625, 0.004788346588611603, 0.0032205008901655674, -0.31309446692466736, -0.02705715410411358, 0.010253814049065113, -0.023610422387719154, -0.02967153675854206, -0.060714442282915115, 0.01855618879199028, 0.017883358523249626, 0.0021983813494443893, 0.06449228525161743, 0.12253649532794952, 0.010956560261547565, -0.039995722472667694, -0.02590809389948845, 0.002381273778155446, -0.03605436161160469, -0.0047903708182275295, -0.01854921504855156, -0.06428714841604233, -0.006178128533065319, -0.04921315237879753, 0.019387224689126015, 0.007200319319963455, -0.083643838763237, 0.03539060801267624, 0.009933036752045155, 0.11860296130180359, 0.007813937962055206, -0.033253904432058334, -0.005678195506334305, -0.021560998633503914, 0.003988434560596943, -0.04472723975777626, -0.1082191988825798, -0.01394843589514494, -0.02749023213982582, 0.028835810720920563, 0.005779662635177374, -0.022388778626918793, -0.007377159781754017, -0.04188898950815201, -0.002274056663736701, 0.03086194023489952, -0.04533994942903519, 0.026701241731643677, -0.028991268947720528, -0.005345652811229229, 0.03121289424598217, -0.05908973515033722, 0.0851965844631195, 0.02726651541888714, 0.033367011696100235, -0.005889105144888163, 0.020623523741960526, 0.021394239738583565, -0.024742435663938522, -0.037655554711818695, -0.0008072486380115151, -0.03322393819689751, 2.212083199992776e-05, 0.010003643110394478, -0.039047569036483765, 8.609833457740024e-05, -0.027354087680578232, 0.06400244683027267, -0.025912022218108177, -0.01106359250843525, -0.04850311204791069, 0.005294522270560265, 0.003723377827554941, -0.01895000785589218, 0.12982793152332306, 0.040213391184806824, -0.02479373663663864, 0.02373223938047886, -0.04961719363927841, -0.010565378703176975, 0.006806809455156326, -0.033050648868083954, -0.011996899731457233, 0.019432447850704193, 0.001312779844738543, 0.0031951661221683025, 0.008983253501355648, -0.015664437785744667, -0.04096492752432823, 0.03934285789728165, -0.0330192856490612, 0.038608044385910034, 0.012622179463505745, 0.014641274698078632, -0.012214544229209423, -0.0692640021443367, -0.02058940939605236, 0.0613061748445034, 0.019253868609666824, -0.2695015072822571, 0.02923513390123844, -0.0067646135576069355, 0.03258684650063515, 0.005168672185391188, -0.004268924240022898, 0.028891537338495255, -0.04951055720448494, 0.02049281820654869, 0.0008153576054610312, 0.012163749895989895, 0.028663376346230507, 0.02087133191525936, -0.013714350759983063, -0.015219460241496563, -0.034352898597717285, 0.02188313566148281, -0.017267247661948204, 0.036964721977710724, 0.06099111959338188, 0.00025906250812113285, 0.01246063131839037, 0.20325930416584015, -0.024016428738832474, -0.04383165389299393, 0.05938984453678131, -0.05401675030589104, -0.03974544629454613, 0.043876104056835175, 0.046250782907009125, -0.012587793171405792, -0.0014033820480108261, -0.005725327879190445, -0.016309449449181557, -0.012626901268959045, -0.023263156414031982, 0.018044551834464073, 0.0017721388721838593, 0.03122980147600174, -0.01983635686337948, -0.016275884583592415, 0.02335175685584545, 0.03399977087974548, 0.010142852552235126, 0.05866030603647232, 0.05835839733481407, -0.011269507929682732, -0.022605476900935173, -0.014551730826497078, 0.03898029774427414, -0.009349987842142582, -0.03985028713941574, 0.009149408899247646, 0.003109126817435026, 0.01898874156177044, -0.005727787036448717, 0.0183438528329134, 0.010381069034337997, 0.003921232186257839, -0.03678731992840767, -0.006811092607676983, 0.03197836875915527, 0.038865890353918076, 0.01498019602149725, 0.050265006721019745]}, "text_id_to_ref_doc_id": {"082448f0-da91-4be9-822d-80f026c52961": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "47f15867-45d2-4b7c-906c-d74ffeb22725": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "85604ba9-e982-4717-a122-c235f8ffdd6d": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "dbce25fc-ea16-4773-a3df-ed04552210db": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "6372ad7b-4891-4fcb-af93-eacff2986875": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "538d1eeb-d128-42e1-945b-aff57f75893f": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "84ba8a47-01b3-451a-aa83-381353e52189": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "efb57a05-aaca-4b68-bdbc-68d8f622ff9f": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "677986d1-84a4-401c-b414-970f27b12f10": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "metadata_dict": {"082448f0-da91-4be9-822d-80f026c52961": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "47f15867-45d2-4b7c-906c-d74ffeb22725": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "85604ba9-e982-4717-a122-c235f8ffdd6d": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "dbce25fc-ea16-4773-a3df-ed04552210db": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "6372ad7b-4891-4fcb-af93-eacff2986875": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "538d1eeb-d128-42e1-945b-aff57f75893f": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "84ba8a47-01b3-451a-aa83-381353e52189": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "efb57a05-aaca-4b68-bdbc-68d8f622ff9f": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}, "677986d1-84a4-401c-b414-970f27b12f10": {"file_name": "ai_dans_banque.docx", "file_path": "C:\\Madjid\\Professional\\Projets\\LinkedIn\\Trainings\\LinkedIn_2024\\4266500_fr_FR_Cr\u00e9er_des_agents_AI_avec_LangChain_et_LlamaIndex\\Exercices\\From_LinkedIn\\Chap02\\data\\ai_dans_banque.docx", "file_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "file_size": 38602, "creation_date": "2024-10-18", "last_modified_date": "2024-10-18", "_node_type": "TextNode", "document_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3", "ref_doc_id": "aad95f1d-8e49-4bb4-aa7a-4256a7731aa3"}}} --------------------------------------------------------------------------------