De la vectori la grafuri

Retrieval Augmented Generation (RAG) cu LangChain

Meri Nova

Machine Learning Engineer

Limitările RAG vectorial

Fluxul tipic RAG cu vector store.

O bulă cu textul „teme și relații".

Retrieval Augmented Generation (RAG) cu LangChain

Limitările RAG vectorial

Fluxul tipic RAG cu vector store.

O bulă cu textul „scalabilitate".

Retrieval Augmented Generation (RAG) cu LangChain

Limitările RAG vectorial

Fluxul tipic RAG cu vector store.

O bulă cu textul „integrarea datelor diverse".

Retrieval Augmented Generation (RAG) cu LangChain

Baze de date grafice

Un graf care arată conexiuni între persoane, locuri și interese.

Retrieval Augmented Generation (RAG) cu LangChain

Baze de date grafice - noduri

Un graf care arată conexiuni între persoane, locuri și interese.

Retrieval Augmented Generation (RAG) cu LangChain

Baze de date grafice - muchii

Un graf care arată conexiuni între persoane, locuri și interese.

Retrieval Augmented Generation (RAG) cu LangChain

Baze de date grafice Neo4j

 

Logo-ul Neo4j.

Logo-ul LangChain.

Retrieval Augmented Generation (RAG) cu LangChain

De la imagini la grafuri...

Un graf care arată conexiuni între persoane, locuri și interese.

Retrieval Augmented Generation (RAG) cu LangChain

De la imagini la grafuri...

barcelona_graph.jpg

Retrieval Augmented Generation (RAG) cu LangChain

De la imagini la grafuri...

barcelona_graph.jpg

Retrieval Augmented Generation (RAG) cu LangChain

Încărcarea și segmentarea paginilor Wikipedia

from langchain_community.document_loaders import WikipediaLoader
from langchain_text_splitters import TokenTextSplitter

raw_documents = WikipediaLoader(query="large language model").load()

text_splitter = TokenTextSplitter(chunk_size=100, chunk_overlap=20) documents = text_splitter.split_documents(raw_documents[:3]) print(documents[0])
page_content='A large language model (LLM) is a computational model capable of...' 
metadata={'title': 'Large language model',
          'summary': "A large language model (LLM) is...",
          'source': 'https://en.wikipedia.org/wiki/Large_language_model'}
Retrieval Augmented Generation (RAG) cu LangChain

De la text la grafuri!

from langchain_openai import ChatOpenAI

from langchain_experimental.graph_transformers import LLMGraphTransformer
llm = ChatOpenAI(api_key="...", temperature=0, model_name="gpt-4o-mini")
llm_transformer = LLMGraphTransformer(llm=llm)
graph_documents = llm_transformer.convert_to_graph_documents(documents) print(graph_documents)
Retrieval Augmented Generation (RAG) cu LangChain

De la text la grafuri!

[GraphDocument(
    nodes=[
        Node(id='Llm', type='Computational model'),
        Node(id='Language Generation', type='Concept'),
        Node(id='Natural Language Processing Tasks', type='Concept'),
        Node(id='Llama Family', type='Computational model'),
        Node(id='Ibm', type='Organization'),
        ..., Node(id='Bert', type='Computational model')],
    relationships=[
        Relationship(source=Node(id='Llm', type='Computational model'),
                     target=Node(id='Language Generation', type='Concept'),
                     type='CAPABLE_OF'),
        ...])]
Retrieval Augmented Generation (RAG) cu LangChain

Să exersăm!

Retrieval Augmented Generation (RAG) cu LangChain

Preparing Video For Download...