> 백엔드 개발 > 파이썬 튜토리얼 > GemBatch를 사용하여 프롬프트 연결 비용 절감

GemBatch를 사용하여 프롬프트 연결 비용 절감

Patricia Arquette
풀어 주다: 2024-11-25 16:14:10
원래의
609명이 탐색했습니다.

Taming the Cost of Prompt Chaining with GemBatch

프롬프트 체인은 대규모 언어 모델(LLM)과 상호 작용하는 방식에 혁명을 일으키고 있습니다. 여러 프롬프트를 함께 연결함으로써 복잡하고 역동적인 대화를 만들고 복잡한 작업을 처리할 수 있습니다. 하지만 이 힘에는 말 그대로 대가가 따릅니다. Google의 Gemini와 같은 LLM 서비스에 대한 각 API 호출은 청구서에 추가됩니다.

많은 LLM 제공업체가 일괄 처리라는 솔루션을 제공합니다. 단일 요청으로 여러 메시지를 보내고 상당한 할인 혜택을 누리세요(보통 약 50%!). 그러나 프롬프트 체인 워크플로 내에서 일괄 처리를 구현하면 코딩의 악몽으로 빠르게 바뀔 수 있습니다.

일괄 프롬프트 체인의 과제

다단계 대화가 가능한 챗봇을 구축한다고 상상해 보세요. 기존 프롬프트 연결을 사용하면 각 사용자 메시지를 보내고 다음 프롬프트를 작성하기 전에 모델의 응답을 기다립니다. 하지만 일괄 할인을 활용하려면 다음을 수행해야 합니다.

  • 프롬프트 축적: 즉시 보내는 대신 프롬프트를 일괄적으로 수집하세요.
  • 비동시성 수용: 배치를 보내고 작업이 완료될 때까지 기다립니다(잠재적으로 더 오랜 시간 동안).
  • 맵 응답: 일괄 결과가 도착하면 각 응답을 체인의 해당 프롬프트에 올바르게 연결합니다.

이 외에도 속도 제한, 오류 및 재시도를 처리해야 합니다. 이는 읽기, 디버그 및 유지 관리가 어려운 복잡한 코드로 이어질 수 있습니다.

GemBatch에 참여하세요: 신속한 체인 영웅

GemBatch는 Google Gemini와의 일괄 프롬프트 연결을 단순화하도록 설계된 Python 프레임워크입니다. Firebase와 원활하게 통합되어 LLM 애플리케이션을 위한 친숙하고 확장 가능한 환경을 제공합니다.

GemBatch가 귀하의 삶을 더 쉽게 만드는 방법은 다음과 같습니다.

  • 간편한 일괄 처리: GemBatch는 일괄 처리 프롬프트의 복잡성을 배후에서 처리합니다. 기존 방법과 마찬가지로 프롬프트 체인을 순차적으로 정의합니다.
  • 비동기 처리: GemBatch는 비동기 배치 작업을 관리하여 애플리케이션을 차단하지 않고 프롬프트 체인이 원활하게 실행되도록 합니다.
  • 간소화된 응답 매핑: GemBatch는 응답을 프롬프트 체인의 올바른 지점으로 자동 라우팅합니다.
  • 비용 절감: Gemini의 일괄 할인을 활용하여 GemBatch는 LLM API 비용을 크게 줄일 수 있습니다.

빠른 예

import gembatch

# Define a simple prompt chain
def task_a_prompt1():
    gembatch.submit(
        {
            "contents": [
                {
                    "role": "user",
                    "parts": [{"text": "What is the capital of France?"}],
                }
            ],
        },  # prompt 1
        "publishers/google/models/gemini-1.5-pro-002",
        task_a_prompt2
    )

def task_a_prompt2(response: generative_models.GenerationResponse):
    gembatch.submit(
        {
            "contents": [
                {
                    "role": "model",
                    "parts": [{"text": response.text}],
                },
                {
                    "role": "user",
                    "parts": [{"text": f"And what is the population of {response.text}?"}],
                }
            ],
        },  # prompt 2
        "publishers/google/models/gemini-1.5-pro-002",
        task_a_output
    )

def task_a_output(response: generative_models.GenerationResponse):
    print(response.text)

# Start the prompt chain
task_a_prompt1() 
로그인 후 복사

이 간단한 예는 Gembatch를 사용하여 gembatch.submit()을 사용하여 프롬프트 체인을 정의하는 방법을 보여줍니다. Gembatch는 Gemini에 대한 요청을 일괄 처리하고 비동기 응답을 관리합니다.

Gembatch 시작하기

비용 효율적인 프롬프트 연결의 힘을 활용할 준비가 되셨나요? GitHub에서 Gembatch 저장소를 확인하세요.

https://github.com/blueworrybear/gembatch

피드백과 제안을 환영합니다!

위 내용은 GemBatch를 사용하여 프롬프트 연결 비용 절감의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿