Journey to llm

Dans le flux constant de contenus sur YouTube, impossible de rester à jour et de se focaliser sur les ressources pertinentes.

Un simple titre ne suffit souvent pas à qualifier la richesse des informations.

L’assistance d’une intelligence artificielle peut se révéler précieuse et James 🤖 notre #LLM on-premise doit pouvoir nous aider.

Demandons lui d’analyser la vidéo et de se préparer à nos questions …

Prenons par exemple la dernière vidéo de “Processus”. Que recèle-t-elle réellement ?

Avec le bon cadrage pour s’assurer que la seule source d’information sera le contexte fourni, James ne doit pas savoir répondre à la question commbien de pattes possède un chien !

Avec un “simple” assemblage de briques, les résultats sont prometteurs.

En version très raccourcie la séquence:

👉 Collecter le transcript : #Langchain met à disposition un loader Youtube qui nous simplifie la tâche (langchain_community.document_loaders.YoutubeLoader)

👉 Découper ce transcript en morceaux

text_splitter=CharacterTextSplitter.from_tiktoken_encoder(
    chunk_size=1000, chunk_overlap=0
)
chunks = text_splitter.split_documents(docs)

👉 Créer un stockage de vecteurs de notre contexte

vectorstore = Chroma.from_documents(persist_directory="output/youtube/chroma/", documents=chunks, embedding=GPT4AllEmbeddings(),client_settings= Settings(anonymized_telemetry=False, is_persistent=False))

👉 Lancer le traitement

QA_CHAIN_PROMPT = PromptTemplate(input_variables=["context", "question"], template=template,temperature=0)
qa_chain = RetrievalQA.from_chain_type(llm, retriever=vectorstore.as_retriever(search_kwargs={"k": 1}), chain_type_kwargs={"prompt": QA_CHAIN_PROMPT})

Bien que certains aspects relève encore de la magie noire, c’est une magie qui produit des résultats vraiment enthousiasmant.

Eric
Eric
🛡️ Cybersecurity enthusiast driven by curiosity and the desire to share.