본문 바로가기
C.W.K.
Stream
Lesson 07 of 07 · published

MLX 주변 도구 — LangChain, LlamaIndex와 친구들

~10 min · langchain, llamaindex, tooling

Level 0호기심
0 XP0/51 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

MLX는 엔진이고 다른 도구는 차체야

MLX 모델은 LangChain, LlamaIndex, mlx-lm 서버를 통한 OpenAI SDK와 여러 개발 도구에 연결돼. 통합은 보통 기존 모델 추상화를 로컬 서버나 mlx_lm.load에 잇는 얇은 어댑터야.

"MLX와 함께 쓸 수 있나?"의 답은 거의 늘 ‘그렇다’야. 더 좋은 질문은 통합이 작업에 값을 주는지야. RAG, 에이전트 반복문, 채팅 기록을 직접 만들지 않게 해준다면 유용하고, 단순 생성 하나라면 mlx_lm.generate가 더 솔직하고 디버깅하기 쉬워.

주요 통합

  • OpenAI SDK — Python, JS, Cursor, Continue, Aider를 로컬 mlx-lm 서버로 돌려. 이미 OpenAI를 아는 도구에 가장 쉬운 길이야.
  • LangChainChatMLX로 체인, 에이전트, RAG에 넣어. 이미 LangChain을 쓴다면 유용하지만 MLX 하나 때문에 도입할 필요는 없어.
  • LlamaIndex — mlx-lm을 포함한 로컬 LLM 제공자가 있어. 기존 코드베이스에는 좋고 일회성에는 지나쳐.
  • Ollama — 2026-03의 v0.19부터 MLX 위에서 동작하고, 2026-05의 v0.30부터는 기본 경로야. Python 없이 모델만 돌리는 가장 부드러운 길이야.
  • LM Studio — 코드 없이 mlx-lm 모델을 돌리는 데스크톱 GUI야. 비개발자와 시각적 디버깅에 좋아.

학습 쪽 통합은 아직 얇아

2026-05에는 DeepSpeed, Accelerate, 학습 클러스터 관리에 해당하는 MLX 도구가 거의 없어. Mac 한 대의 배포는 강하지만 여러 기계 학습은 아직 성숙하지 않았어. prod.lesson6의 JACCL이 활발한 연구 영역이지만 PyTorch 분산 학습 도구를 그대로 대신하지는 못해.

문제가 생기면 포장을 벗겨

MLX 모델의 핵심은 늘 load + generate야. 프레임워크는 자기 추상화와 MLX 사이를 번역할 뿐이야. 통합이 깨지면 먼저 포장을 건너뛰고 mlx-lm을 직접 호출해. 버그는 MLX보다 포장 계층에 있을 때가 많아.

Code

LangChain 통한 MLX (전형 패턴)·python
# Requires `pip install langchain langchain-community`
from langchain_community.llms.mlx_pipeline import MLXPipeline
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

llm = MLXPipeline.from_model_id(
    model_id="mlx-community/Llama-3.2-1B-Instruct-4bit",
    pipeline_kwargs={"max_tokens": 100, "temp": 0.7},
)

prompt = PromptTemplate(
    input_variables=["topic"],
    template="Write a one-sentence joke about {topic}.",
)

chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run("MLX"))
Python 없이 Ollama로 MLX 쓰기·bash
# Install Ollama on Mac (https://ollama.com)
brew install ollama

# Pull and run a model — Ollama handles the MLX backend transparently
ollama pull llama3.2
ollama run llama3.2

# Or via API:
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "prompt": "Hello"}'

External links

Exercise

LangChain, LlamaIndex, Ollama 가운데 실제로 쓸 하나를 MLX 모델에 연결해 프롬프트를 실행해. 같은 프롬프트를 mlx_lm.generate로 직접 돌려 결과와 샘플링 기본값을 비교해. 통합이 작업에 값을 줬는지 두 문장으로 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.