Prism 서버
Prism 서버는 Prism으로 구동되는 AI 모델을 표준화된 API를 통해 노출할 수 있게 해주는 강력한 기능입니다. 이를 통해 채팅 인터페이스나 OpenAI 호환 API를 지원하는 다른 도구들을 포함한 다양한 애플리케이션에 커스텀 AI 솔루션을 쉽게 통합할 수 있습니다.
작동 원리
Prism 서버는 미들웨어 역할을 하며, OpenAI 호환 클라이언트의 요청을 Prism 특정 작업으로 변환합니다. 이는 ChatGPT 웹 UI나 OpenAI SDK를 사용하여 커스텀 Prism 모델과 상호작용할 수 있음을 의미합니다.
Prism 서버 설정하기
1. Prism 서버 활성화
먼저 config/prism.php
파일에서 Prism 서버가 활성화되어 있는지 확인하세요:
'prism_server' => [
'enabled' => env('PRISM_SERVER_ENABLED', true),
],
2. Prism 등록하기
서버를 통해 Prism 모델을 사용할 수 있게 하려면 등록해야 합니다. 이는 일반적으로 AppServiceProvider
와 같은 서비스 프로바이더에서 수행됩니다:
use EchoLabs\Prism\Facades\Prism;
use EchoLabs\Prism\Facades\PrismServer;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
PrismServer::register(
'my-custom-model',
fn () => Prism::text()
->using('anthropic', 'claude-3-sonnet-20240229')
->withSystemPrompt('당신은 도움이 되는 어시스턴트입니다.')
);
}
}
이 예시에서는 Anthropic Claude 3 Sonnet 모델을 사용하고 커스텀 시스템 메시지를 가진 my-custom-model
이라는 모델을 등록하고 있습니다.
Prism 서버 사용하기
설정이 완료되면 Prism 서버는 두 개의 주요 엔드포인트를 노출합니다:
채팅 완성
등록된 Prism 모델을 사용하여 텍스트를 생성하려면:
curl -X POST "http://your-app.com/prism/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "my-custom-model",
"messages": [
{"role": "user", "content": "안녕하세요, 당신은 누구인가요?"}
]
}'
사용 가능한 모델 목록
등록된 모든 Prism 모델의 목록을 얻으려면:
curl "http://your-app.com/prism/openai/v1/models"
Open WebUI와의 통합
Prism 서버는 Open WebUI와 같은 OpenAI 호환 채팅 인터페이스와 원활하게 작동합니다. 다음은 Docker Compose 구성 예시입니다:
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
environment:
OPENAI_API_BASE_URLS: "http://laravel:8080/prism/openai/v1"
WEBUI_SECRET_KEY: "your-secret-key"
laravel:
image: serversideup/php:8.3-fpm-nginx
volumes:
- ".:/var/www/html"
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
depends_on:
- open-webui
이 설정을 통해 http://localhost:3000
에서 사용자 친화적인 채팅 인터페이스를 통해 Prism 모델에 액세스할 수 있습니다.
Prism 서버를 활용함으로써, 광범위한 도구와 라이브러리 생태계와의 호환성을 유지하면서 강력한 커스텀 AI 경험을 만들 수 있습니다. 챗봇을 구축하든, 콘텐츠 생성 도구를 만들든, 아니면 완전히 새로운 것을 만들든, Prism 서버는 성공에 필요한 유연성과 표준화를 제공합니다.
'프로그래밍 > Web' 카테고리의 다른 글
Laravel Prism 사용하기(번역) - 7 - (0) | 2024.10.15 |
---|---|
Laravel Prism 사용하기(번역) - 6 - (0) | 2024.10.15 |
Laravel Prism 사용하기(번역) - 4 - (0) | 2024.10.15 |
Laravel Prism 사용하기(번역) - 3 - (0) | 2024.10.15 |
Laravel Prism 사용하기(번역) - 2 - (1) | 2024.10.15 |
댓글