반응형

IT 138

윈도우 아나콘다 파이썬 버전 간단히 변경하기 (windows, anaconda, python)

설치 후 시간이 지나다 보면 파이썬 버전을 올려야 하는경우가 있다. 새로 env를 생성해도 좋지만 현재 사용중인 conda 환경에서 파이썬 버전만 업그레이드 하는 경우에 사용한다. 1. 콘솔 실행 ananconda prompt를 실행한다. 2. 설치 가능 버전 확인 conda search python 3. 원하는 버전 설치. 선택가능한 버전 중 원하는 버전 설치 conda install python==3.11.0 끝

IT/리눅스 2023.09.12

우분투(Ubuntu)에 docker 및 nvidia-container-toolkit 설치하기

우분투에 딥러닝 환경을 구성하기 위해서 도커 설치화 nvidia 관련 도구를 설치하는 과정을 설명한다. 전에는 Centos나 rockylinux에서 주로 사용하였었는데 이번에 우분투 20.04에 설치하려고하니 약간 다른점이 있어서 정리한다. 참고적으로 다음은 Rocky8에서 설치한 과정이다. https://yongeekd01.tistory.com/22 4 Rocky Linux Docker 설치(GPU 있을때/없을때) - Rocky Linux 설치 및 Nvidia Docker 환경 만들기(9) 4.1 docker 설치 (Nvidia GPU 불필요시) yum install -y yum-utils yum update yum config-manager --add-repo=https://download.docke..

IT/리눅스 2023.08.28

Rockylinux rc.local 설정하기(rc-local.service, WantedBy)

rc.local은 리눅스 시스템에서 부팅 시 자동으로 실행되는 스크립트 파일입니다. 이 파일은 시스템이 부팅될 때마다 지정된 명령이나 스크립트를 실행하도록 설정할 수 있으며 초기 부팅 시에 필요한 설정이나 사용자 정의 작업을 수행하기 위해 자주 사용됩니다. rc.local 파일의 경로는 주로 /etc/rc.local 이고 루트 권한을 가진 사용자만 수정할 수 있습니다. 이 파일은 시스템의 멀티유저 런레벨에서 실행되는 마지막 스크립트로 실행됩니다. 최신 리눅스 시스템에서는 보안 및 성능 문제로 인해 rc.local의 사용을 권장하지 않는 경우가 있습니다. 대신 systemd를 사용하여 서비스를 관리하거나 cron 작업을 이용하여 작업을 예약하고 실행하는 것이 더 일반적으로 권장하고 있다고 합니다. rock..

IT/리눅스 2023.08.23

(9) Langchain에서 VectorStore에 저장된 사용자 데이터를 재사용해보자(user data, embedding)

이제 저장된 embedding vector db를 사용해 보겠습니다. 아래 글에 이어서 VectorStore를 이용해서 저장한 사용자 데이터 Vector DB를 로드하고 사용해보는 예제 입니다. https://yongeekd01.tistory.com/100 (8) Langchain에서 사용자 데이터를 VectorStore에 저장해보자(user data, embedding) LLM의 막강한 자연어 처리 기능에 자신만의 데이터를 추가하여 서비스를 구성하기 위해서 prompt에 사용자 데이터를 함께 보내주는 방식을 통해 이를 해결하고자 하는 다양한 시도들이 진행 되고 yongeekd01.tistory.com 1. VectoreStore를 이용하여 저장된 데이터 사용하기 HuggingFace의 embedding..

IT/개발 2023.08.07

(8) Langchain에서 사용자 데이터를 VectorStore에 저장해보자(user data, embedding)

LLM의 막강한 자연어 처리 기능에 자신만의 데이터를 추가하여 서비스를 구성하기 위해서 prompt에 사용자 데이터를 함께 보내주는 방식을 통해 이를 해결하고자 하는 다양한 시도들이 진행 되고 있습니다. 물론 LangChain도 쉽게 사용자 데이터를 처리하는 여러가지 방법을 제공하고 있습니다. LangChain에서 사용자데이터를 다루기 위해서는 기본적으로 다음과 같은 절차가 필요합니다. - 사용자 데이터 확보(pdf, web, csv.... 등등) - documeent load를 통해 사용자 데이터 로드 - LLM에서 처리 가능한 크기로 데이터 분할 - 문자나 워드 등을 모델이 분석 가능한 vector data로 임베딩 - 임베딩벡터와 문자열을 verctor store에 저장 - 임베딩된 사용자 데이터와..

IT/개발 2023.08.07

(8) Langchain에서 사용자 데이터를 이용해보자 (user data, summarize)

chatGPT 3.5는 2021년까지의 정보만을 사용하여 학습되었기 때문에 최신 정보를 알지 못합니다. 대부분의 개발자들은 chatGPT의 막강한 자연어 처리 기능에 자신만의 데이터를 추가하여 새로운 서비스를 만들고 싶을 것이라고 생각합니다. 예전에는 이러한 접근을 할때 OpenAI의 fine tunning을 통해서 비용을 지불하고 재학습을 수행하고 사용하는 방식만을 생각할 수 있었는데요. 현재는 prompt에 사용자 데이터를 함께 보내주는 방식을 통해 이를 해결하고자 하는 다양한 시도들이 진행 되고 있습니다. LangChain도 이 방법을 제공합니다. 다양한 종류의 사용자 데이터를 읽어 들여서 정보화 하는 방법을 제공하고 있는데요. 엄청나게 유용합니다. 다음은 지원 가능한 문서 종류 입니다. https..

IT/개발 2023.08.07

(7) Langchain에서 memory를 사용해보자(conversation chain)

LangChain에서 memory는 체인 실행 사이에 이전 상황을 기억하여 애플리케이션 상태를 유지하는데 사용됩니다. 대부분의 LLM 애플리케이션에는 대화형 인터페이스가 있습니다. 메모리는 이전 대화에 소개된 정보를 참조할 수 있도록 지원합니다. 대화형 시스템은 과거 메시지의 일부에 직접 액세스할 수 있어야 하고 더 복잡한 시스템이라면 지속적으로 이를 업데이트 하며 정보를 유지하는 등의 작업을 수행할 수 있어야 합니다. memory의 종류는 여러가지가 있지만 여기서는 ConversationBufferMemory를 예제로 확인해보겠습니다. (ConversationChain은 default로 ConversationBufferMemory를 사용) 1. chat model 지정 import os import a..

IT/개발 2023.08.07

(6) Langchain에서 agent와 tool을 사용해보자

LangChain에서는 엄청나게 다양한 tool을 연동해서 기능을 구현할 수 있습니다. agent는 체인이 사용할 도구를 선택해서 지원할 수 있도록하며 LLM을 사용하여 원하는 작업을 수행하는 절차를 정의할 수 있습니다. 이때 어떠한 도구를 사용하여 목적을 달성할 것인지를 스스로 판단하여 사용합니다. 사용자는 구현된 tool이 어떠한 동작을 하는지 정확하게 description 해주기만 하면 알아서 가져다가 쓰도록 되어 있습니다. agent가 올바른 tools을 사용할 수 있도록 액세스 권한 지정하고 agent가 tool의 기능과 사용법을 알수 있도록 설명하면 되는 것이지요 여기서는 wikipedia api tool과 llm-math tool 2가지를 이용하여 현재 미국 대통령이 누구인지 알아내고 그의 ..

IT/개발 2023.08.07

(5) Langchain에서 PromptTemplet을 사용하여 번역기, 요약기를 만들어보자

여기서는 PromptTemplete을 이용하는 응용 중 입출력을 미리 정의한 방식대로 동작 시키는 방법을 확인하기 위해서 입력된 문자열을 번역해보고 이를 요약해보는 코드를 간단히 만들어보겠습1니다. 아래 글과 연결된 내용입니다. https://yongeekd01.tistory.com/95 (4) Langchain에서 PromptTemplet을 사용하여 chat 모델을 구동해보자 LangChain에서 PromptTemplete을 사용하는 것은 system role을 주는 방법과 비슷합니다. 다만 사용자의 질문을 입력 변수처럼 정의하여 내부적으로 묶어서 처리할 수 있습니다. App을 사용하기 위한 chat 질 yongeekd01.tistory.com 1. 한글 입력을 영어로 바꿔주는 번역기를 만들어보기 im..

IT/개발 2023.08.07

(4) Langchain에서 PromptTemplet을 사용하여 chat 모델을 구동해보자

LangChain에서 PromptTemplete을 사용하는 것은 system role을 주는 방법과 비슷합니다. 다만 사용자의 질문을 입력 변수처럼 정의하여 내부적으로 묶어서 처리할 수 있습니다. App을 사용하기 위한 chat 질문/응답 구조 설계에 따라 다양하게 응용할 수 있을거라고 생각합니다. 여기서는 LangChain에서 chat 모델을 사용할 때 PromptTemplete을 이용해서 입력 변수를 정의하고 이를 이용하여 시스템 role을 구체화 화는 예제를 만들어 보겠습니다. 여기서도 ChatGPT를 사용하시려면 우선 다음 사이트에서 OpenAI API Key를 먼저 발급 받으셔야 합니다. https://platform.openai.com/account/api-keys OpenAI Platform..

IT/개발 2023.08.07
반응형