upgrade llama-index to v0.10

This commit is contained in:
seehi 2024-02-23 14:55:32 +08:00
parent 19a9a98c0b
commit c02dc5cea8
10 changed files with 32 additions and 25 deletions

View file

@ -18,6 +18,7 @@ from llama_index.core.response_synthesizers import (
)
from llama_index.core.retrievers import BaseRetriever
from llama_index.core.schema import (
BaseNode,
NodeWithScore,
QueryBundle,
QueryType,
@ -110,15 +111,22 @@ class SimpleEngine(RetrieverQueryEngine):
documents = SimpleDirectoryReader(input_files=input_files).load_data()
nodes = run_transformations(documents, transformations=self.index._transformations)
self.retriever.add_nodes(nodes)
self._save_nodes(nodes)
def add_objs(self, objs: list[RAGObject]):
"""Adds objects to the retriever, storing each object's original form in metadata for future reference."""
self._ensure_retriever_modifiable()
nodes = [TextNode(text=obj.rag_key(), metadata={"obj": obj.model_dump()}) for obj in objs]
self.retriever.add_nodes(nodes)
self._save_nodes(nodes)
def _ensure_retriever_modifiable(self):
if not isinstance(self.retriever, ModifiableRAGRetriever):
raise TypeError(f"the retriever is not modifiable: {type(self.retriever)}")
def _save_nodes(self, nodes: list[BaseNode]):
# for search in memory
self.retriever.add_nodes(nodes)
# for persist
self.index.insert_nodes(nodes)

View file

@ -22,7 +22,7 @@ class SimpleHybridRetriever(RAGRetriever):
"""
all_nodes = []
for retriever in self.retrievers:
# 防止retriever可能改变query的属性
# Prevent retriever changing query
query_copy = copy.deepcopy(query)
nodes = await retriever.aretrieve(query_copy, **kwargs)
all_nodes.extend(nodes)