본문 바로가기

분류 전체보기

(44)
1. 랭체인 LangChain LangChain(랭체인)은 LLM(Language Model) 기반 애플리케이션을 더 쉽게, 더 유연하게 개발할 수 있도록 돕는 파이썬 프레임워크입니다 In [ ]: In [1]:from google.colab import drivedrive.mount('/content/drive')Mounted at /content/driveIn [ ]:!jupyter nbconvert --to html "/content/drive/MyDrive/Colab Notebooks/TEST/notebook_test.ipynb"In [ ]:!pip install groq!pip install langchain-groq랭체인(LangChain): 대규모 언어 모델을 활용한 혁신적인 프레임워크¶groq api quickstar..
2. RAG(Retrieval-Augmented Generation) RAG란?RAG(Retrieval-Augmented Generation) 기법은 기존의 대규모 언어 모델(LLM)을 확장하여, 주어진 컨텍스트나 질문에 대해 더욱 정확하고 풍부한 정보를 제공하는 방법입니다. 모델이 학습 데이터에 포함되지 않은 외부 데이터를 실시간으로 검색(retrieval)하고, 이를 바탕으로 답변을 생성(generation)하는 과정을 포함합니다. 특히 환각(생성된 내용이 사실이 아닌 것으로 오인되는 현상)을 방지하고, 모델이 최신 정보를 반영하거나 더 넓은 지식을 활용할 수 있게 합니다.검색 단계 - 외부 데이터를 검색하는 단계 = RAG생성 단계 - 검색한 데이터를 바탕으로 질문을 생성 = Langchain RAG 검색증강¶In [ ]:from google.colab import..
0. 자료구조 - 톺아보기 1. 개념적 정의자료구조 == 데이터구조는 프로그래밍의 Fundamental building blocks 즉, 기본 구성 요소!"They define how data is organized, stored, and manipulated within a program." ⭐ 데이터를 정리 = Organized저장 = Stored조작 = Manipulated할 지 정의한다. "Understanding data structures is very important for developing efficient and effective algorithms."자료구조를 이해하는 것은 개발 효율, 효율적인 알고리즘에 매우매우 중요함.WHY?적절한 구조를 사용해야 빠르고 메모리를 덜 쓰는 알고리즘을 만들 수 있기 때문이죠..
Why JAVA? 제조업은 여전히 온프레미스 환경 즉, 데스크탑 앱으로 각종 프로그램을 이룸MES, ERP 등 결국 데스크탑 응용 프로그램은 클라이언트 UI를 개발하기 때문에 ASP .NET을 이용하는게 보통 궁금증 왜 닷넷을 사용하냐?1. 제조업은 여전히 온프레미스(사내 서버) + 데스크탑 환경 중심생산현장은 대부분 인터넷이 불안정하거나 제한된 폐쇄망임.UI가 단순하고 빠르게 반응해야 하는 장비용 프로그램이 많음.이 환경에서 **데스크탑 앱(WPF, WinForms)**은 웹앱보다 성능, 반응성, 유지보수 면에서 유리함..NET은 데스크탑 앱 개발에 최적화된 유일한 선택지 중 하나.2. Windows 환경과의 뛰어난 통합성제조업 MES/ERP/POP 대부분은 Windows 기반 서버, Windows PC 위에서 운영.A..
7. Interrupt InterruptCPU에게 디바이스 컨트롤러를 사용가능하다고 알려주는 하드웨어 매커니즘 CPU의 인터럽트 요청 라인이 입출력 디바이스 컨트롤러에 의해 동작하는 CPU의 인터럽트 처리 순서CPU가 원래 하던 일을 하고 있다가인터럽트가 오면, CPU는 현재 실행 중인 작업을 잠시 멈추고인터럽트 서비스 루틴(ISR, Interrupt Service Routine)을 실행한다ISR은 인터럽트를 발생시킨 디바이스의 요청을 처리하는 코드ISR 처리가 끝나면, CPU는 멈췄던 작업으로 다시 돌아가 계속 실행한다. ISR, Interrupt Service Routine: 1. 인터럽트를 받음2. CPU의 현재 상태를 저장프로그램 카운터(PC) : 다음에 실행할 명령 주소CPU 레지스터들 : 작업에 필요한 각종 데이터..
6. Polling Q: 호스트가 언제 IO controller가 idle한 상태인지 어떻게 알까?host: 보통 주 컴퓨터나 CPU가 있는 시스템, 즉 cpu라고 생각하자.idle: 할 일이 없는 상태 문제 해석: I/O controller가 할 일이 없는 상태인지 CPU가 어떻게 아냐결론: I/O contoller가 저 쉬고 있어요 하고 CPU에 polling과 interrupt로 보고함 Polling (busy-waiting)Busy bit를 상태 레지스터(I/O 컨트롤러안에 있는 레지스터) 에 넣는다. -> 일이 끝나면 clear로 지움.cpu는 반복적으로 busy bit를 체크해서 일이 끝났는지 확인함. 컨트롤러나 디바이스가 빠르면CPU가 상태를 자주 확인해도 금방 작업이 끝나니까Polling 방식이 상대적으로 ..
5. I/O Hardware I/O Instructions란?컴퓨터에서 입출력 장치(키보드, 모니터, 프린터 등)와 데이터를 주고받기 위해 CPU가 사용하는 명령어 디바이스는 대부분 레지스터를 가지고 있음! Register입출력 장치가 CPU와 정보를 주고받기 위해 사용하는 아주 작은 저장 공간데이터, 상태, 명령 레지스터가 있음. local buffer장치가 처리할 데이터를 잠시 저장하는 곳, 장치 내부(프린터, 디스크 등) 디바이스 접근 방식디바이스들은 주소를 가지고 있음구분 용어 설명1️⃣Memory-Mapped I/O (MMIO)디바이스 레지스터가 메모리 주소처럼 배정됨2️⃣I/O-Mapped I/O (또는 Port-Mapped I/O, PMIO)별도 I/O 주소 공간을 사용함
4. I/O Systems I/O 시스템이란다양한 I/O 디바이스들 (키보드, 마우스, 모니터, 스피커 등)을 관리하는 것ports, busses, device controllers이 다양한 디바이스를 연결함. 디바이스 드라이버디바이스들에 대한 상세 내용을 내포함. I/O device의 종류저장장치전달장치휴먼 인터페이스 주요 용어 설명 port: 디바이스들의 연결점bus: daisy chain || shared direct access. 직렬 연결 구조, 다양한 장치가 같은 버스를 공유하지만 직접 연결됨.PCI: PC 내부에서 **CPU와 주변 장치(그래픽 카드, 사운드 카드 등)**를 연결하는 버스.expansion bus: 컴퓨터에 새로운 장치(예: 추가 메모리, 외장 카드)를 붙일 때 사용하는 버스.Serial-attache..