tidyverse/ellmer

Call LLM APIs from R

해결하는 문제

ellmer은 R 프로그래밍 언어에 대규모 언어 모델(LLM)을 통합하기 위한 통합적이고 사용하기 쉬운 인터페이스를 제공합니다. 다양한 API 제공자와 인증 방식을 관리하는 복잡성을 제거하여, R 사용자가 클라우드 제공자 모델이나 로컬 LLM 간에 코드를 다시 작성하지 않고도 쉽게 전환할 수 있도록 합니다.

작동 방식

이 패키지는 상태를 유지하는 R6 객체를 사용하여 대화를 관리합니다. 사용자는 chat_openai() 또는 chat_ollama()와 같은 제공자별 함수를 사용하여 채팅 객체를 생성하며, 이는 여러 쿼리에 걸쳐 대화 기록(컨텍스트)을 유지합니다. 다양한 상호작용 모드를 지원합니다: 직접적인 통신을 위한 인터랙티브 채팅 콘솔, 스크립트 기반 상호작용을 위한 프로그래밍 방식의 메서드 호출, 그리고 content_image_file()content_image_url()을 통해 이미지와 같은 멀티모달 입력을 지원합니다.

대상 사용자

R 사용자, 데이터 과학자, 연구자 중 R 환경 내에서 LLM을 데이터 분석, 코드 생성, 애플리케이션 개발에 활용하고자 하는 분들입니다.

주요 특징

  • 광범위한 제공자 지원: 공식 제공자(Anthropic, OpenAI, Google, AWS Bedrock, Azure OpenAI, Databricks, Snowflake) 및 커뮤니티 지원 제공자(Groq, Mistral, Hugging Face 등)를 지원합니다.
  • 유연한 상호작용: 실시간 인터랙티브 콘솔과 프로그래밍 접근 방식을 모두 제공합니다.
  • 고급 LLM 기능: 스트리밍 출력, 도구/함수 호출, 구조화된 데이터 추출을 구현합니다.
  • 무결성 인증: 주요 클라우드 제공자의 OAuth 또는 IAM 기반 자격 증명을 자동으로 감지합니다.
  • 로컬 LLM 통합: Ollama와 통합하여 데이터 프라이버시를 보장하고 비용 없이 로컬에서 모델을 실행할 수 있습니다.

관련

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