# LlamaIndex API Example - 2

### create retriever by index

from llama\_index.core import SummaryIndex, SimpleDirectoryReader

documents = SimpleDirectoryReader("files").load\_data() summary\_index = SummaryIndex.from\_documents(documents) retriever = summary\_index.as\_retriever( retriever\_mode='embedding' ) result = retriever.retrieve("Tell me about ancient Rome") print(result\[0].text)

#### prefer this one

from llama\_index.core import SummaryIndex, SimpleDirectoryReader from llama\_index.core.retrievers import SummaryIndexEmbeddingRetriever

documents = SimpleDirectoryReader("files").load\_data() summary\_index = SummaryIndex.from\_documents(documents) retriever = SummaryIndexEmbeddingRetriever( index=summary\_index ) result = retriever.retrieve("Tell me about ancient Rome") print(result\[0].text)

### async retriever

import asyncio from llama\_index.core import KeywordTableIndex from llama\_index.core import SimpleDirectoryReader

async def retrieve(retriever, query, label): response = await retriever.aretrieve(query) print(f"{label} retrieved {str(len(response))} nodes")

async def main(): reader = SimpleDirectoryReader('files') documents = reader.load\_data() index = KeywordTableIndex.from\_documents(documents) retriever1 = index.as\_retriever( retriever\_mode='default' ) retriever2 = index.as\_retriever( retriever\_mode='simple' ) query = "Where is the Colosseum?"

```
await asyncio.gather(
    retrieve(retriever1, query, '<llm>'),
    retrieve(retriever2, query, '<simple>')
)
```

asyncio.run(main())
