Panduan ini akan menggambarkan proses penggunaan graf pengetahuan perbualan dalam LangChain.
Bagaimana Menggunakan Graf Pengetahuan Perbualan dalam LangChain?
The PerbualanKGMemori perpustakaan boleh digunakan untuk mencipta semula ingatan yang boleh digunakan untuk mendapatkan konteks interaksi. Untuk mempelajari proses menggunakan graf pengetahuan perbualan dalam LangChain, hanya melalui langkah-langkah yang disenaraikan:
Langkah 1: Pasang Modul
Mula-mula, mulakan dengan proses menggunakan graf pengetahuan perbualan dengan memasang modul LangChain:
pip pasang langchain
Pasang modul OpenAI yang boleh dipasang menggunakan arahan pip untuk mendapatkan perpustakaannya untuk membina Model Bahasa Besar:
pip pasang openai
sekarang, menetapkan persekitaran menggunakan kunci API OpenAI yang boleh dijana daripada akaunnya:
import awak
import getpass
awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
Langkah 2: Menggunakan Memori Dengan LLM
Setelah modul dipasang, mula menggunakan memori dengan LLM dengan mengimport perpustakaan yang diperlukan daripada modul LangChain:
daripada langchain. ingatan import PerbualanKGMemoridaripada langchain. llms import OpenAI
Bina LLM menggunakan kaedah OpenAI() dan konfigurasikan memori menggunakan PerbualanKGMemori () kaedah. Selepas itu, simpan templat gesaan menggunakan berbilang input dengan respons masing-masing untuk melatih model pada data ini:
llm = OpenAI ( suhu = 0 )ingatan = PerbualanKGMemori ( llm = llm )
ingatan. simpan_konteks ( { 'input' : 'tegur john' } , { 'pengeluaran' : 'john! Siapa' } )
ingatan. simpan_konteks ( { 'input' : 'dia kawan' } , { 'pengeluaran' : 'pasti' } )
Uji memori dengan memuatkan pembolehubah_memori () kaedah menggunakan pertanyaan yang berkaitan dengan data di atas:
ingatan. load_memory_variables ( { 'input' : 'siapa john' } )
Konfigurasikan memori menggunakan kaedah ConversationKGMemory() dengan pulangkan_mesej hujah untuk mendapatkan sejarah input juga:
ingatan = PerbualanKGMemori ( llm = llm , pulangkan_mesej = betul )ingatan. simpan_konteks ( { 'input' : 'tegur john' } , { 'pengeluaran' : 'john! Siapa' } )
ingatan. simpan_konteks ( { 'input' : 'dia kawan' } , { 'pengeluaran' : 'pasti' } )
Cukup uji memori dengan menyediakan argumen input dengan nilainya dalam bentuk pertanyaan:
ingatan. load_memory_variables ( { 'input' : 'siapa john' } )
Sekarang, uji memori dengan menanyakan soalan yang tidak disebutkan dalam data latihan, dan model tidak tahu tentang respons:
ingatan. dapatkan_entiti_semasa ( 'apa warna kegemaran john' )Menggunakan dapatkan_pengetahuan_triplet () kaedah dengan menjawab pertanyaan yang ditanya sebelum ini:
ingatan. dapatkan_pengetahuan_triplet ( 'warna kegemarannya ialah merah' )
Langkah 3: Menggunakan Memori dalam Rantaian
Langkah seterusnya menggunakan memori perbualan dengan rantai untuk membina model LLM menggunakan kaedah OpenAI(). Selepas itu, konfigurasikan templat gesaan menggunakan struktur perbualan dan teks akan dipaparkan semasa mendapatkan output oleh model:
llm = OpenAI ( suhu = 0 )daripada langchain. gesaan . segera import PromptTemplate
daripada langchain. rantai import Rantaian Perbualan
templat = '''Ini ialah templat untuk interaksi antara manusia dan mesin
Sistem ini ialah model AI yang boleh bercakap atau mengekstrak maklumat tentang pelbagai aspek
Jika ia tidak memahami soalan atau mempunyai jawapan, ia hanya berkata begitu
Sistem mengekstrak data yang disimpan dalam bahagian 'Khusus' dan tidak berhalusinasi
Khusus:
{sejarah}
Perbualan:
Manusia: {input}
AI:'''
#Konfigurasikan templat atau struktur untuk menyediakan gesaan dan mendapatkan respons daripada sistem AI
segera = PromptTemplate ( input_variables = [ 'sejarah' , 'input' ] , templat = templat )
perbualan_dengan_kg = Rantaian Perbualan (
llm = llm , bertele-tele = betul , segera = segera , ingatan = PerbualanKGMemori ( llm = llm )
)
Setelah model dibuat, cukup panggil perbualan_dengan_kg model menggunakan kaedah predict() dengan pertanyaan yang ditanya oleh pengguna:
perbualan_dengan_kg. menjangkakan ( input = 'Hi ada apa?' )
Sekarang, latih model menggunakan memori perbualan dengan memberikan maklumat sebagai hujah input untuk kaedah:
perbualan_dengan_kg. menjangkakan (input = 'Nama saya James dan saya membantu Will, Dia seorang jurutera'
)
Inilah masanya untuk menguji model dengan meminta pertanyaan untuk mengekstrak maklumat daripada data:
perbualan_dengan_kg. menjangkakan ( input = 'Siapa Will' )
Itu semua tentang menggunakan graf pengetahuan perbualan dalam LangChain.
Kesimpulan
Untuk menggunakan graf pengetahuan perbualan dalam LangChain, pasang modul atau rangka kerja untuk mengimport perpustakaan untuk menggunakan kaedah ConversationKGMemory(). Selepas itu, bina model menggunakan memori untuk membina rantai dan mengekstrak maklumat daripada data latihan yang disediakan dalam konfigurasi. Panduan ini telah menghuraikan proses penggunaan graf pengetahuan perbualan dalam LangChain.