지식 기반 섹션 ▾

도구

도구

LlamaIndex + Gonka AI — 저렴한 RAG 애플리케이션

LlamaIndex는 Python에서 RAG 애플리케이션 및 AI 에이전트를 구축하기 위한 선도적인 프레임워크입니다 (LlamaIndex.TS의 TypeScript 버전도 있음). 문서 로드, 청크 분할, 인덱싱, 벡터 검색 및 응답 조립을 처리합니다. 데이터를 설명하면 LlamaIndex가 모든 LLM 위에 질문-응답 시스템으로 변환합니다.

문제는 하나입니다. 추론 비용. RAG는 본질적으로 비용이 많이 듭니다. 각 질문에 대해 쿼리와 발견된 컨텍스트 조각 여러 개가 모델로 전송되며, 대규모 컬렉션 인덱싱을 위해 임베딩이 추가됩니다. 프로덕션 볼륨에서는 하루에 수천 개의 쿼리가 발생합니다. OpenAI(1M 토큰당 $2.50–15) 또는 Anthropic(1M 토큰당 $3–15)에서는 겸손한 질문-응답 서비스조차도 한 달에 수만 달러로 변질됩니다.

LlamaIndex는 OpenAILike 클래스를 통해 모든 OpenAI 호환 엔드포인트와 기본적으로 작동합니다. 이는 JoinGonka Gateway가 사용자 지정 공급자나 패치 없이 몇 줄의 코드로 연결됨을 의미합니다. 결과: 동일한 RAG 시스템은 분산형 Gonka 네트워크를 통해 입력 1M 토큰당 $0.0005 (출력 3배)로 작동합니다. 이는 클라우드 API보다 수백, 수천 배 저렴합니다.

빠른 시작: OpenAILike를 통한 연결

JoinGonka API 키: gate.joingonka.ai/register에 등록하십시오. 시작 시 10M 무료 토큰을 제공하며 대시보드에서 jg-xxx 키를 생성하십시오.

설치:

pip install llama-index llama-index-llms-openai-like

임의의 OpenAI 호환 API의 경우 LlamaIndex는 llama_index.llms.openai_like 패키지에서 OpenAILike 클래스를 제공합니다. Gonka에 대한 최소한의 쿼리 예제:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-your-key",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,            # Gonka는 채팅 엔드포인트입니다
    is_function_calling_model=True, # 네이티브 도구 호출이 지원됩니다
    context_window=131072,         # Qwen3-235B는 128K입니다
    max_tokens=8192,               # Gateway를 통한 출력 상한선 (Qwen)
)

response = llm.complete("RAG가 무엇인지 세 문장으로 설명해 주세요.")
print(response)

OpenAILike에 대한 중요 사항: 반드시 is_chat_model=True를 지정하십시오. 그렇지 않으면 LlamaIndex가 저희가 없는 완성 엔드포인트로 이동합니다. is_function_calling_model=True는 네이티브 도구 호출을 활성화합니다. LlamaIndex가 컨텍스트를 올바르게 자르도록 모델에 따라 context_window를 설정하십시오.

예제: 쿼리 엔진을 사용한 RAG 파이프라인

클래식 LlamaIndex 시나리오 — 문서에 대한 인덱스 및 query_engine을 통한 쿼리. 글로벌 LLM은 Settings.llm을 통해 한 번 설정되며, 나머지 파이프라인은 Gonka를 자동으로 사용합니다.

from llama_index.core import (
    VectorStoreIndex,
    SimpleDirectoryReader,
    Settings,
)
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# 1. Gonka를 통한 LLM (한 번 — 전역적으로)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-your-key",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    context_window=131072,
    max_tokens=8192,
)

# 2. 로컬 임베딩 (무료, OpenAI 없이)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. ./data 폴더에서 문서 로드 및 인덱싱
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. 지식 베이스에 대한 쿼리
query_engine = index.as_query_engine()
response = query_engine.query("이 문서는 무엇에 관한 것입니까?")
print(response)

내장 임베딩에 대한 중요한 뉘앙스: 기본적으로 VectorStoreIndex는 OpenAI 임베딩(text-embedding-ada-002)을 사용합니다. 이는 OpenAI에 대한 별도의 유료 호출이며 Gonka에 대한 호출이 아닙니다. OpenAI에서 완전히 벗어나려면 Settings.embed_model을 통해 로컬 임베딩 모델을 설정하십시오 (위 예제의 HuggingFaceEmbedding처럼, pip install llama-index-embeddings-huggingface 패키지). 그러면 생성은 Gonka를 통해 이루어지고 벡터화는 로컬에서 무료로 이루어집니다.

비용: 하나의 RAG 파이프라인 쿼리(검색 + 생성)는 약 2~5K LLM 토큰을 소비합니다. Gonka를 통하면 센트의 일부에 불과합니다. OpenAI/Anthropic을 통하면 3~4배 더 비쌉니다. 하루에 수천 개의 쿼리가 발생하는 상황에서는 이 차이가 한 달에 수만 달러의 절약으로 이어집니다.

RAG 워크로드 비용 비교

RAG 애플리케이션은 일회성 채팅이 아니라 지속적인 쿼리 흐름입니다. 사용자 질문은 LLM 토큰 2-5K(질문 자체와 발견된 컨텍스트 조각)를 끌어냅니다. 일반적인 볼륨과 다양한 공급자에서 발생하는 비용을 계산해 보겠습니다. JoinGonka Gateway를 통한 Gonka 가격: 입력 ~1M당 $0.0005, 출력 3배.

시나리오LLM 토큰OpenAI / AnthropicJoinGonka Gonka
지식 기반에 대한 한 가지 질문~4K$0.01 — $0.06~$0.000005
지원 챗봇 (하루 1K 요청)~4M/일하루 $10 — $60~$0.005/일
코퍼스 인덱싱 + Q&A (1M 단어)~5M$12 — $75~$0.006
프로덕션 서비스, 한 달 50K 요청~200M/월$500 — $3,000/월~$0.25/월

10M 무료 토큰으로 전체 RAG 파이프라인을 디버그하고 테스트 코퍼스를 인덱싱하며 수천 개의 쿼리를 실행할 수 있습니다. 한 푼도 들지 않습니다. 프로덕션 볼륨에서는 JoinGonka Gateway가 값비싼 RAG 서비스를 거의 모든 비용 항목에서 눈에 띄지 않게 만듭니다.

에이전트, 도구 호출 및 모델 선택

LlamaIndex는 문서에 응답하는 것뿐만 아니라 도구를 사용하는 에이전트를 구축할 수도 있습니다. 세 가지 Gonka 모델 모두 네이티브 도구 호출을 지원합니다. 에이전트는 텍스트 파싱 없이 구조화된 방식으로 함수를 호출합니다. 도구를 사용하는 에이전트의 예:

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-your-key",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=131072,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """두 숫자를 곱합니다."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="당신은 유용한 도우미입니다. 계산을 위해 도구를 사용하십시오.",
)

async def main():
    result = await agent.run("1234 곱하기 5678은 얼마입니까?")
    print(result)

asyncio.run(main())

모델 선택 (model 필드 및 해당 context_window / max_tokens 제한):

모델 (model)컨텍스트최대 출력언제 사용해야 하는가
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8128K8192기본값: RAG, 에이전트, 긴 답변
moonshotai/Kimi-K2.6128K3072강력한 추론 및 도구 호출
MiniMaxAI/MiniMax-M2.7128K4096에이전트 작업 대안

Gateway를 통한 max_tokens 제한은 Qwen3 모델의 경우 8192까지입니다. Kimi 및 MiniMax의 경우 각각 3072 및 4096을 지정하십시오. 스트리밍이 아닌 요청에 대해 max_tokens가 지정되지 않은 경우, Gateway는 기본적으로 최대 1500 토큰을 반환합니다. RAG 응답 및 에이전트 단계의 경우 값을 명시적으로 지정하십시오.

TypeScript: LlamaIndex.TS에는 미러 경로가 있습니다. @llamaindex/openai 패키지의 OpenAI 클래스는 baseURLapiKey를 허용합니다 (또는 OPENAI_BASE_URL / OPENAI_API_KEY 변수를 읽습니다). 따라서 동일한 Gateway가 Node.js 스택에서도 연결됩니다. Python 프레임워크에서도 AI 애플리케이션을 구축하는 경우 LangChain 가이드도 참조하십시오.

LlamaIndex + Gonka = 프로덕션 준비 RAG 및 에이전트가 단돈 몇 센트입니다. OpenAILike (is_chat_model=True)를 통한 연결, 네이티브 도구 호출, 로컬 임베딩 — OpenAI의 $2.50–15 대신 $0.0005/1M 입력입니다. 10M 무료 토큰은 전체 파이프라인을 디버그하기에 충분합니다.

더 자세히 알고 싶으세요?

다른 섹션을 탐색하거나 지금 GNK를 얻기 시작하세요.

1천만 무료 토큰 받기 →