OpenAI-Ruby Client 소개
OpenAI의 공식 Ruby 클라이언트인 openai-ruby가 GitHub에 공개되었습니다. 이제 Ruby 3.1 이상을 사용하는 개발자들도 ChatGPT, GPT-4, DALL·E, Whisper 등 다양한 OpenAI API를 간편하게 활용할 수 있게 되었는데요. Ruby on Rails 기반의 웹 애플리케이션이나 백엔드 서비스에서 AI 기능을 통합하고자 한다면, 이 라이브러리를 유용하게 사용할 수 있을 것으로 보입니다.
openai-ruby는 OpenAI에서 공식적으로 제공하는 Ruby용 API 클라이언트입니다. Ruby 3.1 이상을 지원하며, OpenAI의 REST API를 손쉽게 호출할 수 있도록 도와줍니다. 이 라이브러리는 Sorbet 타입 정의를 포함하고 있어 정적 타입 검사를 지원하며, 다양한 OpenAI 기능을 Ruby 환경에서 활용할 수 있게 해줍니다.
Ruby에서 OpenAI API를 사용하기 위한 비공식 라이브러리로는 ruby-openai가 있습니다. 이 라이브러리는 다양한 기능을 제공하지만, 공식 지원이 아니기 때문에 최신 API 변경 사항이 반영되지 않을 수 있습니다. 반면, openai-ruby는 OpenAI에서 직접 관리하는 공식 라이브러리로, 최신 API 기능과 변경 사항이 신속하게 반영됩니다.
OpenAI-Ruby의 주요 기능
- OpenAI API 지원: ChatGPT, GPT-4, DALL·E, Whisper 등 다양한 OpenAI API를 지원합니다.
- Sorbet 타입 정의: Sorbet을 활용한 정적 타입 검사를 지원하여 코드의 안정성을 높입니다.
- 스트리밍 응답 처리: Server-Sent Events(SSE)를 이용한 스트리밍 응답을 처리할 수 있습니다.
- 자동 페이지네이션: API의 리스트 응답에 대해 자동으로 페이지네이션을 처리합니다.
- 환경 변수 지원: API 키를 환경 변수로 설정하여 보안을 강화할 수 있습니다.
사용 방법
설치
현재 이 gem은 rubygems.org에 등록되어 있지 않으므로, GitHub에서 직접 설치해야 합니다. Gemfile에 다음과 같이 추가하세요:
gem "openai", github: "openai/openai-ruby", branch: "main"
그런 다음, 번들 설치를 실행합니다:
bundle install
초기화 및 사용 예시
require "openai"
client = OpenAI::Client.new(
api_key: ENV.fetch("OPENAI_API_KEY")
)
response = client.chat.completions.create(
messages: [{ role: :user, content: "이것은 테스트입니다." }],
model: "gpt-4"
)
puts response
이 예시는 ChatGPT 모델을 사용하여 간단한 채팅 응답을 생성하는 방법을 보여줍니다. Sorbet 타입 정의를 활용하면 더 강력한 타입 검사를 수행할 수 있습니다.
라이선스
OpenAI-Ruby 프로젝트는 Apache-2.0 License로 공개되어 있습니다. 상업적 이용을 포함하여 자유롭게 사용할 수 있지만, 라이선스 조건을 준수해야 합니다.
OpenAI-Ruby GitHub 저장소
OpenAI-Ruby 공식 문서
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~