묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)
chroma db import 가 업데이트된 것 같습니다.
from langchain_community.vectorstores.chroma import Chroma이렇게 되어야 Chroma를 vscode에서 인식하는 것 같습니다.
-
해결됨실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)
CommonList output이 안되는데 무엇이 문제일까요 ?
from langchain.output_parsers import CommaSeparatedListOutputParserfrom langchain.prompts import PromptTemplate output_parser = CommaSeparatedListOutputParser() format_instructions = output_parser.get_format_instructions()print(f"instruction : {format_instructions}")# instruction : Your response should be a list of comma separated values, eg: `foo, bar, baz` prompt = PromptTemplate( template="List five {subject}.\n{format_instructions}", input_variables=["subject"], partial_variables={"format_instructions": format_instructions},) from langchain_openai import OpenAI llm = OpenAI(temperature=0) _input = prompt.format(subject="ice create flavors")output = llm.invoke(_input) print(output_parser.parse(output)) # ['1. Vanilla\n2. Chocolate\n3. Strawberry\n4. Mint\n5. Coffee']이렇게 작성했는데, Output이 ['1. Vanilla\n2. Chocolate\n3. Strawberry\n4. Mint\n5. Coffee'] 이렇게 나옵니다.. parser의 문제일까요 모델의 문제일까요 ?
-
해결됨실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)
Langchain version이 업데이트 되어서 코드를 수정해야할 것 같습니다.
from langchain_openai import OpenAI llm = OpenAI(model="davinci-002")OpenAI 라이브러리 import 하는 방식과text-devinci-003 모델이 이제 서비스를 안하는 것 같습니다.위처럼하고 몇번 수행하니 같은 결과가 나왔습니다.
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
RAG에서 Generator으로 어떤 데이터가 들어가는지 볼 수 있는 방법이 있나요?
안녕하세요, 다시 질문드릴 것이 있어 글 남깁니다. RAG에서 Retriever가 Generator에 보내는 데이터가 무엇인지 확인해보고 싶고, Generator에서도 중간에 어떤 데이터를 받는지 확인해보고 싶은데 가능한 방법이 있다면 알려주시면 좋겠습니다.. 아마 제가 보낸 쿼리에 대한 similarity search의 결과를 줄 것같긴한데,정말 generator들어가기 전에 어떤 데이터가 들어가는지 뜯어보고 싶어서요. 감사합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
RAG 실습 강의에서 template 문구 관련해 질문이 있습니다.
RAG 실습 강의에서 template = """다음과 같은 맥락을 사용하여 마지막 질문에 대답하십시오.만약 답을 모르면 모른다고만 말하고 답을 지어내려고 하지 마십시오.답변은 최대 세 문장으로 하고 가능한 한 간결하게 유지하십시오.항상 '질문해주셔서 감사합니다!'라고 답변 끝에 말하십시오.{context}질문: {question}도움이 되는 답변:""" 템플릿 문구 맨 아래에 '도움이 되는 답변:' 이 부분은 왜 필요한 건가요?? 모델이 생성해주는 답변에 어떤 방식으로 도움이 되는 걸까요??
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
RAG의 데이터 소스로 RDB 사용 시 어떤 로더를 사용해야 하나요?
안녕하세요 강의 잘 듣고 있습니다.RAG방식과 관련해 현업에서는 실제 어떻게 사용하는지 알고 싶어 여쭤봅니다. 데이터 소스로 RDB를 사용하고 싶은 경우 어떤 로더를 사용해 연동을 하나요??DB와 직접 연동은 힘들고 해당하는 데이터를 파일도 별도로 추출하여 사용해야 할까요?? 구글링하여도 벡터 디비를 사용하는 방식만 나와 답답해서 질문 드립니다 ㅠㅠ langchain에서 지원하는 로더 대신에 사용하는 외부 모듈이 존재할까요?? aws와 같은 퍼블릭 클라우드의 s3나 엘라스틱 서치를 데이터 소스로 하여 사용하고 싶은 경우는 어떻게 설정하는 것이 좋을지 문의 드립니다.보통 S3 버킷을 데이터 소스로 하여 정의할 때 s3를 호스팅하여 urlLoader를 이용해 사용하는 방식을 많이 차용하나요? aws의 ElasticSearch를 검색 시스템으로 사용하고 싶은데, 참고할 만한 힌트가 있을까요?... 해당 모듈을 바로 직접적으로 import해서 vectorDB대신 사용하는 것인지, 혹은 ES를 데이터 소스로하여 데이터롤 로드해서 vectorDB에 넣고 사용하는 것인지 감이 잘 잡히지 않습니다 ㅠ
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
db.delete_collection() db가 정의되어 있지 않아 문의드립니다.
임베딩 모델을 변경하는 경우db.delete_collection() 로 먼저 저장해 놓은 DB를 삭제한다고 하셨는데요.db 가 정의되지 않은 상태입니다.(다음 행에 db = Chroma~~ 가 있음) collection 삭제하는 방법에 대해 확인 부탁드리겠습니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
GPT api 토큰 제한
안녕하세요. 강의 잘 듣고 있습니다. 한 가지 궁금한 것이 있는데,SQL agent로 많은 데이터셋을 넣어주면서 질문을 할 경우 GPT4 api 를 사용했을 때 금방 하루 토큰을 다 사용했다고 뜹니다. 개인 api는 하루용 토큰이 이렇게 금방 소진 되어 테스트를 많이 해볼 수가 없어서요,그러면 기업용으로 api를 구매하면 하루에 사용 가능한 토큰에 제한이 없는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
Data Loader 관해서
대용량 데이터를 벡터디비에 넣기 위해 PDF, MD, 웹스크래핑 등 다양한 데이터가 있는데요 pdf 도 몇십개 md 파일도 몇십개 웹스크래핑은 그냥 리스트로 묶으면되는거 같은데 이 외에는 반복문으로 로드시켜서 코드를 구현하는건지 궁금하고,Pdf document, md document, web document 가 생겼을때 이 셋을 어떻게 머지하는지가 궁금합니다.
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
llm모델과 vectordb를 생성하는 retrevial모델이 다른경우, 어떻게 작동하는지 궁금합니다.
안녕하세요, 수업을 잘 듣고 사용하고 있는 기업 연구원입니다.llm모델과 retrevial모델이 다른 경우 벡터값이 다를텐데, 어떻게 작동하는지 모르겠어서 질문드립니다.자세한 내용은 아래와 같습니다.Retrevial모델로는 mpnet을 사용합니다.model_name = "sentence-transformers/all-mpnet-base-v2" model_kwargs = {"device": "cuda:0"} embeddings = HuggingFaceEmbeddings(model_name=model_name, model_kwargs=model_kwargs )이러한 임베딩 모델을 선언한 뒤에, chroma로 vectordb를 만들었다고 가정하고,llm틀은 llama2를 사용하여 쿼리 파이프라인을 만들었습니다.retriever = vectordb.as_retriever() query_pipeline = transformers.pipeline( "text-generation", model=model, # 모델id: 'meta-llama/Llama-2-7b-chat-hf'로 함 (생략됨) tokenizer=tokenizer, torch_dtype=torch.float16, device_map= device, ) llm = HuggingFacePipeline(pipeline=query_pipeline) qa = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", retriever=retriever, verbose=True )이런식으로 해서 사용을 해도 사용이 잘 되는 것을 확인했습니다만 이해가 안됩니다. 제가 '쿼리'를 보내면, llama2 모델이 벡터화를 할 것이고, 벡터db에서 찾을때는 "sentence-transformers/all-mpnet-base-v2"이 모델로 벡터화 된 데이터를 찾을 것인데 이 두 벡터 값이 다를 것 같은데 왜 작동이 되는 건가요? 제 생각으로는 두개의 다른 모델이라면 같은 문장이어도 다른 벡터값을 가질텐데, 어떻게 이게 두개의 언어모델이 다른데 작동하는건지 궁금합니다. 답변 기다리겠습니다. 감사합니다:) 좋은 교육 받을 수 있어서 기쁩니다.
-
미해결실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)
주어진 코드를 그대로 실행 해 보았는데 결과가 달라요
git에서 코드를 다운받아 영상에 올라온 대로 코드를 실행 해 보았는데 저는 결과가 다음과 같아요. Question: Who was the father of Mary Ball Washington?Are follow up questions needed here: Yes.Follow up: Who was the husband of Mary Ball Washington?Intermediate answer: The husband of Mary Ball Washington was Augustine Washington.Follow up: Who was the father of Augustine Washington?Intermediate answer: The father of Augustine Washington was Lawrence Washington.So the final answer is: Lawrence Washington 처음엔 계속 Are follow up questions needed here: 에서 답변이 No로 출력 되고 질의가 끝나다가, 계속 돌려보니까 저런 틀린 답변을 내주는데, 이건 모델을 잘못 선택하기 때문일까요? 모델 설정에 따로 건드린 것이 없어 자동으로 GPT3.5 Trubo를 선택하는데 해당 강의 촬영시점과 수강시점 간에 기본이 되는 모델이 바뀐걸까요? 왜 이렇게 되는걸까요? ㅜㅜ
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
수업자료 제공 여부
안녕하세요? 파트1의 경우 수업자료 슬라이드가 올라와 있던데 파트2는 제공되지 않는지요? 감사합니다.