llama-index
41 строка · 1.2 Кб
1"""Simple reader that turns an iterable of strings into a list of Documents."""
2
3from typing import List
4
5from llama_index.legacy.readers.base import BasePydanticReader
6from llama_index.legacy.schema import Document
7
8
9class StringIterableReader(BasePydanticReader):
10"""String Iterable Reader.
11
12Gets a list of documents, given an iterable (e.g. list) of strings.
13
14Example:
15.. code-block:: python
16
17from llama_index.legacy import StringIterableReader, TreeIndex
18
19documents = StringIterableReader().load_data(
20texts=["I went to the store", "I bought an apple"]
21)
22index = TreeIndex.from_documents(documents)
23query_engine = index.as_query_engine()
24query_engine.query("what did I buy?")
25
26# response should be something like "You bought an apple."
27"""
28
29is_remote: bool = False
30
31@classmethod
32def class_name(cls) -> str:
33return "StringIterableReader"
34
35def load_data(self, texts: List[str]) -> List[Document]:
36"""Load the data."""
37results = []
38for text in texts:
39results.append(Document(text=text))
40
41return results
42