LlamaIndex 어댑터

LlamaIndex 어댑터

LlamaIndex를 AI SDK와 함께 사용할 수 있게 해주는 어댑터예요. @ai-sdk/llamaindex 패키지는 LlamaIndex ChatEngine이나 QueryEngine의 스트림 결과를 클라이언트로 전달해요.

출처: 문서

본문

LlamaIndex는 LLM 기반 애플리케이션을 구축하기 위한 프레임워크예요. LlamaIndex는 프라이빗 또는 도메인 특화 데이터를 수집(ingest), 구조화, 접근하는 데 도움을 줘요. LlamaIndex.TS는 Node.js, Deno, Bun 같은 현대 JavaScript 런타임을 지원해요.

예시: 완성 (Completion)

AI SDK와 LlamaIndex를 Next.js App Router와 함께 사용하는 기본 예시예요.

AI SDK @ai-sdk/llamaindex 패키지는 LlamaIndex ChatEngine의 chat 메서드나 LlamaIndex QueryEngine의 query 메서드를 호출한 스트림 결과를 사용해 텍스트를 클라이언트로 전달해요.

import { OpenAI, SimpleChatEngine } from 'llamaindex';
import { toUIMessageStream } from '@ai-sdk/llamaindex';
import { createUIMessageStreamResponse } from 'ai';

export const maxDuration = 60;

export async function POST(req: Request) {
  const { prompt } = await req.json();

  const llm = new OpenAI({ model: 'gpt-6-astra' });
  const chatEngine = new SimpleChatEngine({ llm });

  const stream = await chatEngine.chat({
    message: prompt,
    stream: true,
  });

  return createUIMessageStreamResponse({
    stream: toUIMessageStream(stream),
  });
}

그런 다음 페이지 컴포넌트에서 AI SDK의 useCompletion 메서드를 사용해 완성을 처리해요:

'use client';

import { useCompletion } from '@ai-sdk/react';

export default function Chat() {
  const { completion, input, handleInputChange, handleSubmit } =
    useCompletion();

  return (
    <div>
      {completion}
      <form onSubmit={handleSubmit}>
        <input value={input} onChange={handleInputChange} />
      </form>
    </div>
  );
}

더 많은 예시 (More Examples)

create-llama는 LlamaIndex를 시작하는 가장 쉬운 방법이에요. 생성된 모든 코드에서 AI SDK를 사용해 LlamaIndex에 연결해요.

더 알아보기 (Learn more)

전체 사이트맵