Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- azure services
- webbaseloader
- azure open ai service
- pdfloader
- 챗봇 만들기
- 자연어 처리
- 문서/번역 서비스 사용
- langsmith
- splitter
- runnableparallel
- teddynote
- langchain
- runnablepassthrough
- ai language
- Parallel
- GPT
- 자연어처리
- lcel
- runnablelambda
- csvloader
- rag
- Azure
- chain생성
- azure open ai
- Runnable
- RecursiveCharacterTextSplitter
- OpenAI
- Multimodal
- azure ai
- azureai
Archives
- Today
- Total
Nathaniel
RAG 코드 암기하기 D1 본문
하루에 5번 이상 RAG 코드를 암기 하기 위한 나의 낙서장이다.
Langchain과 RAG를 할 때 반드시 나오는 순서의 코드들이다. 매일매일 복습해서 github에 업데이트 하는 중이다.
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import PDFPlumberLoader
from langchain_community.vectorstores import FAISS
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain import hub
loader = PDFPlumberLoader()
docs = loader.load()
text_splitter = RecursiveCharacterTextSplitter(chunksize = 300, chunk_overlap = 50)
split_documents = text_splitter.split_documents(docs)
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(documents=split_documents, embedding=embeddings)
retriever = vectorstore.as_retriever()
prompt = hub.pull("teddynote/rag-korean")
llm = ChatOpenAI(model_name="gpt-4o", temperature=0)
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)
chain.invoke("삼성전자가 개발한 생성형 AI는?")
'AI' 카테고리의 다른 글
4. Runnable(Passthrough, Parallel,Lambda) (0) | 2025.03.02 |
---|---|
3. Langchain LCEL, Parallel (4) | 2025.03.02 |
2. Langchain → Chain 생성? (0) | 2025.02.26 |
1-1. GPT-4o 멀티모달 모델로 이미지 인식하여 답변 출력 (0) | 2025.02.25 |
1. OpenAI Langchain, RAG 학습 (0) | 2025.02.25 |