1. mmr

2. similarity threshold

3. configurable_fields() 로 미리 선언해야나중에 invoke(config={"configurable": {...}}) 로 값을 바꿀 수 있다.
4. vibe coding
- 기존코드 있으면 재사용
- 임의대로 코드 수정,생성,작성 금지 프롬프트
- 참고할 파일이 있으면 제공 ( ex. Data Base Definition)
- 생성,수정 요청시 각 폴더 구조 준수 지시 (ex. html,css,java scrpit 분리해서 작성해줘)
- 공통적 사용 기능 정리하여 재사용 지시
- 단위 프로젝트로나눠 채팅방 사용
- 기존 프로젝트
a. 전체적인 프로젝트 분석
b. 폴더 구조 분석을 꼭 확인해야 한다.
c. 기존에 있던 코드를 사용할 경우 해당 파일 다시 분석
- 새로운 프로젝트
a. 어떤 언어,기술을 사용할지 정하기 - AI 도움
b. 각 언어의 폴더 구조 파악
c. 공통적으로 사용하는 코드 분리
5. vector db → 데이터의 중단에 있는 문맥중간 정보를 찾을때 성능이 매우 떨어지는 경향성
- 언어모델이 긴 문맥을 받을수 있다는 것과, 그 문맥 안에 있는 정보를 효과적으로 사용할수 있다는 것은 별개의 문제임
- 실제 응용에서는 정답 가능성이 높은 정보를 문맥의 앞이나 뒤에 배치하는 설계가 중요할 수 있음
6. normalize_embedding
hf_embeddings = HuggingFaceEmbeddings(
model_name=model_name,
model_kwargs={"device": "cuda"},
encode_kwargs={"normalize_embeddings": True},
)
- 임베딩 벡터를 정규화(normalization) 하겠다는 의미
7. linting 설정
"python.analysis.typeCheckingMode": "basic"