Programing
-
[AWS Bedrock] Agents로 Bedrock 기능 구체화하기Programing/AWS 2024. 3. 3. 00:59
이전 글에서 AWS Bedrock을 이용해 RAG를 진행했지만, 퀄리티가 마음에 들지 않습니다. 말투도 바꾸고 싶고, 보여줄 정보와 보여주고 싶지 않은 정보를 구분하고 싶은데 방법이 마땅치 않았습니다. 이런 부분에서 AWS Bedrock이 제공하는 Agents기능이 도움이 됩니다. 자연어를 사용해 프롬프트하고 응답 작업을 세분화하고 조율(오케스트레이션) 동적으로 API를 호출하여 작업 완료 회사 데이터에 안전하고 비공개적으로 액세스 CoT(chain-of-thought) 및 기본 에이전트 프롬프트 표시 당연히 제공되어야 하는 1번째(LLM사용) 사항은 논외로 하고, Amazon Bedrock Agents의 장점은 나머지 사항들이 비교적 손쉽게 자동으로 이루어진다는 점입니다. 예를 들어, 인사관리용 Ass..
-
[AWS Bedrock] RAG를 위한 지식베이스 생성Programing/AWS 2024. 2. 27. 23:19
이전 글에서는 Bedrock을 이용해 간단한 서비스를 생성했습니다. [AWS Bedrock] Bedrock 시작하기 LLM의 빠른 도입과 테스트를 위해 Bedrock을 이용해 LLM서비스를 구축하기로 선택했습니다. (아래의 이전 글 참조) [생성AI 서비스 선택] AWS Sagemaker VS AWS Bedrock 생성AI를 비즈니스에 도입하는 경우가 brain-nim.tistory.com 하지만 이정도만 할 거라면 굳이 AWS를 사용할 필요가 없죠. OpenAI나 기타 서비스가 제공하는 API를 이용하는게 훨씬 간편하고 저렴하니까요. 클라우드를 이용할 때의 장점 중 하나는 여러 서비스 자원을 쉽게 활용할 수 있다는 것이므로, 이번에는 Bedrock이 S3 저장소에 있는 자료를 참고해서 답변을 하도록 해..
-
[AWS Bedrock] Bedrock 시작하기Programing/AWS 2024. 2. 27. 00:59
LLM의 빠른 도입과 테스트를 위해 Bedrock을 이용해 LLM서비스를 구축하기로 선택했습니다. (아래의 이전 글 참조) [생성AI 서비스 선택] AWS Sagemaker VS AWS Bedrock 생성AI를 비즈니스에 도입하는 경우가 급증하고 있는 만큼, '우리도...!!'를 외치게 되는 분들이 많으실 겁니다. OpenAI나 기타 기업 및 서비스의 API를 직접 가져다 쓰기에는 리소스가 만만치 않고, brain-nim.tistory.com 이제 AWS Bedrock이 제공하는 Foundation Model 중 하나를 선택해 서비스를 구축해봅시다. 주의사항 주의1) 리전 별 이용 가능한 모델, 가격이 다릅니다. 미국 동부, 미국 서부를 제외하면 선택 가능 모델이 매우 제한됩니다. 같은 모델이더라도 미국..
-
[생성AI 서비스 선택] AWS Sagemaker VS AWS BedrockPrograming/AWS 2024. 2. 26. 19:12
생성AI를 비즈니스에 도입하는 경우가 급증하고 있는 만큼, '우리도...!!'를 외치게 되는 분들이 많으실 겁니다. OpenAI나 기타 기업 및 서비스의 API를 직접 가져다 쓰기에는 리소스가 만만치 않고, 타 리소스와의 유연한 연계, 특히 RAG와 같은 벡터DB를 연계하고 관리비용을 줄이고자 한다면 클라우드 서비스부터 시작하는게 맞는 것 같기도 합니다. 그렇게 이런 저런 비교를 하며 AWS로 왔는데 (아마 가장 많은 비율로 '원래 AWS를 사용하고 있었으니까' or 'AWS 관련 자료가 가장 찾기 쉬워서'겠죠?) AWS 안에서도 LLM을 지원한다는 서비스가 Sagemaker, Bedrock로 나뉩니다. AWS에 익숙치 않거나, 기존 Sagemaker를 이용하지 않고 자체적으로 모델을 구축 관리해왔던 입..
-
[Flutter] 검색창(SearchBar) 위젯 활용 예시Programing/Flutter 2024. 1. 21. 16:54
검색창은 많은 어플에서 사용하는 요소인 만큼, 플러터에서는 검색창 위젯을 기본으로 제공하고 있습니다. (Flutter 공식문서) 그런데 사용하려고 보면 parameter가 매우 많습니다. 최소단위부터 하나씩 확인 해봅시다. 시작 body에 넣고 Padding으로 감싼 뒤 시작하겠습니다. import 'package:flutter/material.dart'; class TestScreen extends StatelessWidget { const TestScreen({super.key}); @override Widget build(BuildContext context) { final ThemeData themeData = ThemeData(useMaterial3: true); return MaterialAp..
-
[Flutter] kotlin 버전 충돌 에러 해결 (Exception: Gradle task assembleDebug failed with exit code 1, Duplicate class kotlin.collections.jdk8)Programing/Flutter 2023. 11. 4. 19:52
잘 돌아가던 flutter 앱에 기능을 추가하려고 패키지를 새로 설치했더니 아래와 같은 에러가 발생했습니다. Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkDebugDuplicateClasses'. > A failure occurred while executing com.a..
-
python으로 private DB에 접속하기 (베스쳔 터널링, PyMySQL)Programing/OCI 2023. 11. 1. 20:45
DB를 private한 공간에 만들면 당연히 local에서는 그냥 접속할 수 없습니다. 아래와 같은 과정을 거쳐야 합니다. 1) DB와 같은 보안로직을 가진 베스쳔 서버를 만들어야 합니다. AWS라면 동일한 VPC 내에 EC2를, OCI라면 동일한 VCN 내에 VM을 만들어야 합니다. 2) VM(EC2)에서 DB에 접속 가능하도록 미리 세팅해줍니다. 3) VM(EC2)을 경유해(터널링) 로컬에서 DB로 접속합니다. private에 위치한 DB에 python으로 접속해봅시다. 0. 구성 Public Subnet(공용 서브넷)은 외부에서 접근 가능한 서브넷입니다. Private Subnet(전용 서브넷)은 해당 VCN 내에서만 접근 가능한 서브넷입니다. 로컬의 python에서 Private Subnet에 위..
-
OCI VM으로 API 요청이 들어가지 않는 경우 (Could not send request)Programing/OCI 2023. 10. 4. 19:44
현상 새로 생성한 VM 내에 flask 서버를 구축하고 테스트를 진행해봤습니다. 서버는 잘 작동하고 있으나, request를 받지 못하는 이슈가 발생했습니다. AWS에서 처럼 VM의 인바운드 규칙(OCI: ingress rule)을 모두 열어봐도 마찬가지 였습니다. 해결 VM에 접속한 뒤 아래의 명령만 터미널에 입력해주면 됩니다. # 모든 iptables 규칙을 삭제합니다. $sudo iptables -F