Mulai sekarangMulai gratis

Mengekstrak fakta dari riwayat percakapan

Sekarang saatnya meningkatkan kualitas riwayat percakapan Anda! Anda akan mendefinisikan kelas-kelas pydantic untuk mengekstrak fakta dari riwayat percakapan secara terstruktur.

Ini akan menjadi fondasi untuk latihan berikutnya sekaligus terakhir di kursus ini, di mana Anda akan benar-benar melakukan proses ekstraksi.

Kelas-kelas pydantic yang diperlukan sudah diimpor, dan sebuah llm sudah didefinisikan.

Latihan ini merupakan bagian dari kursus

Graph RAG dengan LangChain dan Neo4j

Lihat Kursus

Instruksi latihan

  • Definisikan kelas pydantic ConversationFact untuk mengekstrak fakta dari sebuah percakapan; sertakan kolom object, subject, relationship, dan session_id yang sesuai dengan deskripsi yang diberikan.
  • Definisikan kelas pydantic ConversationFacts untuk membuat daftar objek ConversationFact.
  • Ikat format keluaran terstruktur ke llm yang disediakan.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Define the ConversationFact with the correct fields
class ____(____):
    """
    A class that holds the facts from a conversation in a format of object, subject, predicate.

    For example, if the conversation includes the fact that the user likes ice creamthe facts would be:
    - object: "Adam"
    - subject: "ice cream"
    - relationship: "LIKES"
    The class also includes a session ID to identify the conversation.
    """
    ____: str = Field(description="The session ID of the conversation.")
    ____: str = Field(description="The object of the fact. For example, 'Adam' ")
    ____: str = Field(description="The subject of the fact. For example, 'Ice cream'")
    ____: str = Field(description="The relationship between the object and the subject.  This should be a single word verb in upper case. For example, 'LIKES' or 'OWNS'")

# Define a ConversationFacts class for creating lists of ConversationFact objects
class ____(____):
    """A class that holds a list of ConversationFact objects."""
    facts: list[____] = Field(description="A list of ConversationFact objects.")

# Bind the output to the llm provided
llm_with_output = llm.____(____) 
Edit dan Jalankan Kode