Stream HelpersLlamaIndexAdapter

LlamaIndexAdapter

The LlamaIndexAdapter module provides helper functions to transform LlamaIndex output streams into data streams and data stream responses. See the LlamaIndex Adapter documentation for more information.

It supports:

  • LlamaIndex ChatEngine streams
  • LlamaIndex QueryEngine streams

Import

import { LlamaIndexAdapter } from "ai"

API Signature

Methods

toDataStream:

(stream: AsyncIterable<EngineResponse>, AIStreamCallbacksAndOptions) => AIStream
Converts LlamaIndex output streams to data stream.

toDataStreamResponse:

(stream: AsyncIterable<EngineResponse>, options?: {init?: ResponseInit, data?: StreamData, callbacks?: AIStreamCallbacksAndOptions}) => Response
Converts LlamaIndex output streams to data stream response.

Examples

Convert LlamaIndex ChatEngine Stream

app/api/completion/route.ts
import { OpenAI, SimpleChatEngine } from 'llamaindex';
import { LlamaIndexAdapter } from 'ai';
export async function POST(req: Request) {
const { prompt } = await req.json();
const llm = new OpenAI({ model: 'gpt-4o' });
const chatEngine = new SimpleChatEngine({ llm });
const stream = await chatEngine.chat({
message: prompt,
stream: true,
});
return LlamaIndexAdapter.toDataStreamResponse(stream);
}