Memanfaatkan kekuatan grafik pengetahuan untuk menyimpan dan mengingat informasi.
Hal ini membantu model memahami hubungan antara entitas yang berbeda dan meningkatkan kemampuan mereka untuk bereaksi berdasarkan jaringan koneksi yang kompleks dan konteks historis.
# File konfigurasi untuk mengelola API KEY sebagai variabel lingkunganfrom dotenv import load_dotenv# Memuat informasi API KEYload_dotenv()
from langchain_openai import ChatOpenAIfrom langchain_community.memory.kg import ConversationKGMemory
llm =ChatOpenAI(temperature=0)memory =ConversationKGMemory(llm=llm, return_messages=True)memory.save_context( {"input": "Ini adalah Siti Rahma dari Jakarta."}, {"output": "Siapa Siti Rahma?"})memory.save_context( {"input": "Siti Rahma adalah desainer baru di perusahaan kami."}, {"output": "Senang bertemu dengan Anda."})
{'history': [SystemMessage(content='On Siti Rahma: Siti Rahma dari Jakarta. Siti Rahma adalah desainer baru di perusahaan kami.')]}
Memanfaatkan memory untuk Chain
Mari kita tentukan ConversationKGMemory sebagai memori di dalam ConversationChain sehingga kita dapat memeriksa memori setelah percakapan.
from langchain.prompts.prompt import PromptTemplatefrom langchain.chains import ConversationChainllm =ChatOpenAI(temperature=0)template ="""Berikut ini adalah percakapan antara manusia dan AI.AI banyak bicara dan memberikan banyak detail spesifik dari konteksnya.Jika AI tidak mengetahui jawaban dari sebuah pertanyaan, maka AI akan mengatakan bahwa ia tidak tahu.AI HANYA menggunakan informasi yang terdapat di bagian “Relevant Information” dan tidak berhalusinasi.Relevant Information:{history}Conversation:Human: {input}AI:"""prompt =PromptTemplate( input_variables=["history", "input"], template=template)conversation_with_kg =ConversationChain( llm=llm, prompt=prompt, memory=ConversationKGMemory(llm=llm))
Mulai dialog pertama Anda. Mari kita berikan sedikit informasi biografi.
conversation_with_kg.predict( input="Nama saya Teddy, Siti Rahma adalah rekan kerja saya, dan dia adalah desainer baru di perusahaan kami.")
Halo Teddy, senang bertemu dengan Anda. Siti Rahma adalah manager baru di perusahaan Anda, itu pasti akan membawa perubahan yang menarik. Apa yang bisa saya bantu untuk Anda dan Siti Rahma?
Anda bertanya tentang seseorang bernama Shirley.
# Ajukan pertanyaan tentang Shirleyconversation_with_kg.memory.load_memory_variables({"input": "siapa Siti rahma?"})
{'history': 'On Siti Rahma: Siti Rahma adalah rekan kerja Teddy. Siti Rahma adalah manager baru di perusahaan kami.'}