LocalFilesystemMemory ist eine Ebene über GPTSimpleVectorIndex von Llama Index, die die Details der Verwaltung von auf der Festplatte gespeicherten Indizes abstrahiert. Es übernimmt/erstellt eine Verzeichnisstruktur zum Speichern von Indizes und bietet eine einfache Schnittstelle für deren Verwaltung.
Ein Beispiel mit einigen Wikipedia-Dateien finden Sie in diesem Repo:
from llama_index import SimpleDirectoryReader
from gpt_memory import LocalFilesystemMemory
phil = SimpleDirectoryReader ( "gpt_memory/examples/phil" )
animals = SimpleDirectoryReader ( "gpt_memory/examples/animals" )
phil_docs = phil . load_data ()
animal_docs = animals . load_data ()
memory = LocalFilesystemMemory ( "example" )
memory . create_index ( "phil" , phil_docs )
memory . create_index ( "animals" , animal_docs )
query = "What is a capybara?"
print ( memory . query ( query ))
Rückkehr: A capybara is a giant cavy rodent native to South America, which is the largest living rodent and a member of the genus Hydrochoerus. It inhabits savannas and dense forests, lives near bodies of water, and is a highly social species that can be found in groups as large as 100 individuals. The capybara is hunted for its meat and hide and also for grease from its thick fatty skin, but it is not considered a threatened species.
memory.query(prompt)
: Der Haupteinstiegspunkt zum Stellen einer Frage.memory.create_index(name, docs, description=None)
: Die Hauptmethode zum Erstellen eines Index. Dokumente können Zeichenfolgen, Zeichenfolgenlisten oder Listen der Dokumentobjekte von GPTIndex sein.memory.update_index(name, docs)
: Aktualisiert einen Index mit neuen Dokumenten.memory.delete_index(name)
: Einen Index löschen.Unter der Haube nutzen diese Funktionen Folgendes:
memory.get_index(name)
memory.query_index(name, prompt)
memory.find_most_relevant_index(prompt)
Unter der Haube ist die Verzeichnisstruktur wie folgt:
- index_folder/
- metadata.json
- indexes/
- index_1.json
- index_2.json
- ...
Die Datei metadata.json enthält die folgenden Informationen:
{
"index_count": 2,
"index_descriptions": [
{
"name": "index_1",
"description": "Description of index generated by GPT Index.",
},
{
"name": "index_2",
"description": "Description of index generated by GPT Index.",
},
]
}