Bagaimana Menggunakan Graf Pengetahuan Perbualan dalam LangChain?

Bagaimana Menggunakan Graf Pengetahuan Perbualan Dalam Langchain



LangChain ialah modul untuk mencipta model bahasa yang boleh meniru format perbualan seperti manusia berinteraksi antara satu sama lain. Pengguna boleh bertanya soalan dalam bentuk rentetan atau teks dalam bahasa semula jadi dan model akan mengekstrak atau menjana maklumat untuk pengguna. Model ini mempunyai memori yang dilampirkan padanya supaya mereka boleh menyimpan mesej sebelumnya untuk mendapatkan konteks perbualan.

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 PerbualanKGMemori

daripada 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.