검색
검색
공개 노트 검색
회원가입로그인

Claude 다큐먼트 한글 번역

Claude 소개

Claude 다큐먼트 한글 번역 image 1

Claude는 Anthropic에서 개발한 대규모 언어 모델 제품군으로, 사용자와 AI의 상호작용 방식을 혁신하기 위해 설계되었습니다. Claude는 언어, 추론, 분석, 코딩 등 다양한 작업을 훌륭하게 수행합니다. 저희 모델은 사용하기 쉽고 사용자의 요구에 맞게 커스터마이징할 수 있으며 고성능을 자랑합니다.

이 문서는 AI 초보자든 고급 애플리케이션을 구축하려는 숙련된 개발자든 관계없이 Claude를 최대한 활용할 수 있도록 도와줍니다. 상세한 설명, 유용한 예제, 모범 사례 및 추가 리소스에 대한 링크를 제공합니다.

즉각적인 영감을 얻고 싶다면 프롬프트 라이브러리를 방문해보세요!


API 레퍼런스

API 엔드포인트, 요청/응답 형식, 파라미터 등에 대한 모든 세부 정보는 API 레퍼런스 페이지에서 확인할 수 있습니다.


Claude 모델 소개

Claude 3 Haiku, Sonnet, Opus는 차세대 Claude 모델입니다. 이들은 이미지와 텍스트 입력을 모두 기반으로 사람과 유사한 텍스트 출력을 생성할 수 있는 최첨단 텍스트 및 비전 모델입니다. 강력한 시각 기능을 통해 컴퓨터 비전과 이미지 이해 애플리케이션에 흥미로운 가능성을 열어줍니다. 가장 강력한 모델인 Opus는 다양한 작업에서 비할 데 없는 지능, 추론 및 창의력을 제공하는 반면, Haiku는 매우 높은 속도와 낮은 비용으로 충분한 성능을 제공합니다. Sonnet은 두 모델의 중간 수준의 균형을 제공합니다.


시작하기

빠른 시작 가이드를 통해 바로 시작하여 몇 분 만에 첫 번째 API 호출을 해보세요. 또는 프롬프트 라이브러리프롬프팅 소개 가이드를 참조하여 프롬프팅에 대해 자세히 알아보세요.

프롬프트 엔지니어링

Claude를 최대한 활용하기 위해 효과적인 프롬프트를 설계하는 모범 사례와 전략을 프롬프트 엔지니어링 가이드에서 배워보세요.

Anthropic 쿡북

코드 및 흥미로운 사용 사례의 적용 예제와 함께 프롬프팅을 더 잘 배우고 싶다면, 대신 Anthropic 쿡북을 방문해보세요. 복사 가능한 코드를 통해 PDF 업로드, 도구 사용 및 함수 호출, 임베딩 등 더 고급 시나리오에서 Claude를 효과적으로 사용하는 방법을 시연합니다.

개발자 콘솔claude.ai 챗봇을 통해 브라우저에서 바로 프롬프트를 실험해볼 수 있습니다.


주요 기능

저희 모델은 다음과 같은 다양한 작업을 도와드릴 수 있습니다:

  • 콘텐츠 생성

  • 이미지 해석

  • 요약

  • 분류

  • 번역

  • 감정 분석

  • 코드 설명 및 생성

  • 질문 답변

  • 창의적 글쓰기

  • 해석

  • 기타 다양한 작업

사용 사례 및 기능 가이드에서 이러한 기능을 더 자세히 살펴보세요.

Claude와 빠르게 시작하기

Claude와 채팅만 하고 싶다면 claude.ai를 방문하세요!

API에 대해 자세히 알고 싶다면 API 레퍼런스 문서로 이동하세요.

이 가이드에서는 환경 설정, 필요한 라이브러리 설치, Claude에 첫 번째 API 요청 전송 과정을 안내합니다. 시작해 봅시다!

이 가이드에서는 Python SDK를 사용하지만, TypeScript SDK도 제공하며 직접적인 HTTP 통합도 지원합니다. 자세한 내용은 클라이언트 SDKAPI 레퍼런스 문서를 참조하세요.


사전 준비사항

시작하기 전에 다음 사항을 준비해야 합니다:

1단계: 환경 설정

환경 설정 없이 바로 시작하려면 quickstart Google Colab 노트북 사본을 만드세요!

먼저 Python이 설치되어 있는지 확인합니다. 터미널(macOS) 또는 명령 프롬프트(Windows)를 열고 다음을 입력합니다:

python --version

"Python 3.12.2"와 같은 버전 번호가 표시되면 준비가 된 것입니다. 그렇지 않은 경우 공식 Python 웹사이트를 방문하여 최신 버전을 다운로드하세요.

(선택사항) 가상 환경 만들기

필수는 아니지만 Claude 프로젝트에 가상 환경을 만드는 것이 좋습니다. 이렇게 하면 종속성을 정리하고 다른 프로젝트와의 충돌을 방지할 수 있습니다. 가상 환경을 만들려면 다음을 실행합니다:

python -m venv claude-env

그런 다음 활성화합니다:

  • macOS 또는 Linux: source claude-env/bin/activate

  • Windows: claude-envScriptsactivate

2단계: Anthropic Python SDK 설치

환경 설정이 완료되면 Claude Python 라이브러리를 설치할 차례입니다. 다음을 실행하세요:

pip install anthropic

이 명령은 필요한 모든 종속성과 함께 라이브러리의 최신 버전을 설치합니다.

3단계: (선택사항) API 키 설정

Claude를 사용하려면 API 키를 제공해야 합니다. 환경 변수를 설정하여 모든 Claude 프로젝트에서 API 키를 사용할 수 있습니다. 방법은 다음과 같습니다:

  • macOS 또는 Linux:

    1. 터미널을 열고 nano ~/.bash_profile(또는 최신 macOS 버전을 사용하는 경우 nano ~/.zshrc)을 입력합니다.

    2. your-api-key-here를 실제 API 키로 바꾸어 파일에 이 줄을 추가합니다: export ANTHROPIC_API_KEY='your-api-key-here'

    3. 파일을 저장하고 편집기를 종료합니다(Ctrl+O 누른 다음 Enter 누른 다음 Ctrl+X 누름).

    4. source ~/.bash_profile(또는 source ~/.zshrc)을 실행하여 업데이트된 프로필을 로드합니다.

  • Windows:

    1. 명령 프롬프트를 열고 your-api-key-here를 실제 API 키로 바꾸어 setx ANTHROPIC_API_KEY "your-api-key-here"를 입력합니다.

    2. 이 변경 사항을 영구적으로 만들려면 다음 단계를 따르세요:

      • '내 PC' 또는 '내 컴퓨터'를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택합니다.

      • '고급 시스템 설정'을 클릭합니다.

      • '환경 변수' 버튼을 클릭합니다.

      • '시스템 변수' 섹션에서 '새로 만들기...'를 클릭하고 변수 이름으로 ANTHROPIC_API_KEY를, 변수 값으로 API 키를 입력합니다.

4단계: 첫 번째 API 요청 보내기

거의 다 왔습니다! 이제 Claude에 첫 번째 API 요청을 보내 봅시다. 새 Python 파일(예: claude_test.py)을 만들고 다음 코드를 추가합니다:

import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    temperature=0.0,
    system="Respond only in Yoda-speak.",
    messages=[
        {"role": "user", "content": "How are you today?"}
    ]
)

print(message.content)

여기서 무슨 일이 일어나는지 살펴보겠습니다:

  • anthropic 라이브러리를 가져옵니다. 이 라이브러리는 Claude API와 상호 작용하는 편리한 방법을 제공합니다.

  • Anthropic 클라이언트의 인스턴스를 만들고 API 키를 전달합니다(환경 변수를 설정한 경우 생략 가능).

  • messages.create() 메서드를 호출하여 Claude에 메시지를 보냅니다. 사용할 모델(claude-3-opus-20240229), 응답의 최대 토큰 수(max_tokens=1000), 온도(출력의 무작위성을 제어하며 temperature=0.0은 최소 무작위성을 의미함) 및 시스템 메시지(대화의 컨텍스트 설정)를 지정합니다.

  • 마지막으로 Claude의 응답을 출력합니다.

코드를 실행하려면 터미널이나 명령 프롬프트에서 python claude_test.py를 입력하기만 하면 됩니다. Claude의 격언 같은 응답이 표시될 것입니다!

더 많은 예제 API 호출 구조는 Messages API 예제를 참조하세요. API 매개변수에 대한 자세한 내용은 Messages API 레퍼런스를 참조하세요.


다음 단계

Claude에 첫 번째 API 요청을 성공적으로 보냈습니다! 여정을 계속하기 위한 몇 가지 다음 단계가 있습니다.

API 리소스

사용 가능한 엔드포인트와 매개변수에 대한 자세한 내용은 API 문서를 참조하세요.

클라이언트 SDK를 확인하여 Claude를 더 쉽게 구축하고 애플리케이션에 통합할 수 있는 도구 세트를 살펴보세요.

Anthropic 쿡북

Anthropic 쿡북에는 Jupyter 노트북 형식의 레시피 모음이 있습니다. 이 노트북에는 PDF 업로드, 도구 사용 및 함수 호출, 임베딩 등 더 고급 시나리오에서 Claude를 효과적으로 사용하는 방법을 보여주는 복사 가능한 코드가 있습니다.

기타 리소스

  • 사용 사례를 Claude로 전환하는 방법을 알아보려면 마이그레이션 가이드를 참조하세요.

  • AI, LLM, Claude 생태계에서 사용되는 용어에 익숙해지려면 용어 사전을 탐색해 보세요.

  • 개발자 Discord 서버에 가입하여 다른 개발자와 소통하고, 질문을 하고, 프로젝트를 공유하세요.

  • 다양한 작업에 대한 영감과 즉시 사용 가능한 프롬프트를 얻으려면 프롬프트 라이브러리를 방문하거나, 프롬프팅 소개를 확인하여 프롬프트 엔지니어링에 발을 담가보세요.

Claude 모델 소개

Claude는 Anthropic에서 개발한 최첨단 대규모 언어 모델 제품군입니다. 저희 모델은 AI와 상호 작용할 때 최상의 경험을 제공하도록 설계되었으며, 다양한 기능과 성능 수준을 제공하여 고성능의 안전하고 조정 가능한 모델을 쉽게 배포할 수 있습니다. 이 가이드에서는 최신 모델인 Claude 3 제품군과 이전 모델에 대해 소개하겠습니다.


Claude 3: 차세대 AI

Claude 3 제품군은 타의 추종을 불허하는 성능, 다재다능함, 사용 편의성을 제공하는 최첨단 AI 기술을 대표합니다. 이 모델은 개방형 대화, 아이디어 협업, 코딩 작업, 텍스트 작업(검색, 작성, 편집, 번역, 개요 작성, 요약)에 탁월합니다. 또한 차트, 그래프, 사진과 같은 시각적 입력을 처리하고 분석할 수 있는 고급 비전 기능도 제공합니다.

Claude 3 제품군 소개

  • Claude 3 Opus: 가장 강력한 모델로, 매우 복잡한 작업에서 최첨단 성능을 발휘하며 유창함과 인간과 유사한 이해력을 보여줍니다.

  • Claude 3 Sonnet: 지능과 속도 사이의 가장 균형 잡힌 모델로, 엔터프라이즈 워크로드와 확장된 AI 배포에 적합합니다.

  • Claude 3 Haiku: 가장 빠르고 콤팩트한 모델로, 즉각적인 응답성과 인간의 상호 작용을 모방하는 원활한 AI 경험을 제공하도록 설계되었습니다.

주요 기능

  • 다국어 지원: Claude 3 모델은 스페인어와 일본어 같은 영어 이외의 언어에서 향상된 유창함을 제공하여 번역 서비스 및 글로벌 콘텐츠 제작과 같은 사용 사례를 가능하게 합니다.

  • 비전 및 이미지 처리: 모든 Claude 3 모델은 문서에서 인사이트를 추출하고, 웹 UI를 처리하고, 이미지 카탈로그 메타데이터를 생성하는 등 시각적 입력을 처리하고 분석할 수 있습니다. 자세한 내용은 비전 페이지를 참조하세요.

  • 조정성 및 사용 편의성: Claude 3 모델은 더 쉽게 조정할 수 있고 지침을 더 잘 따릅니다. 이를 통해 모델 동작을 더 많이 제어하고 더 예측 가능하고 고품질의 출력을 얻을 수 있습니다.

  • 모델 업그레이드: Claude 3 제품군은 성능 향상, 기능 확장, 문제 해결을 위해 주기적으로 업데이트를 받습니다. 하지만 각 업데이트는 새로운 모델 버전에 고정되므로, 새 버전이 출시되어도 기존 모델 버전의 워크플로는 중단되지 않습니다. 새 모델 버전이 출시되면 개발자가 애플리케이션을 업데이트할 수 있도록 전환 기간을 제공할 것입니다.


이전 모델

Claude 3 제품군이 저희 AI 기술의 미래를 대표하지만, 일부 사용자는 이전 모델에서 전환하는 데 시간이 필요할 수 있습니다:

  • Claude 2.0: Claude 3의 전신으로, 다양한 작업에서 강력한 성능을 제공합니다.

  • Claude 2.1: 정확성과 일관성이 향상된 Claude 2의 업데이트 버전입니다.

  • Claude Instant 1.2: Claude Haiku의 전신인 빠르고 효율적인 모델입니다.

이전 모델에 대한 자세한 내용과 사용 방법은 이전 모델 가이드를 참조하세요.


모델 권장 사항

모든 사용 사례에 Claude 3 제품군을 사용하는 것이 좋습니다. Claude 3 모델은 이전 세대 Claude 모델보다 전반적으로 더 뛰어난 성능을 발휘합니다. 비용, 속도, 성능 간의 모든 절충점에 대해 Claude 3 모델이 있습니다. 이전 모델마다 속도와 성능 면에서 이를 능가하는 Claude 3 모델이 있습니다. 모델 비교 지표에 대한 자세한 내용은 모델 비교를 참조하세요.

모델최신 API 모델 이름
Claude 3 Opusclaude-3-opus-20240229
Claude 3 Sonnetclaude-3-sonnet-20240229
Claude 3 Haiku곧 출시 예정

어떤 Claude 3 모델을 사용할지는 사용 사례의 복잡성과 지연 시간, 비용, 성능에 대한 요구 사항에 따라 달라집니다.

Haiku는 해당 지능 범주에서 가장 빠르고 비용 효율적인 모델입니다. 차트와 그래프가 포함된 arXiv의 정보와 데이터가 풍부한 연구 논문(~10k 토큰)을 3초 미만으로 읽을 수 있습니다. 출시 후에는 지연 시간을 더 줄일 것으로 예상합니다.

대부분의 워크로드의 경우 Sonnet은 Claude 2 및 Claude 2.1보다 2배 빠르며 더 높은 수준의 지능을 제공합니다. Opus는 Claude 2 및 2.1과 유사한 속도를 제공하지만 훨씬 더 높은 수준의 지능을 제공합니다.

모델 선택에 도움이 되는 비교 벤치마크 및 지표를 포함한 모델에 대한 종합적인 개요는 아래의 모델 비교 섹션을 참조하세요.


모델 비교

요구 사항에 맞는 올바른 모델을 선택하는 데 도움이 되도록 Claude 제품군의 각 모델의 주요 기능과 성능을 비교한 표를 작성했습니다:

Claude 3 OpusClaude 3 SonnetClaude 3 HaikuClaude 2.1Claude 2Claude Instant 1.2
설명매우 복잡한 작업을 위한 가장 강력한 모델엔터프라이즈 워크로드에 적합한 지능과 속도의 이상적인 균형즉각적인 응답성을 위한 가장 빠르고 콤팩트한 모델정확성이 향상된 Claude 2 업데이트 버전Claude 3의 전신, 강력한 전반적 성능 제공가장 저렴하고 작고 빠른 모델, Claude Haiku의 전신
장점최고 수준의 성능, 지능, 유창함, 이해력더 낮은 가격에 최대 유용성, 안정적, 확장 배포에 균형빠르고 정확한 타겟 성능이전 모델 - Claude 3 모델보다 성능 떨어짐이전 모델 - Claude 3 모델보다 성능 떨어짐이전 모델 - Claude 3 모델보다 성능 떨어짐
다국어예, Claude 3보다 적용 범위, 이해력, 기술 부족예, Claude 3보다 적용 범위, 이해력, 기술 부족예, Claude 3보다 적용 범위, 이해력, 기술 부족
비전아니오아니오아니오
최신 API 모델 이름claude-3-opus-20240229claude-3-sonnet-20240229곧 출시 예정claude-2.1claude-2.0claude-instant-1.2
API 형식Messages APIMessages APIMessages APIMessages & Text Completions APIMessages & Text Completions APIMessages & Text Completions API
상대적 지연 시간중간 속도빠름가장 빠름유사한 지능의 Claude 3 모델보다 느림유사한 지능의 Claude 3 모델보다 느림유사한 지능의 Claude 3 모델보다 느림
컨텍스트 윈도우200K*200K*200K*200K*100K**100K**
최대 출력4096 토큰4096 토큰4096 토큰4096 토큰4096 토큰4096 토큰
비용 (입력 / 출력, MTok^ 당)$15.00 / $75.00$3.00 / $15.00$0.25 / $1.25$8.00 / $24.0$8.00 / $24.0$0.80 / $2.40
학습 데이터 기준일2023년 8월2023년 8월2023년 8월2023년 초2023년 초2023년 초

~50K 단어, ~680K 유니코드 문자 ~75K 단어, ~350K 유니코드 문자 ^백만 개의 토큰*

다음은 비용 대 속도 측면에서 Claude 3 모델을 비교한 시각화로, 비용과 지능 사이의 절충점 범위를 보여줍니다:

Claude 3 지능 대 비용


벤치마크 성능

저희는 다양한 작업과 기능에 걸친 성능을 평가하기 위해 광범위한 업계 표준 벤치마크에서 모델을 평가했습니다. 이러한 벤치마크는 추론, 코딩, 다국어 이해, 장문 맥락 처리, 정직성, 이미지 처리 등의 영역을 다룹니다. 벤치마크 평가에 대한 자세한 내용은 Claude 3 모델 카드에서 확인할 수 있습니다.


프롬프트 및 출력 차이점

Claude 3 제품군은 이전 모델과 비교할 때 프롬프트 및 출력 생성에 몇 가지 주요 차이점을 도입했습니다:

  • 더 표현력 있고 매력적인 응답: Claude 3은 동일한 프롬프트가 주어졌을 때 이전 모델보다 평균적으로 더 긴 응답을 생성하여 더 표현력 있고 매력적인 응답을 생성하는 경향이 있습니다. 이 기능을 통해 더 자연스럽고 역동적인 대화가 가능하므로 Claude 3 모델은 풍부하고 인간 같은 상호 작용이 필요한 애플리케이션에 이상적입니다.

    • 더 간결한 응답을 선호하는 경우, 프롬프트를 조정하여 원하는 출력 길이를 유도할 수 있습니다(예: 그냥 Claude에게 더 간결하라고 알려주기). 자세한 내용은 프롬프트 엔지니어링지연 시간 단축

가이드를 참조하세요.

  • 세대 간 출력 품질 및 스타일 향상: 이전 모델 세대에서 Claude 3 제품군으로 마이그레이션할 때, 동일한 세대의 모델(예: Claude 2.0에서 Claude 2.1로) 간 마이그레이션과 비교하여 성능이 크게 향상될 수 있습니다. 사용 사례의 요구 사항에 따라 마이그레이션 후 결과가 기대치와 요구 사항에 부합하는지 확인하기 위해 더 광범위한 평가와 테스트가 필요할 수 있습니다.

👍

모델 조정성

Claude 3 모델은 일반적으로 이전 모델보다 프롬프트 작성과 조정이 쉽습니다. 사용자는 더 짧고 간결한 프롬프트로 원하는 결과를 얻을 수 있어 비용을 절감하고 지연 시간을 개선할 수 있습니다.

Claude 3 제품군으로 업그레이드할 때는 기존 프롬프트를 재평가하고 이러한 첨단 모델이 제공하는 향상된 조정성, 성능, 지능을 최대한 활용할 수 있도록 필요에 따라 조정하는 것이 좋습니다. 가장 강력한 모델인 Opus부터 시작하여 Claude 3 제품군의 더 작은 모델을 사용하기 전에 최대 출력 품질을 설정하는 것이 좋습니다.


Claude 시작하기

Claude가 여러분을 위해 무엇을 할 수 있는지 탐색할 준비가 되셨다면 시작해 봅시다! Claude를 애플리케이션에 통합하려는 개발자든 AI의 힘을 직접 경험하고 싶은 사용자든 저희가 도와드리겠습니다.

빠른 시작 가이드를 확인하여 Claude 사용을 시작하는 방법에 대한 단계별 지침을 알아보세요. 계정을 만들고, API 키를 얻고, 바로 모델과 상호 작용하는 방법을 배우게 될 것입니다.

주요 용어 설명

이러한 개념은 Anthropic의 언어 모델에만 국한되지 않지만, 주요 용어에 대한 간략한 요약을 아래에 제시합니다.

컨텍스트 윈도우

"컨텍스트 윈도우"는 언어 모델이 새로운 텍스트를 생성할 때 참조할 수 있는 텍스트의 양을 의미합니다. 이는 언어 모델이 학습한 방대한 데이터 말뭉치와는 다르며, 모델의 "작업 메모리"를 나타냅니다. 더 큰 컨텍스트 윈도우는 모델이 더 복잡하고 긴 프롬프트를 이해하고 응답할 수 있게 해주는 반면, 더 작은 컨텍스트 윈도우는 긴 프롬프트를 처리하거나 장시간 대화에서 일관성을 유지하는 모델의 능력을 제한할 수 있습니다.

모델별 컨텍스트 윈도우 크기 목록은 모델 비교 표를 참조하세요.

파인 튜닝

파인 튜닝은 추가 데이터를 사용하여 사전 학습된 언어 모델을 추가로 학습시키는 과정입니다. 이로 인해 모델은 파인 튜닝 데이터 세트의 패턴과 특성을 표현하고 모방하기 시작합니다. Claude는 단순한 언어 모델이 아니라 도움이 되는 어시스턴트가 되도록 이미 파인 튜닝되었습니다. 현재 저희 API는 파인 튜닝을 제공하지 않지만, 이 옵션을 탐색하는 데 관심이 있다면 Anthropic 담당자에게 문의하세요. 파인 튜닝은 언어 모델을 특정 도메인, 작업 또는 작문 스타일에 적응시키는 데 유용할 수 있지만 파인 튜닝 데이터와 모델 성능 및 편향에 미칠 수 있는 잠재적인 영향을 신중하게 고려해야 합니다.

HHH

이 3개의 H는 Claude가 사회에 유익하도록 보장하기 위한 Anthropic의 목표를 나타냅니다:

  • Helpful(도움): AI가 주어진 작업을 최선을 다해 수행하거나 질문에 답하고, 관련성 있고 유용한 정보를 제공합니다.

  • Honest(정직): AI가 정확한 정보를 제공하고, 환각이나 날조를 하지 않습니다. 적절한 경우 한계와 불확실성을 인정합니다.

  • Harmless(무해): AI가 공격적이거나 차별적이지 않으며, 위험하거나 비윤리적인 행위를 도와달라는 요청을 받으면 정중하게 거절하고 그 이유를 설명합니다.

지연 시간

생성 AI와 대규모 언어 모델의 맥락에서 지연 시간은 주어진 프롬프트에 대해 모델이 응답하는 데 걸리는 시간을 의미합니다. 프롬프트를 제출하고 생성된 출력을 받는 사이의 지연입니다. 지연 시간이 낮을수록 응답 시간이 빨라지므로 실시간 애플리케이션, 챗봇, 인터랙티브 경험에 매우 중요합니다. 지연 시간에 영향을 미칠 수 있는 요인으로는 모델 크기, 하드웨어 성능, 네트워크 상태, 프롬프트의 복잡성과 생성된 응답 등이 있습니다.

LLM

대규모 언어 모델(Large Language Models, LLM)은 많은 매개변수를 가진 AI 언어 모델로, 놀라울 정도로 유용한 다양한 작업을 수행할 수 있습니다. 이러한 모델은 방대한 양의 텍스트 데이터를 사용하여 학습되며 사람과 유사한 텍스트를 생성하고, 질문에 답하고, 정보를 요약하는 등의 작업을 수행할 수 있습니다. Claude는 더 유용하고 정직하며 무해하도록 파인 튜닝되고 RLHF를 사용하여 학습된 대규모 언어 모델 기반의 대화형 어시스턴트입니다.

사전 학습

사전 학습은 대규모 레이블이 없는 텍스트 말뭉치를 사용하여 언어 모델을 처음으로 학습시키는 과정입니다. Claude의 경우, autoregressive 언어 모델(Claude의 기본 모델과 같은)은 문서의 이전 텍스트 맥락을 고려하여 다음 단어를 예측하도록 사전 학습됩니다. 이러한 사전 학습된 모델은 본질적으로 질문에 답하거나 지시를 따르는 데 능숙하지 않으며, 종종 원하는 동작을 이끌어내기 위해 프롬프트 엔지니어링에 대한 깊은 기술이 필요합니다. 파인 튜닝과 RLHF는 이러한 사전 학습된 모델을 개선하여 다양한 작업에 더 유용하게 만드는 데 사용됩니다.

RAG(검색 증강 생성)

검색 증강 생성(Retrieval Augmented Generation, RAG)은 정보 검색과 언어 모델 생성을 결합하여 생성된 텍스트의 정확성과 관련성을 개선하고, 모델의 응답을 증거에 더 잘 기반하도록 하는 기술입니다. RAG에서는 컨텍스트 윈도우로 전달되는 외부 지식 베이스 또는 문서 집합으로 언어 모델이 확장됩니다. 쿼리가 모델로 전송될 때 런타임에 데이터가 검색되지만, 모델 자체는 반드시 데이터를 검색하지 않습니다(도구 사용 및 검색 기능 사용 시는 제외). 텍스트를 생성할 때 먼저 입력 프롬프트를 기반으로 지식 베이스에서 관련 정보를 검색한 다음 원래 쿼리와 함께 모델에 전달해야 합니다. 모델은 이 정보를 사용하여 생성하는 출력을 안내합니다. 이를 통해 모델은 학습 데이터를 넘어선 정보에 액세스하고 활용할 수 있어 암기에 대한 의존도를 줄이고 생성된 텍스트의 사실적 정확성을 개선할 수 있습니다. RAG는 최신 정보, 도메인별 지식 또는 출처의 명시적 인용이 필요한 작업에 특히 유용할 수 있습니다. 그러나 RAG의 효과는 외부 지식 베이스의 품질과 관련성, 그리고 런타임에 검색된 지식에 따라 달라집니다.

RLHF

인간 피드백에서의 강화 학습(Reinforcement Learning from Human Feedback, RLHF)은 사전 학습된 언어 모델이 인간의 선호도와 일치하는 방식으로 동작하도록 학습시키는 데 사용되는 기술입니다. 여기에는 모델이 지시 사항을 더 효과적으로 따르거나 챗봇처럼 행동하도록 돕는 것이 포함될 수 있습니다. 인간 피드백은 둘 이상의 예시 텍스트 집합을 순위화하는 것으로 구성되며, 강화 학습 프로세스는 모델이 순위가 높은 출력과 유사한 출력을 선호하도록 유도합니다. Claude는 RLHF를 사용하여 더 유용한 어시스턴트가 되도록 학습되었습니다. 자세한 내용은 Anthropic의 관련 논문을 참조하세요.

온도

온도는 텍스트 생성 중 모델의 예측 무작위성을 제어하는 매개변수입니다. 온도가 높을수록 더 창의적이고 다양한 출력이 생성되어 표현의 다양한 변형과 허구의 경우 답변의 변형도 가능합니다. 온도가 낮을수록 가장 가능성 있는 표현과 답변에 충실한 더 보수적이고 결정론적인 출력이 생성됩니다. 온도를 조정하면 사용자가 언어 모델이 가장 가능성 있는 예측만 선택하는 것이 아니라 드물거나 일반적이지 않거나 놀라운 단어 선택과 시퀀스를 탐색하도록 유도할 수 있습니다. Claude Slackbot은 응답 생성 시 0이 아닌 온도를 사용하므로 일관성과 관련성을 유지하면서도 답변에 약간의 변화를 줄 수 있습니다.

TTFT(첫 토큰 생성 시간)

첫 토큰 생성 시간(Time to First Token, TTFT)은 프롬프트를 받은 후 언어 모델이 출력의 첫 번째 토큰을 생성하는 데 걸리는 시간을 측정하는 성능 지표입니다. 모델의 응답성을 나타내는 중요한 지표이며, 사용자가 신속한 초기 피드백을 기대하는 인터랙티브 애플리케이션, 챗봇, 실시간 시스템에 특히 중요합니다. TTFT가 낮을수록 모델이 더 빨리 응답 생성을 시작할 수 있어 더 원활하고 매력적인 사용자 경험을 제공할 수 있습니다. TTFT에 영향을 미칠 수 있는 요인으로는 모델 크기, 하드웨어 성능, 네트워크 상태, 프롬프트의 복잡성 등이 있습니다.

토큰

토큰은 언어 모델의 가장 작은 개별 단위로, 단어, 하위 단어, 문자 또는 심지어 바이트(유니코드의 경우)에 해당할 수 있습니다. Claude의 경우 토큰은 대략 3.5개의 영어 문자를 나타내지만, 사용된 언어에 따라 정확한 수는 달라질 수 있습니다. 토큰은 일반적으로 언어 모델과 "텍스트" 수준에서 상호 작용할 때는 숨겨져 있지만 언어 모델의 정확한 입력과 출력을 검사할 때는 관련이 있습니다. 평가할 텍스트(일련의 문자로 구성됨)가 Claude에 제공되면 모델이 처리할 수 있도록 텍스트가 일련의 토큰으로 인코딩됩니다. 더 큰 토큰은 추론 및 사전 학습 중 데이터 효율성을 가능하게 하며(가능한 경우 활용됨), 더 작은 토큰은 모델이 드물거나 이전에 본 적이 없는 단어를 처리할 수 있게 해줍니다. 토큰화 방법의 선택은 모델의 성능, 어휘 크기, 어휘 외 단어 처리 능력에 영향을 미칠 수 있습니다.

Claude의 텍스트 기반 작업 능력

Claude는 다양한 텍스트 기반 작업에서 탁월한 성능을 발휘합니다. Claude는 코드, 산문 및 기타 자연어 입력을 받아들이고 이에 대한 응답으로 텍스트 출력을 제공하도록 학습되었습니다. 응답 생성을 위해 Claude에 데이터를 보내는 것을 "프롬프트"라고 하며, 프롬프트를 보내는 행위를 "프롬프팅"이라고 합니다.

프롬프트는 누군가에게 무언가를 지시하는 것처럼 자연어 질의 형태로 작성하는 것이 가장 좋으며, 세부 사항이 많을수록 좋습니다. 프롬프트 엔지니어링을 통해 기본 프롬프트를 더욱 개선할 수 있습니다.


텍스트 사용 사례 및 기능

Claude는 다음을 포함하되 이에 국한되지 않는 다양한 텍스트 기반 작업을 처리할 수 있습니다:

  • 텍스트 요약

  • 콘텐츠 생성

  • 데이터/엔티티 추출

  • 질문 답변

  • 텍스트 번역

  • 텍스트 기반 분석 및 추천

  • 대화와 대화

  • 코드 설명 및 생성

텍스트 기반 사용 사례 및 기능에 대한 종합적인 가이드는 사용 사례 및 기능을 참조하세요.


프롬프트 엔지니어링 가이드

Claude 3를 최대한 활용하고 특정 작업에 대한 성능을 향상시키려면 프롬프트에 특정 프롬프트 엔지니어링 기술을 적용하는 것이 좋습니다. 프롬프트 엔지니어링에서는 Claude 3의 출력을 최적화하기 위해 가장 효과적인 프롬프트를 작성하는 데 도움이 되는 다양한 전략과 팁을 다룹니다. 이전 모델의 경우 최대 성능을 끌어내기 위해 프롬프트 엔지니어링이 더 필요할 수 있지만, Claude 3 모델은 훨씬 더 조정하기 쉽고 지시하기 쉽습니다.


Anthropic 쿡북

Claude의 텍스트 생성 기능을 실제로 보려면 Jupyter 노트북 형태의 레시피 모음을 담고 있는 Anthropic 쿡북을 확인하세요. 이 노트북에는 PDF 업로드, 도구 사용 및 함수 호출, 임베딩 등 더 고급 시나리오에서 Claude를 사용하는 방법을 보여주는 복사 가능한 코드가 있습니다.


프롬프트 라이브러리

Claude의 기능을 보여주고 다양한 작업을 시작하는 데 도움이 되는 광범위한 텍스트 기반 프롬프트는 프롬프트 라이브러리를 참조하세요. 라이브러리에는 다양한 사용 사례와 복잡성 수준에 대한 프롬프트가 포함되어 있어 특정 요구 사항에 맞는 프롬프트를 더 쉽게 찾고 적용할 수 있습니다.


API 문서

API를 통해 Claude와 상호 작용하는 방법을 이해하려면 API 문서를 참조하세요. 이 문서에는 요청을 보내고, 응답을 처리하고, 오류를 해결하는 방법에 대한 자세한 정보가 있습니다.

Claude의 비전 기능 소개

Claude 3 제품군에는 Claude가 이미지를 이해하고 분석할 수 있는 새로운 비전 기능이 포함되어 있어 다중 모드 상호 작용을 위한 흥미로운 가능성이 열립니다. 이제 Claude를 통해 텍스트와 이미지 입력을 모두 제공하여 대화를 풍부하게 하고 강력한 새로운 사용 사례를 가능하게 할 수 있습니다.

💡

비전 기능이 있는 모델

Claude의 비전 기능에 액세스하기 위해 특별 버전의 Claude 3 모델을 사용할 필요는 없습니다. 모든 Claude 3 모델은 이미지를 이해하고 분석할 수 있습니다.

이 가이드에서는 모범 사례, 코드 예제, 주의해야 할 제한 사항 등 Claude에서 이미지를 다루는 방법을 안내합니다.

지금 claude.ai에서 이미지로 채팅해 보세요!


시작하기

현재 Claude의 비전 기능은 다음 세 가지 방법으로 활용할 수 있습니다:

  • claude.ai의 채팅 창에서 직접 사용. 파일을 업로드하듯이 이미지를 업로드하거나 이미지를 창으로 직접 끌어다 놓기만 하면 됩니다!

  • 콘솔 워크벤치를 통해 사용. 이미지를 허용하는 모델(Claude 3 모델만 해당)을 선택하면 모든 User 메시지 블록의 오른쪽 상단에 이미지를 추가하는 버튼이 나타납니다.

  • API 요청을 통해 사용 - 아래 지침 참조.

이 가이드에서는 Anthropic Python SDK와 다음 예제 변수를 사용할 것입니다. httpx 라이브러리를 사용하여 Wikipedia에서 샘플 이미지를 가져오지만, 사용자에게 적합한 이미지 소스를 사용해도 됩니다.

import anthropic
import base64
import httpx

client = anthropic.Anthropic()

image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg" 
image2_media_type = "image/jpeg"
image2_data = base64.b64encode(httpx.get(image2_url).content).decode("utf-8")

API 요청 시 이미지를 활용하려면 base64로 인코딩된 이미지를 image 콘텐츠 블록에 Claude에 제공할 수 있습니다. 다음은 Python에서 Messages API 요청에 base64로 인코딩된 이미지를 포함하는 방법을 보여주는 간단한 예제입니다:

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Describe this image."
                }
            ],
        }
    ],
)
print(message)

지원되는 이미지 형식은 JPEG, PNG, GIF 및 WebP입니다. 더 많은 예제 코드와 매개변수 세부 정보는 Messages API 예제를 참조하세요.


이미지 크기

최적의 성능을 위해서는 이미지가 크기 또는 토큰 제한을 초과할 가능성이 있는 경우 업로드하기 전에 이미지 크기를 조정하는 것이 좋습니다. 이미지의 긴 가장자리가 1568픽셀 이상이거나 이미지가 약 1600토큰 이상인 경우 크기 제한 내에 들어갈 때까지 종횡비를 유지하면서 먼저 축소됩니다. 입력 이미지가 너무 크고 크기를 조정해야 하는 경우 모델 성능을 추가로 제공하지 않고 첫 토큰 생성 시간의 지연 시간이 증가합니다. 가장자리가 200픽셀 미만인 매우 작은 이미지는 성능 저하로 이어질 수 있습니다.

첫 토큰 생성 시간을 개선하려면 이미지 크기를 1.15메가픽셀 이하(양쪽 크기가 1568픽셀 이내)로 조정하는 것이 좋습니다.

다음은 일반적인 종횡비에 대해 API에서 크기 조정 없이 허용하는 최대 이미지 크기 표입니다. 이 모든 이미지는 약 1600토큰과 약 $4.80/1K 이미지(Claude 3 Sonnet 사용 가정)로 근사됩니다:

종횡비이미지 크기
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

이미지 모범 사례

Claude에 이미지를 제공할 때는 최상의 결과를 얻기 위해 다음 지침을 염두에 두세요:

  • 이미지 선명도: 이미지가 선명하고 너무 흐리거나 픽셀화되지 않았는지 확인하세요. Claude는 불분명하거나 저품질 이미지를 정확하게 해석하는 데 어려움을 겪을 수 있습니다.

  • 이미지 배치: 문서-쿼리 배치와 마찬가지로 Claude는 이미지가 텍스트 앞에 올 때 가장 잘 작동합니다. 텍스트 뒤에 배치되거나 텍스트와 삽입된 이미지도 여전히 잘 작동하지만, 사용 사례에서 허용한다면 이미지-텍스트 구조를 권장합니다. 자세한 내용은 비전 프롬프팅 팁을 참조하세요.

  • 텍스트: 이미지에 중요한 텍스트가 포함된 경우 읽기 쉽고 너무 작지 않은지 확인하세요. 그러나 텍스트를 확대하기 위해 주요 시각적 맥락을 잘라내지 마세요.

  • 여러 이미지: 단일 요청에 여러 이미지(claude.ai의 경우 최대 5개, API 요청의 경우 최대 20개)를 포함할 수 있습니다. Claude는 응답을 작성할 때 제공된 모든 이미지를 분석합니다. 이는 이미지를 비교하거나 대조하는 데 도움이 될 수 있습니다.

자세한 내용과 지침은 제한 사항을 참조하세요.


프롬프팅 팁

Claude와의 텍스트 기반 상호 작용에 효과적인 많은 프롬프팅 기술은 이미지 기반 프롬프트에도 적용할 수 있습니다. 이미지 처리 기술과 사용 사례에 대한 연습과 함께 프롬프팅 기술과 전략을 보려면 다중 모드 쿡북을 참조하세요.

다음은 이미지와 관련된 몇 가지 모범 사례 프롬프트 구조의 예입니다. 일반적으로 이미지에 대한 질문이나 이미지를 사용하는 작업에 대한 지시보다 프롬프트에서 이미지를 먼저 배치하는 것이 가장 좋습니다. 여러 이미지가 있는 상황에서는 각 이미지를 Image 1:, Image 2: 등으로 소개하는 것이 좋습니다. 이미지 간 또는 이미지와 프롬프트 사이에 줄 바꿈을 사용할 필요는 없습니다.

1. 예제: 하나의 이미지

프롬프트 구조는 다음과 같습니다:

역할내용
User[이미지] 이 이미지를 설명하세요.

해당 API 호출은 다음과 같습니다:

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Describe this image."
                }
            ],
        }
    ],
)

2. 예제: 여러 이미지

프롬프트 구조는 다음과 같습니다:

역할내용
UserImage 1: [이미지 1] Image 2: [이미지 2] 이 이미지들은 어떻게 다른가요?

해당 API 호출은 다음과 같습니다:

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user", 
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "How are these images different?" 
                }
            ],
        }
    ],
)

3. 예제: 시스템 프롬프트가 있는 여러 이미지

프롬프트 구조는 다음과 같습니다:

내용
System스페인어로만 응답하세요.
UserImage 1: [이미지 1] Image 2: [이미지 2] 이 이미지들은 어떻게 다른가요?

해당 API 호출은 다음과 같습니다:

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Respond only in Spanish.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {

4. 예제: 두 대화 턴에 걸친 네 개의 이미지

Claude의 비전 기능은 이미지와 텍스트를 모두 혼합하는 다중 모드 대화에서 진가를 발휘합니다. Claude와 확장된 양방향 대화를 나눌 수 있으며, 언제든지 새 이미지나 후속 질문을 추가할 수 있습니다. 이를 통해 반복적인 이미지 분석, 비교 또는 시각 자료와 다른 지식을 결합하는 강력한 워크플로를 사용할 수 있습니다.

프롬프트 구조의 예는 다음과 같습니다:

역할내용
UserImage 1: [이미지 1] Image 2: [이미지 2] 이 이미지들은 어떻게 다른가요?
Assistant[Claude의 응답]
UserImage 1: [이미지 3] Image 2: [이미지 4] 이 이미지들은 처음 두 이미지와 유사한가요?
Assistant[Claude의 응답]

API를 사용할 때는 표준 다중 턴 대화 구조의 일부로 user 역할의 Messages 배열에 새 이미지를 삽입하기만 하면 됩니다.


이미지 비용

Claude에 대한 요청에 포함하는 각 이미지는 토큰 사용량에 포함됩니다. 대략적인 비용을 계산하려면 이미지 토큰의 대략적인 수에 사용 중인 모델의 토큰당 가격을 곱하세요. 모델 가격 세부 정보는 가격 페이지에서 확인할 수 있습니다.

이미지 크기를 조정할 필요가 없다고 가정하면 다음과 같은 간단한 알고리즘을 통해 사용된 토큰 수를 추정할 수 있습니다:

tokens = (너비 px * 높이 px)/750

다음은 API의 크기 제약 조건 내에서 다양한 이미지 크기에 대한 대략적인 토큰화 및 비용의 몇 가지 예입니다(입력 토큰당 $3의 Claude 3 Sonnet 사용 가정):

이미지 크기토큰 수이미지당 비용1K 이미지당 비용
200x200 px
(0.04 메가픽셀)~54~$0.00016~$0.16
1000x1000 px
(1 메가픽셀)~1334~$0.004~$4.00
1092x1092 px
(1.19 메가픽셀)~1590~$0.0048~$4.80

제한 사항

Claude의 이미지 이해 기능은 최첨단이지만 알아두어야 할 몇 가지 제한 사항이 있습니다:

  • 사람 식별: Claude는 이미지에서 사람을 식별하는 데 사용할 수 없으며 이를 거부합니다.

  • 정확성: Claude는 저품질, 회전 또는 200픽셀 미만의 매우 작은 이미지를 해석할 때 착각하거나 실수를 할 수 있습니다.

  • 공간 추론: Claude의 공간 추론 능력은 제한적입니다. 아날로그 시계 문자판 읽기 또는 체스 말의 정확한 위치 설명과 같이 정밀한 지역화 또는 레이아웃이 필요한 작업에 어려움을 겪을 수 있습니다.

  • 계수: Claude는 이미지에서 객체의 대략적인 수를 제공할 수 있지만, 특히 많은 수의 작은 객체가 있는 경우 항상 정확하지는 않을 수 있습니다.

  • AI 생성 이미지: Claude는 이미지가 AI에 의해 생성되었는지 알지 못하며, 물어보면 틀릴 수 있습니다. 가짜 또는 합성 이미지를 감지하는 데 의존하지 마세요.

  • 부적절한 콘텐츠: Claude는 허용 가능한 사용 정책을 위반하는 부적절하거나 노골적인 이미지를 처리하지 않습니다.

  • 의료 애플리케이션: Claude는 일반적인 의료 이미지를 분석할 수 있지만 CT나 MRI와 같은 복잡한 진단 스캔을 해석하도록 설계되지 않았습니다. Claude의 출력은 전문적인 의료 조언이나 진단을 대신할 수 없습니다.

특히 중요한 사용 사례의 경우 Claude의 이미지 해석을 항상 주의 깊게 검토하고 확인하세요. 인간의 감독 없이 완벽한 정밀도나 민감한 이미지 분석이 필요한 작업에 Claude를 사용하지 마세요.


FAQ

Claude가 지원하는 이미지 파일 유형은 무엇인가요?

Claude는 현재 JPEG, PNG, GIF 및 WebP 이미지 형식, 특히 image/jpeg, image/png, image/gifimage/webp를 지원합니다.

Claude가 이미지 URL을 읽을 수 있나요?

Claude는 claude.ai를 포함한 어떠한 인터페이스에서도 이미지 URL을 읽을 수 없습니다. 현재 API는 text 또는 image 블록에 URL을 추가하는 것을 지원하지 않습니다. text 블록에 이미지 URL(또는 모든 종류의 URL)을 추가하면 Claude가 해당 URL에서 정보를 검색할 수 없기 때문에 Claude가 환각을 일으킬 수 있습니다.

업로드할 수 있는 이미지 파일 크기에 제한이 있나요?

예, 허용되는 최대 이미지 파일 크기는 이미지당 5MB입니다. 이 제한보다 큰 이미지는 거부되고 API 사용 시 오류를 반환합니다.

한 요청에 몇 개의 이미지를 포함할 수 있나요?

Messages API를 통해 단일 요청에 최대 20개의 이미지를 포함할 수 있습니다. claude.ai에서는 턴당 최대 5개의 이미지를 포함할 수 있습니다. 이 제한 이상의 이미지 수는 거부되고 API 사용 시 오류를 반환합니다.

Claude가 이미지 메타데이터를 읽나요?

아니요, Claude는 전달된 이미지의 메타데이터를 구문 분석하거나 수신하지 않습니다.

업로드한 이미지를 삭제할 수 있나요?

아니요. 더욱이 이미지 업로드는 임시적이며 API 요청 기간을 넘어 저장되지 않습니다. 업로드된 이미지는 처리된 후 자동으로 삭제됩니다.

이미지 업로드에 대한 데이터 개인 정보 보호 및 보안에 대한 자세한 내용은 어디서 찾을 수 있나요?

업로드된 이미지 및 기타 데이터 처리 방법에 대한 정보는 개인정보 처리방침 페이지를 참조하세요. 저희는 업로드된 이미지를 모델 학습에 사용하지 않습니다.

Claude의 이미지 해석이 잘못된 것 같으면 어떻게 해야 하나요?

Claude의 이미지 해석이 잘못된 것 같으면 먼저 이미지가 선명하고 고품질이며 올바르게 배향되었는지 확인하세요. 문제가 지속되면 프롬프트 엔지니어링 기술을 사용하여 결과를 개선해 보세요. 문제를 해결할 수 없는 경우 엄지 손가락 위/아래 인터페이스를 통해 claude.ai에서 직접 우려되는 출력을 플래그로 표시하거나 지원팀에 문의하여 알려주세요. 여러분의 의견은 저희가 발전하는 데 도움이 됩니다!

Claude가 이미지를 생성, 제작, 편집, 조작 또는 생성할 수 있나요?

아니요, Claude는 이미지 이해 모델일 뿐입니다. 이미지를 해석하고 분석할 수 있지만 이미지를 생성, 제작, 편집, 조작 또는 생성할 수는 없습니다.


비전에 대해 더 깊이 알아보기

Claude를 사용하여 이미지로 구축할 준비가 되셨나요? 다음은 몇 가지 유용한 리소스입니다:

다른 질문이 있는 경우 언제든지 지원팀에 문의하세요. 또한 개발자 커뮤니티에 가입하여 다른 창작자들과 연결하고 Anthropic 전문가로부터 도움을 받을 수 있습니다.

임베딩 개요

텍스트 임베딩은 부동 소수점 숫자의 벡터로 표현되는 텍스트 문자열의 수치적 표현입니다. 두 개의 임베딩된 텍스트(단어, 구 또는 문장) 사이의 거리를 사용하여 해당 텍스트가 서로 얼마나 관련되어 있는지 측정할 수 있습니다. 코사인 유사도가 널리 사용되는 측정법이지만 유클리드 거리나 내적과 같은 다른 거리 함수를 통해서도 유사성을 측정할 수 있습니다(FAQ 참조). 일반적으로 거리가 작을수록 텍스트 간의 의미적 또는 구문적 관계 측면에서 더 높은 연관성을 예측합니다.

문자열의 유사성을 비교하거나 서로 간의 거리에 따라 문자열을 군집화하면 검색(RAG 아키텍처에서 널리 사용됨), 추천이상 탐지를 포함한 다양한 애플리케이션이 가능합니다.


Anthropic를 통한 임베딩 사용법

임베딩 제공업체를 선택할 때는 필요와 선호도에 따라 여러 요인을 고려할 수 있습니다:

  • 데이터 세트 크기 및 도메인 특이성: 모델 학습 데이터 세트의 크기와 임베딩하려는 도메인과의 관련성. 더 큰 또는 더 도메인에 특화된 데이터는 일반적으로 더 나은 도메인 내 임베딩을 생성합니다.

  • 모델 아키텍처: 모델 설계 및 복잡성. Transformer와 같은 더 현대적인 기술과 아키텍처는 더 높은 품질의 임베딩을 학습하고 생성하는 경향이 있습니다.

  • 추론 성능: 임베딩 조회 속도 및 엔드 투 엔드 지연 시간. 대규모 프로덕션 배포의 경우 특히 중요한 고려 사항입니다.

  • 커스터마이징: 개인 데이터로 계속 학습하거나 매우 특정한 도메인에 대한 모델 전문화 옵션. 이는 고유한 어휘에 대한 성능을 향상시킬 수 있습니다.

Anthropic는 자체 임베딩 모델을 제공하지 않습니다. 위의 네 가지 고려 사항을 모두 포괄하는 다양한 옵션과 기능을 제공하는 임베딩 제공업체 중 하나는 Voyage AI입니다. Voyage AI는 최첨단 임베딩 모델을 만들고 금융 및 의료와 같은 특정 산업 도메인 또는 개별 고객을 위한 맞춤형 모델을 제공합니다.

이 가이드의 나머지 부분은 Voyage AI를 위한 것이지만, 특정 사용 사례에 가장 적합한 임베딩 공급업체를 찾으려면 다양한 임베딩 공급업체를 평가하는 것이 좋습니다.


Voyage AI 시작하기

Voyage AI 구현 예제는 임베딩 노트북을 참조하세요.

Voyage 임베딩에 액세스하려면:

  1. Voyage AI 웹사이트에서 가입하세요.

  2. API 키를 얻으세요.

  3. 편의를 위해 API 키를 환경 변수로 설정하세요:

export VOYAGE_API_KEY="<your secret key>"

아래에 설명된 대로 공식 voyageai Python 패키지 또는 HTTP 요청을 사용하여 임베딩을 실행할 수 있습니다.

Voyage Python 패키지

voyageai 패키지는 다음 명령을 사용하여 설치할 수 있습니다:

pip install voyageai

그런 다음 클라이언트 객체를 만들고 이를 사용하여 텍스트를 임베딩할 수 있습니다:

import voyageai

vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")

texts = ["Sample text 1", "Sample text 2"]

result = vo.embed(texts, model="voyage-2", input_type="document")
print(result.embeddings[0])  
print(result.embeddings[1])

result.embeddings는 각각 1024개의 부동 소수점 숫자를 포함하는 두 개의 임베딩 벡터 목록이 됩니다.

위의 코드를 실행하면 두 개의 임베딩이 화면에 인쇄됩니다:

[0.02012746, 0.01957859, ...] # embedding for "Sample text 1"
[0.01429677, 0.03077182, ...] # embedding for "Sample text 2"

임베딩을 만들 때 embed() 함수에 몇 가지 다른 인수를 지정할 수 있습니다. 다음은 사양입니다:

voyageai.Client.embed(texts : List[str], model : str = "voyage-2", input_type : Optional[str] = None, truncation : Optional[bool] = None)

  • texts (List[str]) - ["I like cats", "I also like dogs"]와 같은 문자열 목록으로 텍스트 목록. 현재 목록의 최대 길이는 128이고 목록의 총 토큰 수는 voyage-2의 경우 최대 320K, voyage-code-2의 경우 최대 120K입니다.

  • model (str) - 모델 이름. 권장 옵션: voyage-2(기본값), voyage-code-2

  • input_type (str, 선택 사항, 기본값 None) - 입력 텍스트의 유형. 기본값은 None입니다. 다른 옵션: query, document

    • input_type이 None으로 설정되면 입력 텍스트가 Voyage의 임베딩 모델에 의해 직접 인코딩됩니다. 또는 입력이 문서 또는 쿼리인 경우 사용자는 input_type을 각각 query 또는 document로 지정할 수 있습니다. 이러한 경우 Voyage는 입력 텍스트 앞에 특수 프롬프트를 추가하고 확장된 입력을 임베딩 모델로 보냅니다.

    • 검색 사용 사례의 경우 쿼리 또는 문서를 인코딩할 때 이 인수를 지정하여 검색 품질을 향상시킬 것을 권장합니다. input_type 인수 유무에 관계없이 생성된 임베딩은 호환됩니다.

  • truncation (bool, 선택 사항, 기본값 None) - 입력 텍스트를 컨텍스트 길이에 맞게 자를지 여부.

    • True이면 길이를 초과하는 입력 텍스트가 임베딩 모델에 의해 벡터화되기 전에 컨텍스트 길이에 맞게 잘립니다.

    • False이면 주어진 텍스트가 컨텍스트 길이를 초과하면 오류가 발생합니다.

    • 지정하지 않으면(기본값 None) Voyage는 입력 텍스트가 컨텍스트 윈도우 길이를 약간 초과하는 경우 임베딩 모델로 보내기 전에 입력 텍스트를 자릅니다. 컨텍스트 윈도우 길이를 크게 초과하면 오류가 발생합니다.

Voyage HTTP API

Voyage HTTP API를 요청하여 임베딩을 얻을 수도 있습니다. 예를 들어 터미널에서 curl 명령을 통해 HTTP 요청을 보낼 수 있습니다:

curl https://api.voyageai.com/v1/embeddings 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer $VOYAGE_API_KEY" 
  -d '{
    "input": ["Sample text 1", "Sample text 2"],
    "model": "voyage-2"
  }'

받게 될 응답은 임베딩과 토큰 사용량이 포함된 JSON 객체입니다:

{
  "object": "list",
  "data": [
    {
      "embedding": [0.02012746, 0.01957859, ...],
      "index": 0
    },
    {
      "embedding": [0.01429677, 0.03077182, ...],
      "index": 1
    }
  ],
  "model": "voyage-2",
  "usage": {
    "total_tokens": 10
  }
}

Voyage AI의 임베딩 엔드포인트는 https://api.voyageai.com/v1/embeddings(POST)입니다. 요청 헤더에는 API 키가 포함되어야 합니다. 요청 본문은 다음 인수를 포함하는 JSON 객체입니다:

  • input (str, List[str]) - 단일 텍스트 문자열 또는 문자열 목록으로 된 텍스트 목록. 현재 목록의 최대 길이는 128이고 목록의 총 토큰 수는 voyage-2의 경우 최대 320K, voyage-code-2의 경우 최대 120K입니다.

  • model (str) - 모델 이름. 권장 옵션: voyage-2(기본값), voyage-code-2

  • input_type (str, 선택 사항, 기본값 None) - 입력 텍스트의 유형. 기본값은 None입니다. 다른 옵션: query, document

  • truncation (bool, 선택 사항, 기본값 None) - 입력 텍스트를 컨텍스트 길이에 맞게 자를지 여부

    • True이면 길이를 초과하는 입력 텍스트가 임베딩 모델에 의해 벡터화되기 전에 컨텍스트 길이에 맞게 잘립니다.

    • False이면 주어진 텍스트가 컨텍스트 길이를 초과하면 오류가 발생합니다.

    • 지정하지 않으면(기본값 None) Voyage는 입력 텍스트가 컨텍스트 윈도우 길이를 약간 초과하는 경우 임베딩 모델로 보내기 전에 입력 텍스트를 자릅니다. 컨텍스트 윈도우 길이를 크게 초과하면 오류가 발생합니다.

  • encoding_format (str, 선택 사항, 기본값 None) - 임베딩이 인코딩되는 형식. Voyage는 현재 두 가지 옵션을 지원합니다:

    • 지정하지 않으면(기본값 None): 임베딩은 부동 소수점 숫자의 목록으로 표현됩니다.

    • "base64": 임베딩은 Base64 인코딩으로 압축됩니다.


Voyage 임베딩 예제

이제 Voyage를 사용하여 임베딩을 얻는 방법을 알았으니 간단한 예제를 통해 실제로 살펴보겠습니다.

다음과 같이 검색할 6개의 문서로 이루어진 작은 말뭉치가 있다고 가정해 보겠습니다.

documents = [
    "The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
    "Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
    "20th-century innovations, from radios to smartphones, centered on electronic advancements.",
    "Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
    "Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
    "Shakespeare's works, like 'Hamlet' and 'A Midsummer Night 's Dream,' endure in literature."
]

먼저 Voyage를 사용하여 각 문서를 임베딩 벡터로 변환합니다.

import voyageai

vo = voyageai.Client()

# Embed the documents
doc_embds = vo.embed(
    documents, model="voyage-2", input_type="document"
).embeddings

임베딩을 통해 벡터 공간에서 의미론적 검색/검색을 수행할 수 있습니다. 그런 다음 예제 쿼리를 다음과 같이 변환할 수 있습니다.

query = "When is Apple's conference call scheduled?"

쿼리를 임베딩으로 변환한 다음 최근접 이웃 검색을 수행하여 임베딩 공간의 거리를 기반으로 가장 관련성이 높은 문서를 찾습니다.

import numpy as np

# Embed the query
query_embd = vo.embed(
    [query], model="voyage-2", input_type="query"
).embeddings[0]

# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)

retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])

문서 임베딩 시 input_type="document", 쿼리 임베딩 시 input_type="query"를 사용한 점에 유의하세요. 더 자세한 사양은 여기를 참조하세요.

출력은 5번째 문서로, 실제로 쿼리와 가장 관련이 있습니다:

Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.

사용 가능한 Voyage 모델

Voyage는 다음 임베딩 모델을 사용하는 것이 좋습니다:

모델컨텍스트 길이임베딩 차원설명
voyage-240001024최상의 검색 품질을 제공하는 최신 기반(종합) 임베딩 모델. 자세한 내용은 이 Voyage 블로그 게시물을 참조하세요.
voyage-code-2160001536코드 검색에 최적화(대안보다 17% 더 나음)되었으며 일반 목적 말뭉치에서도 SoTA. 자세한 내용은 이 Voyage 블로그 게시물을 참조하세요.

voyage-2는 범용 임베딩 모델로, 도메인과 효율성에서 최첨단 성능을 달성합니다. voyage-code-2는 코드 애플리케이션에 최적화되어 있어 약간 더 높은 지연 시간에도 불구하고 더 유연한 사용을 위해 4배의 컨텍스트 길이를 제공합니다.

Voyage는 더 발전하고 특화된 모델을 적극적으로 개발하고 있으며, 개별 고객을 위한 맞춤형 모델을 미세 조정하는 서비스도 제공합니다. 맞춤형 모델에 대한 자세한 내용은 Anthropic 계정 관리자에게 이메일을 보내거나 Anthropic 지원팀에 문의하세요.

  • voyage-finance-2: 출시 예정

  • voyage-law-2: 출시 예정

  • voyage-multilingual-2: 출시 예정

  • voyage-healthcare-2: 출시 예정


AWS Marketplace의 Voyage

Voyage 임베딩은 AWS Marketplace에서도 사용할 수 있습니다. AWS에서 Voyage에 액세스하는 방법은 다음과 같습니다:

  1. 모델 패키지 구독

    1. 모델 패키지 목록 페이지로 이동하여 배포할 모델을 선택합니다.

    2. Continue to subscribe 버튼을 클릭합니다.

    3. Subscribe to this software 페이지의 세부 정보를 주의 깊게 검토합니다. 표준 최종 사용자 사용권 계약(EULA), 가격 책정 및 지원 약관에 동의하는 경우 "Accept Offer"를 클릭합니다.

    4. Continue to configuration을 선택하고 리전을 선택한 후 Product Arn이 표시됩니다. 이것은 Boto3를 사용하여 배포 가능한 모델을 만드는 데 필요한 모델 패키지 ARN입니다.

      1. 선택한 리전에 해당하는 ARN을 복사하여 다음 셀에서 사용합니다.

  2. 모델 패키지 배포

여기에서 Sagemaker Studio에서 JupyterLab 공간을 만들고 Voyage의 노트북을 업로드한 다음 내부 지침을 따르세요.


자주 묻는 질문

두 임베딩 벡터 사이의 거리는 어떻게 계산하나요?

코사인 유사도가 널리 사용되는 선택이지만 대부분의 거리 함수가 잘 작동합니다. Voyage 임베딩은 길이 1로 정규화되므로 코사인 유사도는 두 벡터 사이의 내적과 기본적으로 동일합니다. 다음은 두 임베딩 벡터 사이의 코사인 유사도를 계산하는 데 사용할 수 있는 코드 스니펫입니다.

import numpy

similarity = np.dot(embd1, embd2)
# Voyage embeddings are normalized to length 1, therefore cosine similarity  
# is the same as dot-product.

대규모 말뭉치에서 K개의 가장 가까운 임베딩 벡터를 찾으려면 대부분의 벡터 데이터베이스에 내장된 기능을 사용하는 것이 좋습니다.

임베딩하기 전에 문자열의 토큰 수를 계산할 수 있나요?

예! 다음 코드로 수행할 수 있습니다.

import voyageai

vo = voyageai.Client()
total_tokens = vo.count_tokens(["Sample text"])

Claude for Sheets 사용 가이드

Claude for Sheets 확장을 사용하여 Google Sheets에서 Claude를 호출할 수 있습니다. Claude for Sheets는 Claude와 Google Sheets 간의 원활한 통합을 가능하게 하여 셀에서 직접 Claude와의 상호 작용을 실행할 수 있습니다. 이 도구를 사용하면 평가 세트를 구성한 다음 평가 세트의 모든 항목에 대해 병렬로 다양한 프롬프트를 테스트할 수 있어 쉽고 빠른 프롬프트 엔지니어링이 가능합니다. 별도로, Claude for Sheets는 설문 조사 결과 처리 및 분류와 온라인에서 찾은 테이블 데이터 분석과 같은 다양한 사무 작업에 매우 뛰어난 것으로 나타났습니다.

Claude for Sheets 설치

다음 단계를 사용하여 쉽게 Claude for Sheets를 활성화할 수 있습니다:

  1. Claude API 키 받기: 개발자 API 키가 없으면 Claude for Sheets를 사용할 수 없습니다. API 키 획득 방법에 대한 자세한 내용은 Claude 액세스 권한 얻기를 참조하세요.

  2. Claude for Sheets 확장 설치

    1. 여기를 클릭하여 Claude for Sheets 확장에 액세스하거나 추가 기능 마켓플레이스에서 Claude for Sheets를 검색하세요.

    2. 파란색 Install 버튼을 클릭하고 권한을 수락하세요.

  3. API 키 연결: Extensions > Claude for Sheets™ > Enter your Anthropic API Key에서 API 키를 입력하세요. "Enter your Anthropic API key"가 옵션으로 나타나려면 기다리거나 새로 고침해야 할 수 있습니다.

API 키 입력

녹색 '검증됨' 체크 표시 ✅가 나타나면 Claude가 활성화되어 Google Sheet에서 사용할 준비가 된 것입니다.

🚧

새 Google Sheet를 만들 때마다 API 키를 다시 입력해야 합니다.

권한

설치 중에 Claude for Sheets 확장은 제대로 작동하는 데 필요한 다양한 권한을 요청합니다. Sheets에서 Claude를 실행하는 데 요청되는 권한은 광범위하지만, 사용자가 Claude에게 실행을 요청한 특정 데이터 조각만 처리한다는 점을 안심하세요. 이 데이터는 절대 생성 모델을 학습하는 데 사용되지 않습니다.

확장 권한에는 다음이 포함됩니다:

  • 이 애플리케이션이 설치된 스프레드시트 보기 및 관리 - 프롬프트 실행 및 결과 반환에 필요

  • 외부 서비스에 연결 - Anthropic의 API 엔드포인트를 호출하는 데 필요

  • 사용자가 없을 때 이 애플리케이션 실행 허용 - 사용자 개입 없이 셀 재계산을 실행하는 데 필요

  • Google 애플리케이션 내 프롬프트 및 사이드바에서 타사 웹 콘텐츠 표시 및 실행 - 사이드바 및 설치 후 프롬프트를 표시하는 데 필요

📘

셀 재계산

Claude for Sheets 확장 메뉴 내 재계산 옵션에서 선택하여 #ERROR!, DEFERRED 또는 THROTTLED 셀을 수동으로 재계산할 수 있습니다.

셀 재계산 옵션


Claude for Sheets 사용 방법

Claude 함수

Claude for Sheets를 사용하여 Claude를 호출하는 데 사용할 수 있는 두 가지 주요 함수가 있습니다:

1. CLAUDE()

=CLAUDE(prompt, model, params...)

CLAUDE()는 Claude for Sheets를 사용하여 Claude를 호출하는 가장 간단한 방법입니다. 이 함수를 사용하려면 추가 서식 없는 일반 텍스트 프롬프트만 있으면 됩니다. 이것이 대부분의 경우 사용하고 싶어 하는 함수입니다. 이는 Slackbot Claude 인터페이스 및 콘솔의 "Chat" 모드와 동일합니다.

CLAUDE() 프롬프트 예제
프롬프트함수 형식
In one sentence, what is good about the color blue?=CLAUDE("In one sentence, what is good about the color blue?")
In one sentence, what is good about the color blue? Output your answer in <answer> tags.
With parameters
=CLAUDE("In one sentence, what is good about the color blue? Output your answer in <answer> tags.",
"claude-3-opus-20240229",
"temperature", 0.2,
"max_tokens", 50,
"stop_sequences", "[""</answer>""]",
"api_key", "sk-ant-api03-j1W..."
)

2. CLAUDEMESSAGES()

=CLAUDEMESSAGES(prompt, model, params...)

Messages API를 사용하는 것처럼 User:Assistant: 메시지 시리즈를 Claude에 보내려면 CLAUDEMESSAGES()를 사용하세요. 이는 대화를 시뮬레이션하거나 Claude의 응답을 미리 채우려는 경우 특히 유용합니다.

각 역할(User: 또는 Assistant:) 앞에는 단일 줄 바꿈이 있어야 합니다. 셀에서 줄 바꿈을 입력하려면 다음 키 조합을 사용하세요:

  • Mac: Cmd + Enter

  • Windows: Alt + Enter

미리 채워진 어시스턴트 응답이 있는 CLAUDEMESSAGES() 프롬프트 예제
프롬프트함수 형식
User: In one sentence, what is good about the color blue?
Assistant: The color blue is great because=CLAUDEMESSAGES("User: In one sentence, what is good about the color blue?
Assistant: The color blue is great because")
시스템 프롬프트가 있는 CLAUDEMESSAGES() 호출 예제

시스템 프롬프트를 사용하려면 다른 선택적 함수 매개변수를 설정하는 것처럼 설정하세요. (먼저 모델 이름을 설정해야 합니다.)

=CLAUDEMESSAGES("User: Got anything to say to me? Assistant:", "claude-2.0", "system", "You are a cow who loves to moo in response to any and all user queries.")

3. (레거시) CLAUDEFREE()

=CLAUDEFREE(prompt, model, params...)

CLAUDEFREE()를 사용하면 레거시 Text Completions API를 사용하는 것처럼 Claude를 호출할 수 있습니다. 이 함수를 사용하려면 Text Completions 프롬프트와 마찬가지로 프롬프트를 nnHuman:nnAssistant: 사이에 수동으로 끼워 넣어야 합니다. 셀에서 프롬프트를 작성할 때 nn을 실제 줄 바꿈 두 개로 바꾸세요.

CLAUDEFREE의 특수 "Human:"/"Assistant:" 서식에 대한 자세한 내용은 Text Completions API 문서를 참조하세요.

참고: 이 전체 여러 줄 문자열이 프롬프트 매개변수에 들어가야 합니다. Human: 앞의 줄 바꿈 두 개도 확인하세요.

선택적 함수 매개변수

API 매개변수를 지정하려면 인수-값 쌍을 나열하여 수행할 수 있습니다. 예를 들어 max_tokens를 3으로 설정하려면 다음과 같이 할 수 있습니다: =CLAUDE("[your prompt]", "claude-instant-1.2", "max_tokens", 3).

여러 매개변수를 설정할 수 있습니다. 각 인수와 값 쌍을 쉼표로 구분하여 차례로 나열하면 됩니다. 처음 두 매개변수는 항상 프롬프트와 모델(사용 가능한 모델)이어야 합니다. 모델을 설정하지 않고는 선택적 매개변수를 설정할 수 없습니다.

예를 들어 다음은 유효한 CLAUDE 함수입니다: =CLAUDE("[your prompt]", "claude-instant-1.2", "system", "[system prompt]", "max_tokens", 3, "temperature", 0.5)

가장 신경 쓰고 싶은 인수-값 매개변수는 다음과 같습니다:

  • max_tokens - 모델이 강제로 중지되기 전에 출력하는 총 토큰 수입니다. 예/아니요 또는 객관식의 경우 아마도 1-2를 원할 것입니다. 각 모델의 최대 완료 길이는 모델 비교 표를 참조하세요.

  • temperature - 결과에 주입되는 무작위성의 양입니다. 객관식 또는 분석 작업의 경우 0에 가깝게 설정하고 싶을 것입니다. 아이디어 생성을 위해서는 1로 설정하는 것이 좋습니다.

  • system - =CLAUDEMESSAGES()와 =CLAUDE()를 사용할 때 Claude에 컨텍스트와 지침을 제공할 수 있는 시스템 프롬프트를 지정하는 데 사용됩니다.

  • stop_sequences - 모델이 이를 만나면 텍스트 생성을 중지하게 만드는 문자열의 JSON 배열입니다. Google Sheets™의 이스케이프 규칙으로 인해 문자열 내부의 큰따옴표는 두 배로 하여 이스케이프해야 합니다.

  • api_key - Claude를 호출할 특정 API 키를 지정하는 데 사용됩니다.


Claude for Sheets 가이드 및 예제

프롬프트 엔지니어링 대화형 자습서

API 버전 참고

프롬프트 엔지니어링 대화형 자습서프롬프팅 예제 워크벤치와 같이 이 섹션 내에 링크된 모든 Claude for Sheets 스프레드시트는 현재 Text Completions API를 호출하는 레거시 CLAUDEFREE() 함수를 사용합니다. 이러한 내용은 CLAUDEMESSAGES()와 Messages API를 활용하도록 곧 업데이트될 예정입니다.

Claude for Sheets 추가 기능을 활용하는 심층적인 프롬프트 엔지니어링 대화형 자습서를 방문하여 초급부터 고급까지의 프롬프트 엔지니어링 기술을 학습하거나 복습하세요.

Claude for Sheets의 나머지 부분과 마찬가지로 자습서와 상호 작용하려면 API 키가 필요합니다.

Claude for Sheets 프롬프팅 예제

예제 프롬프트, 프롬프팅 구조 및 Claude 기반 스프레드시트는 Claude for Sheets 프롬프팅 예제 워크벤치를 참조하세요. 여기에서 다음과 같은 작업에 대한 예제를 찾을 수 있습니다:

  • 장문 문서 Q&A

  • 정보 추출

  • PII 제거

  • FAQ를 사용한 고객 지원 챗봇

  • 학습 튜터

  • 프롬프트 체이닝

  • 함수 호출

  • 그 외 다수!

Claude for Sheets 워크북 템플릿

Claude for Sheets 워크북 템플릿의 사본을 만들어 고유한 Claude for Sheets 작업을 시작하세요!


문제 해결

  1. 현재 시트에서 사용할 수 있도록 확장을 활성화했는지 확인하세요.

    1. Extensions > Add-ons > Manage add-ons로 이동하세요.

    2. Claude for Sheets 확장 오른쪽 상단의 점 세 개 메뉴를 클릭하고 "Use in this document"가 선택되어 있는지 확인하세요.

  2. 페이지를 새로 고침하세요.

API 키를 입력할 수 없음

  1. 20초 정도 기다렸다가 다시 확인하세요.

  2. 페이지를 새로 고침하고 다시 20초 정도 기다리세요.

  3. 확장을 제거했다가 다시 설치하세요.


함수 및 외부 도구

공식적인 지원은 아직 작업 중이지만, Claude는 처음 학습한 것 이상으로 기능을 확장하기 위해 외부 클라이언트 측 도구 및 함수와 상호 작용할 수 있는 기능을 갖추고 있습니다. 이를 통해 Claude에 사용자 지정 도구를 제공하여 더 다양한 작업을 수행할 수 있습니다.

도구 사용은 함수 호출로도 알려져 있습니다. 두 용어는 서로 교환하여 사용할 수 있습니다.

Claude 3 모델에서 사용하려면 SDK의 최신 버전을 사용해야 합니다.(여기에서 확인 가능)
코드 기반 예제 구현으로 바로 이동하려면 함수 호출 노트북을 참조하세요.


도구 사용 작동 방식

Claude에 사용할 수 있는 도구와 함수에 대한 설명을 제공하면 Claude는 질문에 답하고 작업을 완료하는 데 도움이 되도록 해당 도구를 언제 어떻게 사용할지 지능적으로 결정할 수 있습니다.

예를 들어, Claude에 (프롬프트로) 주어진 위치의 현재 날씨를 검색하는 get_weather(location)라는 함수가 있다고 가정해 보겠습니다. 사용자가 "런던의 현재 날씨는 어떤가요?"라고 묻는다면 Claude는 제공한 get_weather 함수를 사용하여 답을 찾을 수 있다는 것을 인식할 것입니다.

내부적으로 이는 다음과 같은 다단계 프로세스입니다:

  1. 함수 정의와 사용자 질문은 단일 프롬프트로 Claude에 전달됩니다.

    • Claude가 도구를 사용할지 성공적으로 결정하려면 도구 및 설명뿐만 아니라 사용 사례 및 도구의 복잡성에 따라 그러한 도구를 사용해야 하는 상황의 예시도 필요할 가능성이 큽니다.

  2. Claude는 사용자의 질문을 평가하고 어떤 함수를 어떤 인수로 호출할지 결정합니다.

  3. Claude는 적절한 형식의 함수 호출을 구성합니다.

  4. 함수 호출은 명확한 stop_sequence로 클라이언트 코드에서 가로챈 후 실제 함수는 클라이언트 측에서 실행됩니다.

  5. 함수 결과는 Claude에 다시 전달됩니다.

  6. Claude는 함수 결과를 사용하여 사용자에 대한 최종 응답을 작성합니다.

이 기술을 통해 Claude는 대화형 인터페이스를 유지하면서 외부 지식과 기능을 활용할 수 있습니다.


함수 정의

함수는 XML 태그로 묶인 함수에 대한 설명을 Claude에 제공하여 정의합니다. 설명에는 다음이 포함되어야 합니다:

  • 함수 이름

  • 함수가 수행하는 작업에 대한 일반 텍스트 설명

  • 예상되는 매개변수, 해당 유형 및 설명

  • 반환 값 및 유형

  • 발생할 수 있는 예외

다음은 함수 정의의 예입니다:

<tool_description>  
<tool_name>get_weather</tool_name>
<description>
Retrieves the current weather for a specified location.
Returns a dictionary with two fields:
- temperature: float, the current temperature in Fahrenheit
- conditions: string, a brief description of the current weather conditions 
Raises ValueError if the provided location cannot be found.
</description>
<parameters>
<parameter>
<name>location</name>
<type>string</type>
<description>The city and state, e.g. San Francisco, CA</description> 
</parameter>
</parameters>
</tool_description>

좋은 함수 설명을 작성하기 위한 몇 가지 팁:

  • 명확하고 간결하되 Claude가 함수를 사용해야 할 때를 이해하는 데 충분한 세부 정보를 제공하세요.

  • 매개변수와 반환 값의 유형을 지정하세요.

  • 발생할 수 있는 관련 예외를 언급하세요.

  • 코드 구문이 아닌 일반 텍스트 설명을 사용하세요.


함수 호출 형식

Claude가 함수를 호출하려면 매우 특정한 형식의 XML 블록을 출력해야 합니다. 형식은 다음과 같습니다:

<function_calls>
<invoke>
<tool_name>function_name</tool_name>
<parameters>
<param1>value1</param1>
<param2>value2</param2>
</parameters>
</invoke>
</function_calls>

<function_calls> 블록에는 Claude가 동시에 둘 이상의 함수를 호출하는 경우 여러 <invoke> 블록이 포함될 수 있습니다. 각 <invoke>에는 호출되는 함수의 이름과 전달되는 매개변수가 포함됩니다.

Claude가 함수를 호출한 후 텍스트 생성을 중지하도록 하려면 API 호출에 </function_calls>stop_sequence로 전달해야 합니다.

<function_calls> 블록 이후, 적절한 중지 시퀀스가 있다고 가정하면 Claude는 생성을 중지하고 함수 결과가 다음과 같은 <function_results> 블록으로 다시 전달되기를 기다립니다:

<function_results>
<result>
<tool_name>function_name</tool_name>
<stdout>
function result goes here
</stdout>
</result>  
</function_results>

함수 결과는 <stdout> 태그 안에 배치해야 합니다. 함수에서 예외가 발생한 경우 다음과 같이 반환해야 합니다:

<function_results>
<error>
error message goes here  
</error>
</function_results>  

전체 함수 결과는 이전의 대화를 계속하는 메시지로 Claude에 다시 전달되어야 합니다. 함수 결과를 수신한 후 Claude는 결과를 응답에 통합하기 위해 생성을 계속합니다.


도구 사용 프롬프트 예시

다음은 Claude에 두 가지 함수를 제공하고 이를 사용해야 하는 질문을 포함하는 프롬프트의 전체 예제입니다:

내용
SystemIn this environment you have access to a set of tools you can use to answer the user's question.
You may call them like this:
<function_calls>
<invoke>
<tool_name>$TOOL_NAME</tool_name>
<parameters>
<$PARAMETER_NAME>$PARAMETER_VALUE</$PARAMETER_NAME>
...
</parameters>
</invoke>
</function_calls>

Here are the tools available: <tools> <tool_description> <tool_name>get_current_stock_price</tool_name> <description>Gets the current stock price for a company. Returns float: The current stock price. Raises ValueError: if the input symbol is invalid/unknown.</description> <parameters> <parameter> <name>symbol</name> <type>string</type> <description>The stock symbol of the company to get the price for.</description> </parameter> </parameters>
</tool_description>

<tool_description> <tool_name>get_ticker_symbol</tool_name> <description>Gets the stock ticker symbol for a company searched by name. Returns str: The ticker symbol for the company stock. Raises TickerNotFound: if no matching ticker symbol is found.</description> <parameters> <parameter> <name>company_name</name> <type>string</type> <description>The name of the company.</description> </parameter> </parameters> </tool_description> </tools>

| | User | What is the current stock price of General Motors? |

Claude의 응답은 다음과 같습니다:

내용
Assistant<scratchpad>
To answer this question, I will need to:
1. Get the ticker symbol for General Motors using the get_ticker_symbol() function.
2. Use the returned ticker symbol to get the current stock price using the get_current_stock_price() function.
</scratchpad>

<function_calls> <invoke> <tool_name>get_ticker_symbol</tool_name> <parameters> <company_name>General Motors</company_name> </parameters> </invoke> </function_calls>

|

Claude는 먼저 get_ticker_symbol을 호출하여 General Motors의 티커 기호를 검색합니다. </function calls> 중지 시퀀스를 통해 Claude가 함수를 호출하려고 한다는 것을 인식할 수 있습니다. 관련 XML 태그 사이에서 관련 데이터를 추출하고 Claude를 대신하여 함수를 실행합니다. 그런 다음 <function_results> 태그에 결과를 Claude에 다시 전달합니다.

내용
User<function_results>
<result>
<tool_name>get_ticker_symbol</tool_name>
<stdout>
GM
</stdout>
</result>
</function_results>

이제 Claude는 티커 기호를 알고 있으므로 get_current_stock_price를 호출하고 현재 가격을 얻어야 한다고 결정합니다.

내용
Assistant<function_calls>
<invoke>
<tool_name>get_current_stock_price</tool_name>
<parameters>
<symbol>GM</symbol>
</parameters>
</invoke>
</function_calls>

우리는 이 결과도 다시 전달합니다.

내용
User<function_results>
<result>
<tool_name>get_current_stock_price</tool_name>
<stdout>
38.50
</stdout>
</result>
</function_results>

이 전체 대화 체인은 Claude에게 필요한 모든 세부 정보를 제공하므로 Claude는 최종 출력으로 사용자에게 답변할 수 있습니다.

내용
<answer>
The current stock price of General Motors is $38.50.
</answer>

초기 알파 도구 사용 SDK

함수 정의 및 함수 호출을 위한 XML 형식을 작성하는 것은 정확히 맞추기가 까다로울 수 있습니다. 이를 더 쉽게 하기 위해 XML을 추상화하고 네이티브 Python 구문을 사용하여 함수를 정의하고 호출할 수 있는 초기 알파 도구 사용 SDK를 만들었습니다.

기본 형식을 계속 개선하고 도구 사용에 대한 지원을 개선하는 동안 이 SDK를 사용하여 도구 통합을 만드는 것이 좋습니다.

참고: Claude 3 제품군 모델과 함께 작동하려면 SDK의 최신 버전을 사용해야 합니다.


도구 사용 FAQ

주어진 상호 작용에서 Claude에 전달할 수 있는 도구는 몇 개인가요?

Claude가 사용할 도구와 함수를 원하는 만큼 정의할 수 있지만, 현재는 사용 사례의 복잡성과 문제의 함수에 따라 3~5개를 초과하지 않는 것이 좋습니다.

Claude가 알고 있는 내장 도구가 있나요?

아니요. Claude를 사용하려는 모든 도구는 도구 사용 프롬프트 내에서 직접 정의해야 합니다. Claude에는 가장 잘 작동하는 함수 및 정의의 미리 정의된 목록이 없습니다.


예정된 개선 사항

함수 호출 기능 및 지원을 개선하기 위해 적극적으로 노력하고 있습니다. 가까운 미래에 기대할 수 있는 몇 가지 향상된 기능은 다음과 같습니다:

  • 함수 정의 및 호출을 위한 보다 간소화된 형식

  • 보다 강력한 오류 처리 및 에지 케이스 적용

  • 나머지 API와의 더 긴밀한 통합

  • 특히 더 복잡한 함수 호출 작업에서의 더 나은 신뢰성과 성능

핵심 기능은 동일하게 유지되지만 정확한 구문은 변경될 가능성이 있습니다. 그 동안에는 초기 알파 도구 사용 SDK를 사용하는 것이 좋습니다. 이를 통해 저수준 세부 정보를 추상화할 수 있습니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 1617
heart
T
페이지 기반 대답
AI Chat