ollama 10

ChatOllama 내부 코드 분석 2

배경ChatOllama 내부 코드 분석1에 이어서 계속코드 # 동기식 채팅 스트림을 생성하는 메서드 def _create_chat_stream( self, messages: List[BaseMessage], # 모델에 보낼 메시지 리스트 stop: Optional[List[str]] = None, # 스트림을 종료할 기준이 되는 선택적 stop 토큰 리스트 **kwargs: Any, # 추가적으로 전달할 선택적 키워드 인자들 ) -> Iterator[str]: # 문자열(스트림 응답)을 반환하는 이터레이터 # payload는 모델 호출을 구조화된 방식으로 처리할 수 있도록 준비 payload = { ..

langchain 공부 2024.11.18

LLM 프로젝트에서 저장되는 로그의 용량이 너무 큰 문제

배경프로젝트 진행중 저장되는 로그파일 용량이 너무 큰 문제발생몇번 실행하니 용량이 무려 4기가가 넘었다.몇개의 스크립트를 실행하는 프로젝트였는데, 우선 가장 로그가 많은 스크립트(hwpx -> pdf)를 조사해봤다. log_file = os.path.join(path_daily_download, 'execution.log') logging.basicConfig( filename=log_file, level=logging.DEBUG, # 로그 레벨 설정 (DEBUG, INFO, WARNING, ERROR, CRITICAL) format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%d..

로컬 llm으로 좋은 결과를 뽑아내기 위한 사투

배경 : 공고 데이터에서, 내용요약, 키워드 추출, 지원금액, 신청기간을 뽑아내는 작업을 하기로 했다.내용요약, 키워드 추출은 쉽게 해냈지만, 지원금액, 신청기간은 극악의 난이도를 자랑했다. 그 이유는 10장 내외의 pdf에서 한 군데만 있는 특정 정보(지원금액, 신청기간)를 추출해야 했기 때문이다. 로컬 LLM 프로젝트 빌딩시 어려웠던 점https://makenow90.tistory.com/44정리 : 프로젝트 하는데 실력으로 극복할수 없는(경험이 중요한) 멀티 변수 다뤄야하고, 좋은 GPU의 하드웨어 자원 그리고 아주 뛰어난 언어학적 재능까지 필요한 상황이다. 복잡해 보이지만LLM 프로젝트를 시작하기에 앞서 한가지 근본적인 질문을 던졌다."그래서 그 프로젝트 가능은 한거야?"이 질문에 대한 대답은 ..

LLM 프로젝트를 기획할 때 겪게 되는 어려운 점들

LLM 프로젝트를 진행할 때 겪게 되는 어려운 점들전문가가 없다 : 가장 중요한 부분이라 생각한다. 로컬 LLM은 비교적 최근에 도입된 개념이다. 즉 전문가라고 할만한 사람이 아직 없다. 극소수가 있다 해도  새롭게 등장한 이 기술이 실제에 어떻게 적용될수 있을지 판단하느냐. 다들 바쁘다.질문에 답할 사람도, 시간도, 자료도 없다.기술의 난립 : 랭체인, 허깅페이스, 올라마 등 플랫폼도 난립하고 있다. 또한 세계 여러 회사들이 튜닝을 거쳐 여러 모델을 내놓고 있다. 플랫폼의 선택, 모델의 선택 그 어떤것도 쉽지 않다.멀티 변수 : 코딩도 하는 방법이 다양하다지만, LLM 프로젝트로 오면 베리에이션이 훨씬 심해진다. 결과에 영향을 미치는 변수만 뽑자면 플랫폼, 언어모델, temperature, score_..

langchain 공부 2024.08.12

VScode에 공짜 로컬 GPT 연결하기(continue)

continue가 뭔데? 씹덕아복붙 필요없는 GPT (ctr +L)공식 문서 이용 하이퀄리티 답변 생성코딩중 오류나오는 즉시 판단(ctr + 위방향키 +R) 초기 코드 생성 (ctr +I)주석대로 코드 생성로컬 gpt라고는 했지만 AI를 조수로 두고 코딩을 같이하는 툴이라고 보면된다.continue에 대한 더 많은 정보는 https://docs.continue.dev/intro미리 할것ollama 설치https://ollama.com/downloadllm GPU 기반으로 실행하게 CUDA 설치( CPU 기반 실행보다 빠름)(윈도우에 CUDA 설치하기 https://teang1995.tistory.com/17)과정vscode 접속extension or 확장 탭 클릭continue 검색 후 다운continu..

사용툴 분석 2024.08.02

ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process has terminated: CUDA error\""}

배경로컬에서 언어모델 돌리는데,자꾸 실패함.문제는 재부팅하고 초기에는 돌아갈때도 있음.오류 내용ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process has terminated: CUDA error""}과정구글에는 자료가 정말 거의 없었다.GPT에서는 메모리 문제 라고 나와, 처음에는 RAM 을 조절. llm이 동작하는 운영체제의 RAM을 더 할당함똑같은 방식으로 실패함.현재 언어모델 EEVE-Korean-10.8B로 7.7기가 (용량이 더 작은 언어모델 llama3 다운받아 테스트 해봄)결과 llama3만 동작, 재부팅하고 초반에는 EEVE-Korean-10.8B도 동작하나, 다른 프로세스 동..

ollama 활용해 PDF rag 시스템 만들기 1

목표 : PDF의 내용을 이용해 rag 시스템 제작환경 : window 내 powershell 실습(시스템 구성)poetry를 이용해 새 프로젝트 제작PS C:\Users\weare\pro-ollama > poetry new pdf-rag만들어진 프로젝트 폴더로 이동PS C:\Users\weare\pro-ollama> cd pdf-ragpoetry 이용해서 프로젝트에 필요한 모듈들을 설치필요 모듈들 : langchain, rapidocr-onnxruntime, pypdf, chromadb, sentence-transformers PS C:\Users\weare\pro-ollama> poetry add langchain(이런식으로 하나씩 설치)프로젝트 폴더에 노트북 파일 생성 test.ipynb, 커널 선..

도커에서 ollama GPU 기반으로 실행하기

배경 : 도커허브에 ollama 공식 이미지를 제공해 주길래 시도. 혹시라도 내가 만들 서비스가 규모가 커져서, 쿠버네티스로 실행해야하는 상황이 올수도 있지 않을까.. ㅋ 실습환경 : 윈도우 내 리눅스 환경인 우분투에서 진행과정공식 도커 이미지 다운$ docker pull ollama/ollama내가 가지고 있는 Nvidia GPU 기반으로 실행하기 위해 환경설정공개 GPG 키를 다운로드하고 시스템에 설치 $ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg1줄: 주어진 URL에서 NVIDI..

(window) HuggingFace의 모델(gguf) Ollama에서 쓰기

HuggingFace가 뭔데HuggingFace는 자연어 처리(NLP) 모델과 데이터셋을 공유하고 배포하는 플랫폼입니다.다양한 사전 훈련된 언어 모델(Transformers)을 제공합니다.huggingface-cli를 사용하여 모델을 쉽게 다운로드할 수 있습니다.모델 다운로드 예시: huggingface-cli download --local-dir .커뮤니티와 연구자들이 모델과 데이터를 공유하고 협업할 수 있습니다.Ollama는 뭔데Ollama는 AI 모델을 생성하고 관리하는 도구입니다.다양한 형식의 모델 파일을 사용하여 새로운 AI 모델을 생성할 수 있습니다.Modelfile을 정의하여 모델의 설정을 지정합니다.모델 생성 예시: ollama create -f .Ollama 도구는 명령어 기반으로 ..