Dari vektor ke graf

Retrieval Augmented Generation (RAG) dengan LangChain

Meri Nova

Machine Learning Engineer

Keterbatasan RAG berbasis vektor

Alur kerja RAG dengan vector store.

Gelembung berisi "tema dan relasi".

Retrieval Augmented Generation (RAG) dengan LangChain

Keterbatasan RAG berbasis vektor

Alur kerja RAG dengan vector store.

Gelembung berisi "skalabilitas".

Retrieval Augmented Generation (RAG) dengan LangChain

Keterbatasan RAG berbasis vektor

Alur kerja RAG dengan vector store.

Gelembung berisi "mengintegrasikan data beragam".

Retrieval Augmented Generation (RAG) dengan LangChain

Basis data graf

Graf yang menampilkan koneksi antar orang, tempat, dan minat.

Retrieval Augmented Generation (RAG) dengan LangChain

Basis data graf - node

Graf yang menampilkan koneksi antar orang, tempat, dan minat.

Retrieval Augmented Generation (RAG) dengan LangChain

Basis data graf - edge

Graf yang menampilkan koneksi antar orang, tempat, dan minat.

Retrieval Augmented Generation (RAG) dengan LangChain

Basis data graf Neo4j

 

Logo Neo4j.

Logo LangChain.

Retrieval Augmented Generation (RAG) dengan LangChain

Dari grafik ke graf...

Graf yang menampilkan koneksi antar orang, tempat, dan minat.

Retrieval Augmented Generation (RAG) dengan LangChain

Dari grafik ke graf...

barcelona_graph.jpg

Retrieval Augmented Generation (RAG) dengan LangChain

Dari grafik ke graf...

barcelona_graph.jpg

Retrieval Augmented Generation (RAG) dengan LangChain

Memuat dan memecah halaman 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) dengan LangChain

Dari teks ke graf!

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) dengan LangChain

Dari teks ke graf!

[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) dengan LangChain

Ayo berlatih!

Retrieval Augmented Generation (RAG) dengan LangChain

Preparing Video For Download...