Anthropix: Anthropic API를 위한 Elixir 클라이언트
요약
Anthropix는 Anthropic의 Claude 모델을 애플리케이션에 통합하기 위한 오픈 소스 Elixir 클라이언트입니다. 이 패키지는 API 호출, 도구 사용(Tool use), 메시지 배치 처리 등 다양한 기능을 지원하며, 스트리밍 요청 및 베타 기능 활용 방법까지 상세히 안내합니다.
핵심 포인트
- Elixir 언어 기반의 Anthropic Claude 전용 오픈 소스 클라이언트입니다.
- 도구 사용(Tool use)과 확장된 사고(Extended thinking) 같은 고급 기능을 지원합니다.
- 스트리밍 API 요청을 위한 `:stream` 옵션 및 다양한 메시지 처리 방식을 제공합니다.
- 베타 기능 활용 시 `init/2`를 통해 헤더 추가가 필요할 수 있습니다.
Anthropix는 Anthropic의 강력한 언어 모델인 Claude를 애플리케이션에 통합할 수 있는 간단하고 편리한 방법을 제공하는 오픈 소스 Elixir 클라이언트입니다.
- ✅ Anthropic API를 완벽하게 구현한 API 클라이언트
- 🧰 도구 사용 (Tool use, 함수 호출)
- 🧠 확장된 사고(Extended thinking)
- ⚡ 프롬프트 캐싱(Prompt caching)
- 📦 메시지 배치 처리(Message batching)
- 🛜 스트리밍 API 요청
- Enumerable로 스트림 전송
- 또는 모든 Elixir 프로세스로 메시지 스트림 전송
이 패키지는 mix.exs 파일의 의존성 목록에 anthropix를 추가하여 설치할 수 있습니다.
def deps do
[
{:anthropix, "~> 0.6"}
...
참고 사항 (Note)
Anthropic은 베타 플래그(beta flag) 하에 새로운 기능을 자주 출시하므로, 해당 기능을 활용하려면 요청에 헤더를 추가해야 합니다.
필요한 경우, init/2를 사용하여 베타 헤더를 추가할 수 있습니다.
client = Anthropix.init(beta: ["output-128k-2025-02-19"])
더 많은 예시는 Anthropix 문서를 참조하십시오.
Anthropix.init/2를 참조하세요.
client = Anthropix.init(api_key)
Anthropix.chat/2를 참조하세요.
messages = [
%{role: "user", content: "Why is the sky blue?"},
%{role: "assistant", content: "Due to rayleigh scattering."},
...
스트리밍 요청은 :stream 옵션을 설정하여 시작할 수 있습니다.
:stream이 true인 경우, 모든 Stream 함수에서 사용할 수 있는 지연(lazy) t:Enumerable.t/0가 반환됩니다.
{:ok, stream} = Anthropix.chat(client, [
model: "claude-3-opus-20240229",
messages: messages,
...
위 접근 방식은 receive를 호출하여 t:Enumerable.t/0를 구성하기 때문에, 이 방식을 GenServer 콜백 내부에서 사용하면 GenServer가 오작동(misbehave)할 수 있습니다. :stream 옵션을 t:pid/0로 설정하면 메시지를 지정된 프로세스로 전송하는 t:Task.t/0이 반환됩니다.
본 패키지는 오픈 소스이며 Apache-2 License 하에 배포되었습니다.
© Copyright 2024 Push Code Ltd.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기