본문 바로가기

전체 글373

Laravel Prism 사용하기(번역) - 7 - Prism 로드맵Prism은 대규모 언어 모델을 다루는 개발자들의 요구를 충족시키기 위해 지속적으로 진화하고 있습니다. 다음은 단기, 중기, 장기 목표로 분류된 우리의 개발 계획입니다.단기 목표우리의 즉각적인 초점은 기존 기능을 개선하고 중요한 기능을 추가하는 것입니다:text 개선: 더 정확하고 맥락적으로 관련성 있는 출력을 제공하기 위해 핵심 텍스트 생성 기능을 향상시킵니다.오류 처리 개선: 더 포괄적인 오류 처리 메커니즘을 구현하여 패키지의 견고성을 향상시킵니다.도구 사용 개선: Prism이 외부 도구를 통합하고 활용하는 방식을 최적화하여 개발자가 AI의 기능을 쉽게 확장할 수 있도록 합니다.text 이미지 지원: 텍스트와 함께 이미지를 생성하고 처리할 수 있는 기능을 추가하여 Prism의 다중 모.. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 6 - 사용자 정의 제공자사용자 정의 제공자 만들기사용자 정의 제공자를 만들려면 EchoLabs\Prism\Contracts\Provider 인터페이스를 구현해야 합니다. 다음은 단계별 가이드입니다:제공자를 위한 새 클래스를 만듭니다. 예: MyCustomProvider.Provider 인터페이스에서 필요한 메서드를 구현합니다:phpmodel = $model; return $this; } public function text(TextRequest $request): ProviderResponse { // 사용자 정의 AI 제공자에게 요청을 보내는 로직을 구현하고 // ProviderResponse 객체를 반환합니다 }}text 메서드에서 다음을 수행해야.. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 5 - 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' => [ .. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 4 - 에이전트Prism의 AI 에이전트는 언어 모델이 비결정적인 방식으로 일련의 단계를 실행할 수 있게 합니다. 모델은 대화 컨텍스트, 사용자 입력, 이전 도구 호출 및 결과를 기반으로 도구 호출 결정을 내릴 수 있습니다.에이전트 구현하기Prism에서 에이전트를 구현하는 효과적인 접근 방식 중 하나는 LLM이 루프에서 다음 단계를 선택할 수 있도록 하는 것입니다. 도구를 withMaxSteps() 메서드와 결합함으로써, 각 단계에서 추론하고 컨텍스트를 기반으로 결정을 내리는 에이전트를 만들 수 있습니다.예시: 수학 문제 해결 에이전트Prism을 사용하여 수학 문제를 해결하는 에이전트를 만들어 보겠습니다. 이 에이전트는 수학 표현식을 평가하기 위해 호출할 수 있는 계산기 도구(PHP의 bcmath 확장을 사용).. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 3 - 도구 호출AI 어시스턴트가 날씨를 확인하거나 실시간 데이터를 조회할 수 있기를 바라셨나요? Prism의 도구 호출 기능을 통해 이제 가능합니다! 이 강력한 기능을 통해 AI가 외부 서비스 및 데이터 소스와 상호 작용할 수 있어, 그 어느 때보다 다재다능하고 유용해졌습니다.도구란 무엇인가요?Prism에서 도구는 AI가 특정 작업을 수행하는 데 사용할 수 있는 특별한 객체입니다. AI의 스위스 아미 나이프라고 생각하세요 - 각 도구는 날씨 확인이나 데이터베이스 검색과 같은 특정 기능을 가지고 있습니다.Prism의 도구를 구성하는 요소는 다음과 같습니다:이름: 도구의 고유 식별자설명: 도구가 하는 일에 대한 간단한 설명매개변수: 도구가 작업을 수행하는 데 필요한 정보함수: 도구가 호출될 때 실행되는 실제 코드.. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 2 - 텍스트 생성하기Prism은 대규모 언어 모델(LLM)을 사용하여 텍스트를 생성하는 강력하고 유연한 인터페이스를 제공합니다. 이 가이드에서는 텍스트 생성의 기본, 구성 옵션, 그리고 생성된 데이터에 접근하는 방법을 안내해 드리겠습니다.기본 사용법Prism을 사용하여 텍스트를 생성하려면 Prism 파사드와 text() 메서드를 사용합니다. 다음은 간단한 예시입니다:using(Provider::Anthropic, 'claude-3-sonnet') ->withPrompt('용감한 기사에 대한 짧은 이야기를 들려주세요.') ->generate();echo $response->text;다양한 제공자와 모델Prism은 여러 AI 제공자와 모델을 지원합니다. using() 메서드에서 이를 지정할 수 있습니다:usi.. 2024. 10. 15.
Laravel Prism 사용하기(번역) - 1 - Introduction대규모 언어 모델(LLM)은 인공지능과의 상호작용 방식을 혁신했습니다. 이를 통해 애플리케이션은 전례 없는 정교함으로 인간의 언어를 이해하고, 생성하며, 조작할 수 있게 되었습니다. 이러한 강력한 모델들은 개발자들에게 챗봇과 콘텐츠 생성기 제작부터 복잡한 AI 기반 애플리케이션 구축에 이르기까지 흥미로운 가능성을 열어줍니다. Prism은 LLM을 Laravel 프로젝트에 통합하는 과정을 단순화하여, 다양한 AI 제공자들과 작업할 수 있는 통합 인터페이스를 제공합니다. 이를 통해 개발자는 서로 다른 API와 구현 세부사항의 복잡성에 얽매이지 않고, 사용자를 위한 혁신적인 AI 기능을 만드는 데 집중할 수 있습니다. 다음은 Prism을 사용하여 텍스트를 생성하는 간단한 예시입니다: .. 2024. 10. 14.
라자루스 3.6 MacOS 소스 설치 2024.04.20 - [프로그래밍/PC] - 라자루스 3.2 MacOS 소스 설치 에서 설치한 환경에서 3.6 으로 업그레이드하는 방법입니다. 먼저 3.6 소스를 가져옵니다.git pullgit checkout tags/lazarus_3_6 빌드합니다.make clean all LCL_PLATFORM=cocoa CPU_TARGET=aarch64 bigide 빌드가 끝나면 아래의 명령어를 실행합니다.xattr -drv com.apple.quarantine * 앱을 실행하면 아래와 같이 이전 버전 설정을 업그레이드할 것인지 여부를 물어봅니다. 이후, 본인의 환경에 맞게 설정해줍니다. 2024. 10. 10.
aws ec2 t2 인스턴스를 t3 로 변경하기 - CentOS 7 오래된 t2 인스턴스를 t3 인스턴스로 변경하기 위하여는 ena 가 활성화 되어야합니다. 먼저, CentOS 7 에 로그인 후, 아래 명령어를 실행합니다. modinfo ena module not found 가 나오면, 해당 모듈을 설치합니다. 이후, 인스턴스를 중지하고 AMI 이미지를 생성합니다. 이렇게 생성된 AMI 이미지의 스냅샷 ID 를 확인한 후에 아래의 명령어를 실행합니다. aws ec2 register-image \ --name "My-AMI-with-ENA" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --block-device-mappings '[{"DeviceName":"/dev/sda1","Ebs":{"SnapshotId.. 2024. 9. 18.
Laravel Wave 테마 만들기 Wave는 완전한 테마 지원을 제공하므로, 뷰를 별도의 테마로 분리할 수 있습니다. 이를 통해 사이트의 새로운 버전을 쉽게 생성하고 필요 시 이전 버전으로 되돌릴 수 있습니다. 또한 백엔드 로직과 프론트엔드를 많이 분리하는 데 도움이 됩니다. Create a Theme 테마를 생성하려면 `resources/views/themes` 폴더 안에 새 폴더를 만들어야 합니다. 이 폴더의 이름을 `sample-theme`라고 해봅시다. 그런 다음 이 폴더 안에 `sample-theme.json`이라는 파일을 만들어야 합니다. 다음과 같이 진행할 수 있습니다:1. `resources/views/themes/sample-theme` 폴더 생성.2. `sample-theme` 폴더 안에 `sample-theme.jso.. 2024. 7. 9.
라자루스 LNet 패키지 설치 - MacOS lclnet.pas 파일을 열어 아래의 내용을 추가합니다. {$ifdef LCLQT5}{$i lclgtkeventer.inc} // identical code ;){$endif}{$ifdef LCLCOCOA}{$i lclgtkeventer.inc} // identical code ;){$endif} 2024. 6. 25.
라자루스 HtmlViewer 패키지 설치 - MacOS 맥에서 설치시 폰트 관련 오류가 발생합니다. HtmlGlobals.pas 에 아래의 소스를 추가한 후에 빌드 & 설치하면 됩니다. {$IFDEF DARWIN} FontSerif = ThtString('Times'); FontMono = ThtString('Courier'); FontSans = ThtString('Helvetica'); FontCursive = ThtString('Apple Chancery'); FontHelvet = ThtString('Helvetica');{$ENDIF DARWIN} 2024. 6. 25.
라자루스 Release, Debug IDE 설정 컴파일러 옵션에서 "Edit build modes" 버튼을 클릭한 후, "Create Debug and Release modes" 를 눌러 빌드 모드를 추가해줍니다. 사용하지 않는 Default 모드는 제거해줍니다. 프로젝트 옵션에서 Compiler Options > Custom Options 에서 빌드 모드에 따른 커스텀 옵션을 지정합니다.Release 에서는 -dRELEASE, Debug 에서는 -dDEBUG 를 지정하고, {$IFDEF RELEASE}, {$IFDEF DEBUG} 와 같이 사용합니다.  디버거 설정은 아래와 같이 합니다. RELEASE DEBUG Paths 설정은 아래의 IDE 매크로를 활용하여 작성합니다.$(TargetCPU)$(TargetOS)$(BuildMode)lib/$(Ta.. 2024. 6. 25.
Continue 사용하기 - Jetbrain, ChatGPT, Startcoder2 Continue 플러그인을 설치합니다.  Local models 를 선택한 다음, continue 후 ollama 관련 설정을 선택하지 않고 continue 를 진행합니다.  우하단의 설정 버튼을 클릭합니다.  config.json 을 편집합니다. 먼저, ChatGPT 를 사용하기 위하여 models 항목을 수정합니다.  "models": [ { "title": "GPT-4o", "provider": "openai", "model": "gpt-4o", "apiKey": "[API키]" } ], tabAutocompleteModel 을 지정합니다. 여기서는 ollama 를 사용하여 starcoder2 를 지정하였습니다. "tabAutocompleteMode.. 2024. 6. 17.
Stable Diffusion webui 설치하기 - Rocky Linux 9 현재 Rocky Linux 9 에서 패키지로 설치할 수 있는 python3 버전은 3.9 와 3.11 입니다. 따라서 3.10 은 소스 설치를 하여야합니다.(3.11 버전이 torch 를 지원하지 않는 관계로 3.10을 사용합니다.) sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-develwget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xztar xvf Python-3.10.14.tar.xzcd Python-3.10.14./configure --enable-optimizationssudo make altinstall 여기서 altinstall 을 사용하는 이유는, 시.. 2024. 4. 30.