전체 글 99

Union이 뭐고 왜 사용하는가?

Union은 Python의 typing 모듈에서 제공하는 타입 어노테이션으로, 변수나 함수의 매개변수, 반환값이 여러 타입 중 하나일 수 있음을 나타낼 때 사용됩니다. Union을 통해 코드에서 여러 타입을 허용해야 할 때 가독성을 높이고, 타입 안정성을 강화할 수 있습니다.Union의 주요 특징다양한 타입 허용: Union은 타입을 제한하면서도 여러 타입을 허용할 수 있어, 함수나 클래스가 다양한 입력을 유연하게 처리할 수 있도록 해줍니다. 예를 들어, Union[int, str]는 해당 변수나 매개변수가 int 또는 str 타입일 수 있음을 나타냅니다.타입 안전성 강화: Union을 사용하면 코드 내에서 여러 타입의 데이터를 허용하면서도 각 타입에 맞는 처리를 할 수 있어, 잘못된 타입 사용을 방지할..

사용툴 분석 2024.11.08

Type Hinting과 Pydantic 차이

Pydantic과 타입 힌팅(type hinting)은 모두 코드에서 데이터 타입을 명시하는 데 도움을 주지만, 그 목적과 기능은 서로 다릅니다.1. 타입 힌팅 (Type Hinting)타입 힌팅은 코드에서 변수, 함수 매개변수, 반환값 등에 타입 정보를 명시하는 기능입니다. Python에서는 타입 힌팅을 통해 코드 가독성과 안정성을 높일 수 있지만, 실행 시에 실제로 타입 검사를 수행하지는 않습니다. 즉, 타입 힌팅은 개발자와 IDE에게 타입 정보를 제공할 뿐이며, 코드 실행 중에 데이터 타입을 강제하지 않습니다.예시: 타입 힌팅def add_numbers(a: int, b: int) -> int: return a + b# 잘못된 타입을 넣어도 에러가 발생하지 않음 (실행 시점에서 검증이 이루어지..

사용툴 분석 2024.11.08

InMemoryDocstore 내부 코드 분석

배경langchain 에 쓰이는 도구들을 깊게 이해하고 사용하기 위해 도구들을 하나씩 분석코드분석add 메서드: {"doc1": doc1, "doc2": doc2} 형태의 딕셔너리를 사용해 새 문서를 추가합니다. 중복된 ID가 없으면 성공적으로 추가되며, 중복된 ID가 있으면 오류를 발생delete 메서드: 지정된 ID의 문서를 삭제합니다. 존재하지 않는 ID를 삭제하려고 시도하면 오류가 발생search 메서드: doc2라는 ID로 문서를 검색합니다. 문서가 존재하면 해당 문서 객체가 반환되고, 존재하지 않으면 "ID not found" 메시지를 반환"""Simple in memory docstore in the form of a dict."""from typing import Dict, List, Op..

langchain 공부 2024.11.07