분류 전체보기 150

0301 Memory

이전의 기록을 자체적으로 기억하지 못함이를 구현하는 것임 이외에 Chathistory가 있고 나중에 살펴봐야 함 window buffer memory 등등 다양함 사람이 질문을 한 것을 단독으로 저장하지 못하고human과 ai를 쌍으로 저장할 수 있음 save_context로 하나하나 저장할 수 있음원래 이거를 하나하나 수작업인데chain 사용하면 굉장히 편리하게 사용할 수 있음..단점 : 입력으로 받는 일정 수준의 토큰 이상으로 memory에 저장하면 어느정도 되면 cut하는 것도 구현해야 함 ConversationTokenBufferMemory토큰 단위로 비용이 부과됨비용측면에서 유용함 llm 자체에 토큰을 사용하는 거라 비용청구는 안 될것임;;모델에 따라서 토큰 계산량이 다름실제로 사용할 모델 na..

랭체인 2025.02.27

0222 model ( object의 attribute 확인, hugging face, local 구동, allam 적용

LLM (Large Language Model)Quesiton -> Retrieve -> Prompt -> LLM -> Answer 엔트로픽사의구글의 제미나이허깅에서 다운받아서 쓸 수도 있음  LLM을 교체하는 대표 적인 이유1. 비용추론이 많이 일어나면 과금이 높음무료모델은 구독이 되지 않음 API 발급하면 할 수 있는데모델을 다운 받거나 노트북에 구동할 수 없으니 구동가능한 서비스가 있음GPU 자원을 활용할 수 있는 클라우드 시스템은 이용료도 내야함GPT를 많이 활용하면 GPU 서버에 올려놓고 마음껏 하는 게 좋음 - 이거는 PC방처럼 시간당 과금임사용량이 많지 않으면 GPT 4ㄱ RAG는 두뇌와 같은 역할을 함1. OpenAI모델마다 성능차이가 있음OpenAI는 답변의 수준이 높음, 답변의 성능이 ..

랭체인 2025.02.21

Visual code에서 콘솔창 여는 법, 경로 바꾸기

1. Visual code에서 콘솔창 여는 법!ctrl + shift + P Toggle Integrated Terminal 입력https://allblack0811.tistory.com/14 Visual code에서 콘솔창 여는 법!ctrl + shift + P키를 입력한다. View: Toggle Integrated Terminal 을 입력하시면 됩니다. 단축키 `+ctrl `는 따옴표가 아닙니다!!! 키보드에서 1키 ㅇ왼쪽에 있는 "~"키 입니다!!tistory.allblack.dev 단축키 : ctrl + ` (물음표 옆에 있음)2. 파이썬 .py 실행 python 파일명.py enter streamlit run 파일명.py enter3. 경로 바꾸기cd "파일명" "" 꼽효를 해야 함 > 4. ..

랭체인 2025.01.31

0201 강의 Part.2 Ch.3 RAG, 프로젝트 Develope

1. 사전단계 1. Load2. Split 토큰을 지정함단락을 분할해서 저장함 질문이 들어오면 (생성향 AI가 뭔지?)단락별로 유사도 계산을 하고 관련성있는 단락을 뽑아냄  여러단락에서 가져오면 답변을 위한 정보 수집이 어려움단락 갯수는 설정할 수있는데 이걸 설정하는 게 중요함 유사도 계산법단락을 수학적인 표현인 좌표계로 바꿈 로드 -> 텍스트 스플릿(효율적으로 가져오기 위해서) -> 유사도 계산을 위해 엠베딩함 ->1536차특정 키워드가 포진되어 있고 Chunk 자를 때 겹쳐져 있음 이거 Chunk overlap 이라고 함 4. Store 저장단락을 숫자표현을 바꾸는 것을 임베딩알고리즘마다 차원이 다름변환하는 갯수만큼 비용이 듦 문서 로드하고 chunk 기준으로 쪼개고 숫자표현으로 변환하고 저장함vec..

랭체인 2025.01.27

0201 강의 Part 2 - Ch1 Prompt [FewShotTemplate, suffix, example selector, FewShotChatMessagePromptTemplate, LangChainHub]

FewShotPromptTemplateone shot 하나의 답변예시few shot 두가지 이상 답변예시zero shot 예시 제시 x -> 성능 안 좋음gpt는 예시 주면 답변 더 잘 함 unpacking operator 딕셔너리를 함수의 인자로 전달할 때 사용딕셔너리의 키-값 쌍을 함수의 매개변수로 자동으로 전달하는 역할# 프롬프트 생성example_prompt = PromptTemplate.from_template( "Question:\n{question}\nAnswer:\n{answer}")# example의 0번째로 formatprint(example_prompt.format(**examples[0]))Question:스티브 잡스와 아인슈타인 중 누가 더 오래 살았나요?Answer:이 질문..

랭체인 2025.01.27

0201 강의 Part.2 Ch.1 11~13 파일 01-01 partial_variables,ChatPromptTemplate, MessagePlaceholder

방법 1 from-template() 메소드 사용해 PromptTemplate 객체 생성치환될 변수를 {}로 묶어서 템플릿 정의=from langchain_core.prompts import PromptTemplate# template 정의. {country}는 변수로, 이후에 값이 들어갈 자리를 의미template = "{country}의 수도는 어디인가요?"# from_template 메소드를 이용하여 PromptTemplate 객체 생성prompt = PromptTemplate.from_template(template)promptPromptTemplate(input_variables=['country'], input_types={}, partial_variables={}, template='{cou..

랭체인 2025.01.25

강의 Ch.4 11~13 파일 05-Runnable

Runnable 3가지가 있음 데이터 효과적으로 전달하는 방법key value 값으로 넣어주느 거 보다는하나만 넣어주고 싶을 때가 있음 아래는 기존 코드invoke시 딕셔너리를 사용함from langchain_core.prompts import PromptTemplatefrom langchain_openai import ChatOpenAI# prompt 와 llm 을 생성합니다.prompt = PromptTemplate.from_template("{num} 의 10배는?")llm = ChatOpenAI(temperature=0)# chain 을 생성합니다.chain = prompt | llm# chain 을 실행합니다.chain.invoke({"num": 5})AIMessage(content='50입니다..

랭체인 2025.01.18

강의 Ch4.08~10, 파일 04-LCEL-Advanced : LCEL 인터페이스, batch, async 비동기, parallel 병렬성

LCEL 인터페이스 Runnable 프로토콜로 구현됨: 이는 표준 인터페이스임: 다음이 포함됨 - stream- invoke- batchbatch variable을 2개라고 하면batch 단위로 묶어서 동시에 실행함그래서 좀 더 오래 걸림-> 질문을 한 번에 여러개 처리할 때 사용함# 주어진 토픽 리스트를 batch 처리하는 함수 호출chain.batch([{"topic": "ChatGPT"}, {"topic": "Instagram"}])['ChatGPT는 OpenAI에서 개발한 자연어 처리 모델로, 대화형 인공지능 채팅 시스템입니다. 이 모델은 사람과 자연스럽고 의미 있는 대화를 할 수 있으며, 다양한 주제에 대해 정보를 제공하고 질문에 답변할 수 있습니다. ChatGPT는 인간과의 상호작용을 통해 계..

랭체인 2025.01.18

강의 Ch4.03~07, 파일 03-LCEL : 멀티모달 모델, 프롬프트 템플릿, 변형

멀티모달 모델텍스트 외적인 출력 입력이 되는 모델ex. 이미지, 오디오, 비디오gpt-4o, gpt-4-turbo 모델은 이미지 인식 기능 but 이미지 생성하는 기능은 없음-> 근데 이거 바뀌지 않았나????????? 생성해주던데.. 테디노트가 멀티모달 클래스 만들었음 definition 들어가면 어떻게 구현됐는지 볼 수 있음이 class 없으면 하나씩 다 구현해야 함.. 복잡데스from langchain_teddynote.models import MultiModalfrom langchain_teddynote.messages import stream_response# 객체 생성llm = ChatOpenAI( temperature=0.1, # 창의성 (0.0 ~ 2.0) model_name=..

랭체인 2025.01.17

Ch.4 LangChain 주요 파라미터, 기본 llm 생성 코드, LogProb, Streaming, Langsmith 추적

파라미터temperature0~2 사이0에 가까울수록 창의성이 낮음광고문구 생성 : 좀 더 창의적이어야 함 0.8, 1로 올리기max_tokens 4069 디폴트채팅완성에서 생성할 모델 리스트 inovke 출력할 때 항상 사용알아두면 좋은 것 way 1우클릭 - go to definitionway 2새로운 셀에 ChapOpenAI ?-> 이거를 닥스트링이라고 부름설정할 수 있는 옵션값이 많은데 필요에 따라서 쓰면 됨미리 실행해서 결과 받았는데from langchain_openai import ChatOpenAI# 마이스 호버를 가져다 되면 파라미터 종류가 나옴# 객체 생성 llm 옵션llm = ChatOpenAI( temperature=0.1, # 창의성 (0.0 ~ 2.0) model_na..

랭체인 2025.01.17