LLPhant/LLPhant
LLPhant - A comprehensive PHP Generative AI Framework using OpenAI GPT 4. Inspired by Langchain
TL;DR
LLPhant는 대규모 언어 모델(OpenAI, Anthropic, Mistral, Ollama 등)을 호출하고 벡터 데이터베이스와 연동하여 PHP 애플리케이션(Symfony, Laravel)에서 검색 증강 생성(RAG) 또는 자율 AI 에이전트를 구축할 수 있게 해주는 PHP 라이브러리입니다. 또한 안전한 루브릭 스타일의 채점을 위한 Jev 기반 분류기가 포함되어 있습니다.
기능 설명
- LLM 액세스 – 많은 인기 LLM API(OpenAI, Anthropic, Mistral, Ollama, LM Studio, Atlas Cloud, Heabsy, LocalAI 등)에 대한 가벼운 래퍼를 제공합니다.
- 벡터 저장소 통합 – RAG 파이프라인의 핵심인 문서 임베딩 저장 및 유사도 검색을 수행할 수 있습니다.
- 에이전트 / QA 도우미 – 질문 답변, 도구 호출, 자율 에이전트를 위한 즉시 사용 가능한 클래스를 제공하여 Symfony 또는 Laravel 프로젝트에 바로 적용할 수 있습니다.
- JevClassifier – 프롬프트 인젝션 공격을 표시하고 루브릭 기반 점수를 제공하며 토큰 사용량 메타데이터를 노출할 수 있는 안전/품질 분류기(Noul, Choice, Score)입니다.
- 프레임워크 친화적 – PHP 프레임워크인 Symfony 및 Laravel과 원활하게 작동하도록 설계되었습니다.
대상 사용자
- PHP 개발자:익숙한 기술 스택을 유지하면서 생성형 AI 기능(챗봇, 문서 검색, 요약, 자율 에이전트)을 추가하려는 분.
- Laravel/Symfony 기반 내부 도구 구축 팀:LLM 쿼리나 RAG 파이프라인 실행이 필요한 팀.
- 기업:이미 PHP 백엔드를 보유하고 있으며 AI 강화 서비스를 빠르게 실험하려는 기업.
시작하기 (빠른 단계)
- Composer를 통한 설치:
(GD 확장 기능이 없는 경우composer require theodo-group/llphant--ignore-platform-req=ext-gd를 추가하세요.) - LLM 공급자 설정 – 적절한 API 키(예:
OPENAI_API_KEY)를 설정하고 드라이버(OpenAI,Anthropic,Ollama등)를 선택합니다. - 벡터 저장소 생성(예: Pinecone, Milvus 또는 로컬 SQLite 기반 저장소 사용) 및 제공된 임베딩 도우미로 문서 인덱싱.
- 고수준 클래스 사용(
QuestionAnswering또는Agent등)을 통해 RAG 쿼리나 자율 워크플로우 실행. - (선택 사항) Jev 보안 추가 –
JEV_API_KEY를 내보내고new JevClassifier()를 인스턴스화하여 유형화된 루브릭 점수와 프롬프트 인젝션 감지 기능을 사용합니다.
새로운 기능 / 주목할 점
- 유형화된 Jev 분류 – 세 가지 루브릭 유형(
Noul,Choice,Score)을 지원합니다. 반환된 답변에는 비용 추적을 위한inputTokens및outputTokens가 포함됩니다. - 프롬프트 인젝션 방지 –
ClassifierPromptInjectionQueryTransformer를 QA 파이프라인에 연결하여 악의적인 입력을 필터링할 수 있습니다. - 광범위한 LLM 지원 – Mistral, Atlas Cloud, Heabsy 및 로컬 실행 Ollama 모델(예: Llama 2)과 같은 최신 서비스에 대한 드라이버가 추가되었습니다.
코드 스케치 (예시이며 전체가 아님)
use LLPhant\LLM\OpenAI\OpenAIClient;
use LLPhant\VectorStore\Pinecone\PineconeStore;
use LLPhant\Agent\QuestionAnswering;
use LLPhant\Classifier\JevClassifier;
$llm = new OpenAIClient(apiKey: getenv('OPENAI_API_KEY'));
$vectorStore = new PineconeStore(apiKey: getenv('PINECONE_KEY'));
$qa = new QuestionAnswering($llm, $vectorStore);
// 선택적 보안 계층
$classifier = new JevClassifier();
$qa->addTransformer($classifier->getPromptInjectionTransformer());
$response = $qa->ask('How does quantum entanglement work?');
print_r($response->content);
print "Tokens used: {$response->inputTokens} → {$response->outputTokens}\n";
더 알아보기
- 문서 –
docs/폴더 또는 https://llphant.readthedocs.org - 비디오 튜토리얼(프랑스어) – Symfony로 RAG 앱 구축하기, 자율 에이전트 만들기.
- 슬라이드 및 기사 – 링크된 Medium 및 SlideShare 게시물에서 더 깊은 아키텍처 논의를 확인하세요.
LLPhant는 생성형 AI와 벡터 검색 기능을 PHP 생태계에 도입하기 위한 순수 오픈 소스 PHP 프로젝트입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트