jeremychone/rust-genai

Rust multiprovider generative AI client (Ollama, OpenAi, Anthropic, Gemini, DeepSeek, xAI/Grok, Groq,Cohere, ...)

무엇을 해결하는가

genai는 각 서비스의 공식 SDK를 요구하지 않고도 여러 AI 제공업체(OpenAI, Anthropic, Gemini, Ollama 등)에 액세스할 수 있는 단일하고 인체공학적인 API를 제공하는 Rust 라이브러리입니다. 이는 다양한 제공업체에 걸쳐 채팅 완성(chat completions), 비전(vision), 함수 호출(function calling)을 표준화하는 동시에, 개발자가 더 나은 기능 지원을 위해 네이티브 프로토콜을 사용할 수 있도록 합니다.

어떻게 작동하는가

이 라이브러리는 어댑터 기반 아키텍처를 사용하여 공통 Rust API를 다양한 AI 제공업체의 특정 프로토콜에 매핑합니다. 모델 이름(예: gpt-는 OpenAI, cla-는 Anthropic)을 기반으로 사용할 제공업체를 자동으로 결정하거나, 네임스페이스 구문을 사용하여 개발자가 특정 어댑터를 강제할 수 있습니다(예: groq::model-name). 사용 가능한 경우 네이티브 프로토콜을 지원하며, 그렇지 않은 경우 OpenAI 호환 API로 대체됩니다.

대상 사용자

여러 개의 서로 다른 SDK를 관리하거나 특정 제공업체의 API에 종속되지 않고, 자신의 애플리케이션에 여러 LLM 제공업체를 통합하고자 하는 Rust 개발자.

주요 특징

  • 광범위한 제공업체 지원: Ollama를 통한 로컬 실행을 포함하여 26개 이상의 제공업체를 즉시 지원합니다.
  • 네이티브 프로토콜 구현: 추론 제어 및 스트리밍 메타데이터와 같은 기능을 더 잘 지원하기 위해 SDK 대신 네이티브 프로토콜을 사용합니다.
  • 유연한 모델 결정: 자동 모델-어댑터 매핑 및 특정 엔드포인트와 인증을 위한 사용자 정의 대상 리졸버를 지원합니다.
  • 멀티모달 기능: OpenAI, Gemini, Anthropic와 같은 제공업체를 위한 이미지 분석 지원을 포함합니다.
  • 고급 제어: OpenAI 및 Anthropic를 위한 제공업체 중립적인 도구 선택 힌트 및 프롬프트 캐시 제어 기능을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트