본문 바로가기
프로그래밍/Web

Laravel Prism 사용하기(번역) - 1 -

by 사악신 2024. 10. 14.

Introduction

대규모 언어 모델(LLM)은 인공지능과의 상호작용 방식을 혁신했습니다. 이를 통해 애플리케이션은 전례 없는 정교함으로 인간의 언어를 이해하고, 생성하며, 조작할 수 있게 되었습니다. 이러한 강력한 모델들은 개발자들에게 챗봇과 콘텐츠 생성기 제작부터 복잡한 AI 기반 애플리케이션 구축에 이르기까지 흥미로운 가능성을 열어줍니다.

Prism은 LLM을 Laravel 프로젝트에 통합하는 과정을 단순화하여, 다양한 AI 제공자들과 작업할 수 있는 통합 인터페이스를 제공합니다. 이를 통해 개발자는 서로 다른 API와 구현 세부사항의 복잡성에 얽매이지 않고, 사용자를 위한 혁신적인 AI 기능을 만드는 데 집중할 수 있습니다.

다음은 Prism을 사용하여 텍스트를 생성하는 간단한 예시입니다:

Anthropic

<?php

$prism = Prism::text()
    ->using('anthropic', 'claude-3-5-sonnet-20240620')
    ->withSystemPrompt(view('prompts.nyx'))
    ->withPrompt('Explain quantum computing to a 5-year-old.');

$response = $prism();

echo $response->text;

OpenAI

<?php

$prism = Prism::text()
    ->using('openai', 'gpt-4o')
    ->withSystemPrompt(view('prompts.nyx'))
    ->withPrompt('Explain quantum computing to a 5-year-old.');

echo $prism()->text;

Ollama

<?php

$prism = Prism::text()
    ->using('ollama', 'qwen2.5:14b')
    ->withSystemPrompt(view('prompts.nyx'))
    ->withPrompt('Explain quantum computing to a 5-year-old.');

echo $prism()->text;

Prism은 Vercel AI SDK로부터 상당한 영감을 받았으며, 그 강력한 개념과 개발자 친화적인 접근 방식을 Laravel 생태계에 맞게 적용했습니다.

Prism의 주요 기능은 다음과 같습니다:

  • 다양한 AI 제공자를 위한 통합 인터페이스
  • Laravel 생태계와의 원활한 통합
  • AI 기반 도구 및 함수 호출에 대한 내장 지원
  • AI 상호작용을 미세 조정할 수 있는 유연한 구성 옵션

AI로 Laravel 앱의 성능을 높일 준비가 되셨나요? Prism이 여러분의 개발 과정을 어떻게 변화시킬 수 있는지 함께 살펴보겠습니다!

Installation

Prism을 시작하는 것은 매우 간단합니다. 다음 단계를 따라 Laravel 프로젝트에 Prism을 추가하고 AI 기반 텍스트 생성의 힘을 활용해보세요.

요구사항

시작하기 전에 프로젝트가 다음 요구사항을 충족하는지 확인하세요:

  • PHP 8.3 이상
  • Laravel 11.0 이상

1단계: Composer 설치

먼저 Composer를 사용하여 프로젝트에 Prism을 추가합니다. 터미널을 열고 프로젝트 디렉토리로 이동한 후 다음 명령을 실행하세요:

composer require echolabsdev/prism

이 명령은 Prism과 그 의존성을 프로젝트에 다운로드합니다.

2단계: 설정 파일 게시

Prism에는 사용자 지정할 수 있는 설정 파일이 포함되어 있습니다. 다음 명령을 실행하여 config 디렉토리에 게시하세요:

php artisan vendor:publish --tag=prism-config

이 명령은 config/prism.php에 새 파일을 생성합니다. 다음 섹션에서 Prism 구성 방법을 살펴보겠습니다.

3단계: 환경 설정

Prism은 여러 AI 제공자를 지원합니다. 사용하는 제공자에 따라 적절한 API 키를 .env 파일에 추가해야 합니다. 다음은 OpenAI와 Anthropic의 예시입니다:

OPENAI_API_KEY=여기에_openai_api_키를_입력하세요
ANTHROPIC_API_KEY=여기에_anthropic_api_키를_입력하세요

이게 전부입니다!

이제 Laravel 프로젝트에 Prism을 성공적으로 설치했습니다. 이제 텍스트 생성, 도구 사용, AI 기반 애플리케이션을 쉽게 만들 수 있습니다.

Configuration

Prism의 유연한 설정을 통해 다양한 AI 제공자를 쉽게 설정하고 전환할 수 있습니다. Ollama에 대한 즉시 사용 가능한 지원을 포함하여 다양한 서비스와 함께 Prism을 구성하는 방법을 살펴보겠습니다.

드라이버 패턴

Prism은 여러 AI 제공자를 지원하기 위해 드라이버 패턴을 사용합니다. 이 디자인을 통해 애플리케이션 코드를 변경하지 않고도 새로운 제공자를 쉽게 추가하고 전환할 수 있습니다. 현재 Prism은 다음 드라이버를 지원합니다:

  • OpenAI
  • Anthropic
  • Ollama (OpenAI 드라이버 사용)

다른 제공자 사용하기

애플리케이션에서 특정 제공자를 사용하려면 다음과 같이 할 수 있습니다:

Prism::text()
  ->using('openai', 'gpt-4') 
  ->withPrompt('안녕, AI!');

제공자를 전환하려면 openai를 anthropic 또는 ollama 로 변경하면 됩니다.

설정 파일

설치 후, config/prism.php에서 Prism 설정 파일을 찾을 수 있습니다. 주요 섹션을 살펴보겠습니다:

<?php

return [
    'prism_server' => [
        'enabled' => env('PRISM_SERVER_ENABLED', true),
    ],
    'providers' => [
        'openai' => [
            'driver' => 'openai',
            'url' => env('OPENAI_URL', 'https://api.openai.com/v1'),
            'api_key' => env('OPENAI_API_KEY'),
            'organization' => env('OPENAI_ORGANIZATION', null),
        ],
        'anthropic' => [
            'driver' => 'anthropic',
            'api_key' => env('ANTHROPIC_API_KEY'),
            'version' => env('ANTHROPIC_API_VERSION', '2023-06-01'),
        ],
        'ollama' => [
            'driver' => 'openai',
            'url' => env('OLLAMA_URL', 'http://localhost:11434/v1'),
        ],
    ],
];

Prism 서버

prism_server 섹션에서는 Prism Server 기능을 활성화하거나 비활성화할 수 있습니다. 자세한 내용은 prism server 섹션에서 다룹니다.

드라이버

providers 섹션에서 AI 서비스 제공자를 구성합니다. 각각을 살펴보겠습니다:

OpenAI

'openai' => [
    'driver' => 'openai',
    'url' => env('OPENAI_URL', 'https://api.openai.com/v1'),
    'api_key' => env('OPENAI_API_KEY'),
    'organization' => env('OPENAI_ORGANIZATION', null),
],

이 구성은 OpenAI 드라이버를 사용합니다. .env 파일에 API 키를 설정하세요:

OPENAI_API_KEY=여기에_openai_api_키를_입력하세요

Anthropic

'anthropic' => [
    'driver' => 'anthropic',
    'api_key' => env('ANTHROPIC_API_KEY'),
    'version' => env('ANTHROPIC_API_VERSION', '2023-06-01'),
],

Anthropic의 경우, .env 파일에 API 키와 선택적으로 API 버전을 설정하세요:

ANTHROPIC_API_KEY=여기에_anthropic_api_키를_입력하세요
ANTHROPIC_API_VERSION=2023-06-01

Ollama

여기서 Prism의 드라이버 패턴이 빛을 발합니다:

'ollama' => [
    'driver' => 'openai',
    'url' => env('OLLAMA_URL', 'http://localhost:11434/v1'),
],

Ollama가 openai 드라이버를 사용한다는 점에 주목하세요. 이는 Ollama가 OpenAI 호환 API를 구현하기 때문에, Prism이 기존 OpenAI 드라이버를 사용하여 통신할 수 있게 합니다. 추가 코드나 별도의 드라이버가 필요 없습니다!

Ollama를 사용하려면 .env 파일에 URL을 설정하세요:

OLLAMA_URL=http://localhost:11434/v1

Ollama를 기본 설정으로 로컬에서 실행 중이라면 이를 변경할 필요도 없습니다.

기본 구성은 이것으로 끝입니다! Prism의 유연한 설정으로 이제 Ollama를 포함한 다양한 AI 제공자를 사용하여 즉시 텍스트 생성을 시작할 수 있습니다.

반응형

댓글