컴퓨터 과학 18

Langchain streaming - 실시간으로 답변받기

채팅을 이용해서 답변을 답으면 줄이 주르르 생기면서 stream으로 답변을 해주는데api의 경우 답변을 받고 가져오기까지 시간이 걸려 이용자가 지루해 할 수 있다. 이때 langchain의 streaming을 사용한다. https://python.langchain.com/docs/concepts/streaming/ Streaming | 🦜️🔗 LangChain* Runnable Interfacepython.langchain.comfrom langchain.chat_models import ChatOpenAIfrom langchain.schema import ( HumanMessage,)from langchain.callbacks.streaming_stdout import StreamingStdOutC..

컴퓨터 과학/AI 2025.01.02

ChatPDF - pdf를 읽어서 chatgpt에게 물어보기

pdf 문서를 불러와서 embedding vectorDB에 넣고 안의 내용과 연관된 내용을 질문하여 chat gpt한테 답을 받는다.  LLaMa2에서 vector DB를 사용한다고 했는데. vector값 즉 위치값을 저장하는건데 이미지의 모양에 벡터값을 부여하고 그 비슷한 벡터를 찾아 연관된 값을 찾는 형식이라 사과랑 바나나가 비슷한 벡터에 위치하게되 연관값이 높게된다. 즉 일반 db와는 다르게 이미지 값을 저장하고 연관을 시킬수 있다는거다.vectorDB에는 무료인 chroma와 유료인 pinecone, weaviate등이 있다.  pdf를 읽어오기위해 PyPDF 모듈을 설치해준다. pip install pypdf  pypdf 사용참고링크https://python.langchain.com/v0.2/d..

컴퓨터 과학/AI 2024.12.31

LLaMa2 - local에서 LLM돌리기

https://www.llama.com/llama2/ Meta Llama 2Llama 2 was pretrained on publicly available online data sources. The fine-tuned model, Llama Chat, leverages publicly available instruction datasets and over 1 million human annotations.www.llama.com 보통 api로 chat gpt를 이용하면 비용이 청구되는데 LLama2 같이 로컬에서 오피셜 LLM을 돌리게되면 비용청구는 안되지만 어느정도 컴퓨터 스펙이 필요하다.그러나 똑똑한 사람들이 경량화 버전을 만들었다.  https://huggingface.co/TheBloke/Lla..

컴퓨터 과학/AI 2024.12.31

LangChain(랭체인) - 어플리케이션 개발 프레임워크

LLM(초거대 언어모델)을 이용한 어플리케이션 개발 프레임워크이다. LLM(Large Language Model)은 초거대 언어 모델로 chat gpt, PaLM, LLaMA 등이 있다. 몇십억개 ~ 몇천억개의 파라미터를 보유한 초거대한 모델의 크기를 보유한 LLM으로 언어를 input하면 해당하는 답이나 다음 단어를 들을수있는 언어기반의 언어모델이다.  즉슨 랭체인이란 LLM 초거대 언어모델로 개발을 하기 쉽게 만드는 도구의 모음이다. LLM로 만드는 여러 도구의 모음이라고 보면 쉽다. 랭체인은 그런 도구의 연결역할을 한다.  LLM(Large Language Model)에 대하여platform.openai.com/playground에서 예를 알수있다.mode가 chat일때는 대화형식으로 답을 주고 c..

컴퓨터 과학/AI 2024.12.30

Electron 개요

자바스크립트로 데스크톱 어플리케이션 만드는것 노드(Node.js) 기반 자바스크립트, HTML, CSS만을 사용하여 데스크톱 애플리케이션을 만드는 오픈소스 프레임워크 낮은 러닝커브 크로미움기반 프로그램. 보이는건 데스크톱처럼 보이지만 내부적으로는 웹언어로 되어있다. visual studio code를 키고 help-toggle developer tools를 클릭하면 일렉트론으로 만들어진 visual code의 코드를 볼수있다. 장점 1. 크로스플랫폼 맥, 윈도우, 리눅스가 호환된다. 세곳에서 빌드되고 동작된다. 자바의 장점인 크로스플랫폼, JVM과 같다. 같은코드로 다른플랫폼에서 작동이 가능한다. 2. 웹언어로 개발이 가능하다. 단순히 웹언어로 native한 프로그램을 만들수있다. 3. 데스크톱 앱으로서..

컴퓨터 과학 2024.03.15

리눅스 네트워크 환경 구축

WSL 활성이 필요하다. - 윈도우 WSL을 이용해서 구축 cmd를 통해 리눅스 서브시스템 지원을 활성화 시킨다. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart - WSL 2 사용을 위해 윈도우 업데이트를 설치한다. - WSL의 기본 버전을 2로 변경시킨다. wsl --set-default-version 2 - MS store에서 우분투, 윈도우 터미널을 설치한다. - 현재 설치된 리스트를 확인한다. wsl --list --verb..

protocol and programs of Application layer

- FTP (File Transfer Protocol): 파일 전송 프로토콜 - Telnet - SMTP (Simple Mail Transfer Protocol): 메일보내기 - DNS (Domain Name System): 도메인을 작성하면 해당하는 IP주소를 얻어온다 - HTTP: web protocol - DHCP: 동적IP할당, 사설망 address에는 고정된 ip가 아니라 매번 다른 ip를 동적으로 가진다. - Ping: 상대방이 살아있는지 확인 - Tcpdump: 패킷을 캡쳐한다. - Traceouter: 거쳐오는걸 본다 - ... Application IP ICMP UDP TCP ping Traceouter ㅇ ㅇ ㅇ OSPF RIP BGP ㅇ ㅇ ㅇ DHCP TFTP SNMP(Network..