mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-06 22:32:38 +02:00
upgrade llama-index to v0.10
This commit is contained in:
parent
19a9a98c0b
commit
c02dc5cea8
10 changed files with 32 additions and 25 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue