liminfo

LLM Reference

대규모 언어 모델 API 레퍼런스

38개 결과

LLM Reference 소개

LLM Reference는 대규모 언어 모델 애플리케이션 개발에서 가장 중요한 API, 패턴, 기법을 코드 스니펫 형태로 검색 가능하게 정리한 레퍼런스입니다. OpenAI, Anthropic, 프롬프팅, 임베딩, 파인튜닝, RAG, 에이전트, 평가의 8개 카테고리로 구성되어 프로덕션 LLM 애플리케이션을 구축하는 AI 엔지니어의 실무 레퍼런스로 활용할 수 있습니다.

AI 엔지니어, 머신러닝 연구자, AI 서비스를 개발하는 백엔드 개발자들이 OpenAI/Anthropic 모델 통합, 프롬프트 전략 설계, RAG 파이프라인 구현, LangChain 에이전트 구축 시 이 레퍼런스를 활용합니다. OpenAI 섹션은 스트리밍 응답, 함수 호출(tools 스키마), JSON 모드 구조화 출력, Vision API 이미지 입력까지 chat completions API 전체를 다룹니다. Anthropic 섹션은 messages.create(), 스트리밍 컨텍스트 매니저, input_schema 기반 도구 사용, 시스템 프롬프트, Batches API를 포함합니다.

임베딩 섹션은 openai.embeddings.create()로 벡터 생성, NumPy 코사인 유사도 계산, sentence-transformers의 all-MiniLM-L6-v2, ChromaDB 저장, FAISS 인덱스 빠른 검색을 보여줍니다. RAG 섹션은 RecursiveCharacterTextSplitter 청킹, LangChain RetrievalQA, BM25+벡터 하이브리드 검색까지 전체 파이프라인을 다룹니다. 에이전트 섹션은 ReAct 패턴, @tool 데코레이터, 플래너/실행자/검토자 역할의 멀티 에이전트 아키텍처를 설명합니다.

주요 기능

  • OpenAI API: chat.completions.create, 스트리밍 청크, 함수 호출 tools 스키마, JSON 모드, Vision image_url
  • Anthropic API: messages.create, 스트리밍 컨텍스트 매니저, tool use input_schema, 시스템 프롬프트, Batches API
  • 프롬프트 엔지니어링: 제로샷, 퓨샷 예제, 사고의 연쇄(CoT), 역할 부여, 구조화 출력 요청
  • 임베딩: openai text-embedding-3-small, NumPy 코사인 유사도, sentence-transformers, ChromaDB, FAISS 인덱스
  • 파인튜닝: OpenAI JSONL 포맷, LoRA PEFT, trl SFT Trainer, DPO 학습
  • RAG: RecursiveCharacterTextSplitter 청킹, LangChain RetrievalQA, BM25+벡터 하이브리드 검색
  • 에이전트: ReAct 사고/행동/관찰 루프, LangChain create_tool_calling_agent, @tool 데코레이터, 멀티 에이전트
  • 평가: LLM-as-Judge 프롬프트, BLEU/ROUGE 메트릭, 인간 평가 프레임워크, A/B 테스트, MMLU/HumanEval 벤치마크

자주 묻는 질문

LLM Reference에서 다루는 내용은 무엇인가요?

LLM 개발의 8개 실용 영역을 다룹니다. OpenAI Chat Completions API(스트리밍, 함수 호출, Vision), Anthropic Claude Messages API(도구 사용, 배치), 프롬프트 엔지니어링 기법, 벡터 임베딩 및 유사도 검색, 파인튜닝 워크플로(OpenAI, LoRA, SFT, DPO), RAG 파이프라인, LangChain 에이전트 패턴, 모델 평가 프레임워크가 포함됩니다.

OpenAI API에서 스트리밍 응답을 활성화하려면?

client.chat.completions.create()에 stream=True를 전달합니다. 반환된 스트림 이터레이터를 순회하며 chunk.choices[0].delta.content를 확인하세요. None이 아닌 값이 텍스트 조각입니다. end=""로 출력하면 응답이 도착하는 즉시 점진적으로 표시됩니다.

OpenAI 함수 호출과 Anthropic 도구 사용의 차이는?

두 방식 모두 모델이 외부 함수 호출을 요청하는 기능입니다. OpenAI는 type: "function"과 function 정의(name, parameters JSON 스키마)를 포함한 tools 목록을 전달합니다. Anthropic은 name과 input_schema 필드를 포함한 tools 목록을 사용합니다. 모델이 도구를 호출하기로 결정하면 텍스트 대신 tool_use 블록으로 응답합니다.

RAG란 무엇이고 언제 사용해야 하나요?

RAG(검색 증강 생성)는 자체 문서에 대한 벡터 검색과 LLM을 결합해 특정 데이터에 기반한 답변을 생성합니다. 모델의 학습 데이터에 없는 비공개, 최신, 또는 도메인 특화 지식을 참조해야 할 때 사용합니다. 기본 파이프라인: 문서 청크 분할 → 임베딩 생성 → 벡터 DB 저장 → 쿼리 시 유사 청크 검색 → LLM 프롬프트에 포함.

LoRA 파인튜닝이란 무엇이고 전체 파인튜닝과 어떻게 다른가요?

LoRA(저랭크 적응)는 모든 파라미터를 업데이트하는 대신 모델 가중치 레이어에 작은 훈련 가능한 행렬을 추가합니다. 전체 파인튜닝 대비 GPU 메모리를 10~100배 절약하면서 비슷한 성능을 달성합니다. peft 라이브러리의 LoraConfig(r=8, lora_alpha=32)로 기반 모델에 LoRA를 적용합니다.

사고의 연쇄(Chain-of-Thought) 프롬프팅이란?

모델이 최종 답변 전에 단계별로 추론하도록 유도하는 기법입니다. 프롬프트에 "단계별로 생각해보세요:" 또는 "Let's think step by step:"을 추가하면 수학 문제, 논리 추론 등 다단계 작업의 정확도가 크게 향상됩니다. 중간 추론 토큰 생성이 최종 답변을 유도하기 때문에 효과가 있습니다.

LLM-as-Judge 평가는 어떻게 사용하나요?

LLM-as-Judge는 GPT-4나 Claude 같은 강력한 모델로 다른 모델의 출력을 정확성, 유용성, 안전성 등 기준으로 점수화합니다. 질문, 모델 응답, 채점 기준표를 포함한 평가 프롬프트를 작성하고 판사 모델이 점수를 출력하게 합니다. 인간 평가보다 확장성이 높고 BLEU 같은 자동 메트릭보다 세밀합니다.

LLM 평가에 자주 사용되는 벤치마크는 무엇인가요?

MMLU는 57개 분야의 광범위한 지식을 테스트합니다. HumanEval은 Python 프로그래밍 문제로 코드 생성 품질을 측정합니다. HellaSwag는 일상 상황에 대한 상식 추론을 테스트합니다. TruthfulQA는 모델이 거짓 진술을 얼마나 잘 피하는지 측정합니다. 이 벤치마크들은 대부분의 LLM 연구 논문과 모델 카드에서 참조됩니다.