| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- vector database
- 에러
- flutter_bloc
- DART
- flutter doctor -v
- appstore connect guideline
- .dio
- app stroe connect guideline
- appstroe connect guideline
- Text Splitter
- information needed
- 벡터 유사도
- Flutter
- pub.dev
- llm
- youtube_player_flutter
- exception
- get_it
- permissiondeniedexception
- 플러터
- AI
- guideline 1.5
- app store connect guideline
- guideline 4.3(a)
- app completeness
- dart sdk version upgrade
- undefined name
- Guideline 4.0
- withopacity
- flutter_secure_storage
- Today
- Total
목록전체 글 (62)
min_chan님의 블로그
LLM을 사용하다 보면 이런 고민이 생긴다. 같은 질문인데 답변이 들쭉날쭉하다 원하는 형식(JSON, 특정 말투 등)으로 안 나온다.서비스에 맞는 일정한 응답을 유지하기 어렵다.이럴 때 가장 간단하면서 효과적인 방법이 바로 Few-shot Prompting이다.Few-shot Prompting특정 질문과 그에 대한 원하는 답변 예시를 함께 제공함으로써, 모델이 해당 패턴과 응답 형식을 학습하도록 유도하는 방식이다. “이런 질문에는 이런 방식으로 답해야 한다”는 기준을 몇 가지 사례로 제시하면, 모델은 이를 참고해 이후 입력에도 동일한 구조와 스타일을 유지한 답변을 생성한다. 이를 통해 별도의 학습 과정 없이도 출력 포맷, 말투, 정보 구조 등을 효과적으로 통제할 수 있다.즉, 모델을 다시 학습시키는 게 ..
벡터 유사도 (Vector Similarity)인공지능과 머신러닝에서 텍스트, 이미지 등 비정형 데이터를 고차원 숫자 배열(벡터)로 변환한 후, 이들 사이의 거리를 계산하여 얼마나 유사한지를 찾는 기술이다.대표적으로 사용하는 3가지 방법은 코사인 유사도(Cosine Similarity), 유클리드 거리(Euclidean Distance), 내적(Dot Product)이 있다.https://projector.tensorflow.org/ Embedding projector - visualization of high-dimensional dataVisualize high dimensional data.projector.tensorflow.org코사인 유사도(Cosine Similarity)두 벡터 사이의 각도..
Document LoaderLLM을 활용한 서비스에서 중요한 것은 단순한 텍스트 생성이 아니라 외부 데이터를 어떻게 가져와서 활용하느냐입니다.특히 실제 서비스에서는 PDF, Word, CSV 같은 문서를 기반으로 답변을 생성하는 경우가 많습니다. 이때 사용하는 것이 바로 LangChain의 Document Loader입니다.Word 파일(.docx) 읽기LangChain에서는 Word(.docx) 파일을 읽기 위해 Docx2txtLoader를 제공합니다.# .docx (Word 문서) 파일에서 텍스트를 추출하는 라이브러리 설치%pip install -qU docx2txt langchain_communityLoader 생성 및 문서 로드from langchain_community.document_loade..
pyenvpyenv는 여러 개의 파이썬 버전을 설치하고, 상황에 따라 원하는 버전을 선택해서 사용할 수 있게 해주는 파이썬 버전 관리 도구다.macOS에서 pyenv를 설치하려면 Homebrew를 이용하면 ❯ brew install pyenv 명령어를 통해 쉽게 설치할 수 있다.파이썬 프로젝트마다 독립된 실행 환경을 만들어주려면 ❯ brew install pyenv-virtualenv 명령어를 통해 설치하면 된다.터미널에 ❯ pyenv versions 명령어를 통해 pyenv로 현재 설치된 파이썬 버전 목록을 볼 수 있다.예시로 Python 3.10.20을 기반으로 llm_app이라는 프로젝트에 가상환경을 생성하려면 터미널 해당 폴더 위치에서 ❯ pyenv virtualenv 3.10.20 llm_app..
RAG란?LLM 어플리케이션 개발에서 중요한 개념, 우리말로 하면 검색 증강 생성을 말한다.Retrieval Augmented Generation (RAG)├─ Retrieval(검색): 데이터를 가져오는 것, 구체적으로는 컴퓨터 시스템에 저장된 자료를 취득하는 것, 언어 모델이 가지고 있지 않은 정보를 가져오는 것, GPT4o같은 경우는 23년 10월까지 정보를 담고있으므로 그 이후에 일어난 일의 경우를 물어봤을 땐 웹사이트를 크롤링하여 답변을 해준다.├─ Augmented(증강): Retrieval된 데이터를 LLM에게 주면서 "마치 이 정보를 아는 것 처럼" 즉 마치 사실인 것 처럼 AR/VR에 사용되는 것과 같은 단어다.├─ Generation(생성): Augmented된 데이터를 제공하면 이 정..
IsolateIsolate는 Dart에서 제공하는 독립적인 실행 환경을 말한다.Isolate 특징├─ 독립적인 메모리 공간├─ 서로 변수 공유 불가├─ 메시지(SendPort / RecivePort)로 통신└─ 병렬 작업 가능Flutter는 기본적으로 단일 Isolate(single thread) 환경에서 동작한다.즉 아래 작업들이 모두 같은 스레드에서 실행된다.Main Isolate ├─ UI Rendering ├─ Animation ├─ Gesture └─ Dart Code따라서 CPU를 많이 사용하는 작업을 Main Isolate에서 실행하면 UI가 멈추는 문제가 발생문제 상황 예제CPU를 많이 사용하는 계산 함수를 생성// 해당 함수는 약 80억 번의 반복문을 실행int heavyCalculati..
리젝 사유Guideline 4.0 - DesignWe noticed that the user is taken to the default web browser to sign in or register for an account, which provides a poor user experience.Next StepsTo resolve this issue, please revise your app to enable users to sign in or register for an account in the app.You may also choose to implement the Safari View Controller API to display web content within your app. The Safa..
모듈화란?애플리케이션을 독립적이고 재사용 가능한 단위(모듈)로 분할하는 과정모듈은 고유의 인터페이스와 기능을 가진다모듈화된 소프트웨어에서 각 모듈이 상호작용하기 위해 명확한 인터페이스와 규약을 따른다 그렇기 때문에 모듈은 단순한 기능부터 복잡한 시스템까지 다양한 규모의 소프트웨어를 구축하는데 사용될 수 있다모듈화의 이점코드의 유지보수성 증가재사용성 및 테스트 용이성 증가확장성 및 유연성 증가결합도를 낮추고 응집도를 높인다동시 개발 가능기술적 부채 감소단일 모듈(Single Module)애플리케이션의 모든 기능과 코드가 하나의 모듈 내에 포함되어 있는 구조를 의미애플리케이션 전체가 하나의 컴파일 단위로 관리프로젝트의 규모가 작고 관리해야할 기능이 적은 경우, 소규모의 팀이나 단기 프로젝트와 같은 구성이 단..
flutter_bloc이란?bloc과 cubit을 flutter에서 쉽게 통합할 수 있는 패키지 BLoC(Bussiness Logic Component) 패턴 - View와 Bussiness Logic(State & Event) 분리View - 화면 (UI 또는 Presentation)State - 앱의 상태Event - 클릭 이벤트Data - 화면에 보여줄 데이터State와 Event를 묶어서 비즈니스 로직(Business Logic)이라 표현BLoC 패턴은 Stream을 이용하여 State와 Event를 송수신Stream은 데이터를 시간의 흐름에 따라 송신Stream을 구독하여 데이터를 수신BLoC 패턴 구현 - Cubit (BLoC 패턴 간소화 버전)State 클래스만 개별로 구현 Cubit을 상속..
riverpod이란? (provider를 개선한 패키지)provider VS riverpod 1. 제공자 등록 편의성 provider - 위젯 트리에 직접 명시적으로 등록을 해야하며, 의존성이 있는 경우 등록 순서에 주의MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => A()), // 특정 클래스가 다른 클래스에 의존성이 있는 경우 등록 순서 중요 ChangeNotifierProvider(create: (context) => B(a: context.read())), ], child: MyApp(),) riverpod - 제공자를 전역 변수로 선언하며, ProviderScope로 감싸면 의존성 순서 ..