Repolode
deepseek-ai

deepseek-ai/deepseek-recipe

LLM API 형식을 DeepSeek 대화로 변환하고 프롬프트를 렌더링하는 Rust 라이브러리와 Python 바인딩입니다.

대체할 수 있는 제품:DeepSeek-V4-ProDeepSeek-V4.1-Flash

스타
1,254
포크
116
열린 이슈
29
마지막 커밋
어제

어떤 프로젝트인가요?

deepseek-recipe는 서로 다른 프로토콜을 사용하는 API 클라이언트와 추론 백엔드 사이에 공통 계층을 제공하는 Rust 크레이트 모음이며, Python 바인딩도 제공합니다. 이 라이브러리는 프로토콜 연결에 집중합니다. Messages, Chat Completions 또는 Responses 형식의 요청을 받아 Conversation으로 변환하고, 해당 대화를 프롬프트(또는 토큰 ID)로 렌더링해 DeepSeek 모델에 전달한 뒤, 모델 출력을 클라이언트가 요청한 형식의 응답으로 다시 파싱합니다.

복잡한 작업은 의도적으로 호출자에게 맡깁니다. 모델 추론, 도구 실행, HTTP 전송은 모두 외부에서 제공해야 하며, 크레이트는 변환, 렌더링, 파싱만 처리합니다. 텍스트와 이미지, thinking mode, 클라이언트 측 도구 호출, Chat Completions의 `prefix` 이어쓰기, 스트리밍 응답, `json_schema` 또는 `regex`를 통한 구조화 출력, log probability 전달을 지원합니다. 이미지 처리는 base64와 외부 URL을 지원하며, DeepSeek V4.1의 경우 OpenCV로 전처리하고 신뢰할 수 없는 URL을 가져오는 서비스에는 `DestinationFilter` 옵션을 제공합니다. 토크나이저로 인코딩된 프롬프트를 사용해 추론 토큰을 세고 모델의 컨텍스트 한도에 맞춰 `max_tokens`를 조정할 수도 있습니다.

Rust와 Python 모두 주요 사용 환경으로 지원됩니다. Rust 예제에서는 serde로 Chat Completions 요청을 읽고 V4.1 프롬프트를 렌더링하며, Python 패키지 `deepseek_recipe`(Python 3.10+)도 같은 작업을 수행합니다. 브라우저 데모에서는 프롬프트를 렌더링하고 특수 토큰을 강조 표시하며, 모델 출력을 Chat Completions, Responses 또는 Messages 응답으로 파싱할 수 있습니다.

핵심 기능

  • 01Messages, Chat Completions, Responses 요청을 공통 Conversation 형식으로 변환하고, 모델 출력을 세 형식 중 하나로 다시 파싱합니다.
  • 02DeepSeek V4 및 V4.1 대화를 프롬프트로 렌더링하거나, 토크나이저를 연결해 토큰 ID로 인코딩합니다.
  • 03스트리밍 응답, thinking mode, 클라이언트 측 도구 호출, Chat Completions의 `prefix` 이어쓰기를 지원합니다.
  • 04Chat Completions의 `response_format`(`json_schema` 또는 `regex`) 및 Responses의 `text.format`(`json_schema`)을 통한 구조화 출력을 지원합니다.
  • 05base64 또는 외부 URL로 이미지를 전달할 수 있으며, V4.1에서는 OpenCV로 이미지를 전처리합니다.
  • 06`max_tokens`를 컨텍스트 한도에 맞춰 조정합니다. 기본값은 thinking mode가 아닐 때 8192, thinking mode일 때 65536, 추론 강도가 `max`일 때 131072입니다.
  • 07`logprobs`와 `top_logprobs`를 `InferenceOptions`로 변환하되, 확률 계산은 백엔드에 맡깁니다.
  • 08Python 바인딩(`deepseek_recipe`), Axum 예제 서버, FastAPI 예제 서버, 브라우저 데모를 제공합니다.

활용 사례

  • 자체 호스팅 DeepSeek 추론 백엔드를 래핑해 Messages, Chat Completions, Responses 클라이언트를 지원합니다.
  • 각 프로토콜을 따로 다시 구현하지 않고 기존 모델 엔드포인트에 스트리밍, 도구 호출 또는 구조화된 JSON 출력을 추가합니다.
  • 대화를 정확한 모델 프롬프트로 렌더링해 학습 또는 평가 데이터를 준비합니다.
  • 프롬프트와 추론 출력의 토큰 수를 세거나 `max_tokens`가 모델의 컨텍스트 한도에 맞는지 확인합니다.
  • 포함된 브라우저 데모로 프롬프트 형식과 출력 파싱을 디버깅합니다.

빠른 시작

  1. 1

    Python 패키지를 설치합니다

    python3 -m pip install deepseek-recipe
  2. 2

    Chat Completions 요청을 변환하고 README의 예제 코드로 프롬프트를 렌더링합니다

사용 전 알아둘 점

  • 이 라이브러리는 모델 추론, 도구 실행 또는 HTTP 전송을 수행하지 않습니다. 호출자가 이를 제공해야 합니다.
  • DeepSeek V4는 이미지를 지원하지 않으므로 이미지 콘텐츠는 텍스트 자리표시자로 대체됩니다.
  • Rust 예제에서 이미지 종속성을 사용하려면 소스 빌드가 필요합니다. 이에 관한 내용은 README의 별도 개발 가이드에 설명되어 있습니다.

토픽

자주 묻는 질문

deepseek-recipe은(는) 무엇인가요?
LLM API 형식을 DeepSeek 대화로 변환하고 프롬프트를 렌더링하는 Rust 라이브러리와 Python 바인딩입니다. deepseek-recipe는 서로 다른 프로토콜을 사용하는 API 클라이언트와 추론 백엔드 사이에 공통 계층을 제공하는 Rust 크레이트 모음이며, Python 바인딩도 제공합니다. 이 라이브러리는 프로토콜 연결에 집중합니다. Messages, Chat Completions 또는 Responses 형식의 요청을 받아 Conversation으로 변환하고, 해당 대화를 프롬프트(또는 토큰 ID)로 렌더링해 DeepSeek 모델에 전달한 뒤, 모델 출력을 클라이언트가 요청한 형식의 응답으로 다시 파싱합니다.
deepseek-recipe은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
deepseek-recipe은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
deepseek-recipe은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. deepseek-recipe의 마지막 커밋은 2026년 10월 19일입니다.
deepseek-recipe은(는) 어디에 사용할 수 있나요?
자체 호스팅 DeepSeek 추론 백엔드를 래핑해 Messages, Chat Completions, Responses 클라이언트를 지원합니다. 각 프로토콜을 따로 다시 구현하지 않고 기존 모델 엔드포인트에 스트리밍, 도구 호출 또는 구조화된 JSON 출력을 추가합니다. 대화를 정확한 모델 프롬프트로 렌더링해 학습 또는 평가 데이터를 준비합니다. 프롬프트와 추론 출력의 토큰 수를 세거나 `max_tokens`가 모델의 컨텍스트 한도에 맞는지 확인합니다. 포함된 브라우저 데모로 프롬프트 형식과 출력 파싱을 디버깅합니다.
deepseek-recipe는 어떻게 설치하나요?
Python 패키지를 설치합니다: python3 -m pip install deepseek-recipe Chat Completions 요청을 변환하고 README의 예제 코드로 프롬프트를 렌더링합니다
deepseek-recipe은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/deepseek-ai/deepseek-recipe

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트