[LangChain] Reranker
ยท
LangChain
๐Ÿ“‘ Reranking์ด๋ž€?RAG ๋ฐฉ์‹์˜ ๋„์ž…์„ ํ†ตํ•ด LLM์˜ ํ• ๋ฃจ์‹œ๋„ค์ด์…˜ ํ˜„์ƒ์„ ์ค„์ด๊ณ  ์ตœ์‹  ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋ณด๋‹ค ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.ํ•˜์ง€๋งŒ RAG ์‹œ์Šคํ…œ์ด ๋ณต์žกํ•œ ์‹ค์ œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉ๋˜๋ฉด์„œ ๊ธฐ๋ณธ์ ์ธ RAG ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ์œผ๋กœ๋Š” ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ์ ์— ๋„๋‹ฌํ–ˆ๋‹ค.์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Reranking ์ด๋ผ๋Š” ๊ธฐ๋ฒ•์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.Reranking์€ RAG๊ฐ€ ์ƒ์„ฑํ•œ ํ›„๋ณด ๋ฌธ์„œ๋“ค์— ๋Œ€ํ•ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๊ด€๋ จ์„ฑ ๋ฐ ์ผ๊ด€์„ฑ์„ ํŒ๋‹จํ•˜์—ฌ ๋ฌธ์„œ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์žฌ์ •๋ ฌํ•˜์—ฌ ๋‹ต๋ณ€์˜ ์ •ํ™•๋„๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.์ด๋ฏธ์ง€ ์ถœ์ฒ˜: https://aws.amazon.com/ko/blogs/tech/korean-reranker-rag/Reranker์˜ ์ข…๋ฅ˜๋Š” ์•„๋ž˜์˜ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์žh..
[LangChain] RAG VectorStore & Retrievers
ยท
LangChain
๐Ÿฆœ๐Ÿ“‘ RAG๋ž€?์ด๋ฏธ์ง€ ์ถœ์ฒ˜: https://www.ml6.eu/blogpost/leveraging-llms-on-your-domain-specific-knowledge-baseRAG(Retriever Augmented Generation)๋ž€ ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ LLM์˜ ์ง€์‹์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.RAG๋Š” ๊ธฐ์กด์˜ ํ•™์Šต๋œ LLM์ด ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ต๋ณ€์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ๋ณด๊ฐ•ํ•œ๋‹ค๋Š” ์ ์ด ํŠน์ง•์ด๋‹ค.๋”ฐ๋ผ์„œ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋‚˜ ํŠน์ • ๋„๋ฉ”์ธ์˜ ์„ธ๋ถ€์ ์ธ ์ง€์‹์„ ๋ณด๊ฐ•ํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๋˜ํ•œ ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๊ธฐ์— ๊ธฐ์กด์˜ LLM์˜ ๋ฌธ์ œ์ ์œผ๋กœ ์ง€์ ๋˜๋˜ ํ• ๋ฃจ์‹œ๋„ค์ด์…˜ํ˜„์ƒ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์žฅ์ ์ด๋‹ค.RAG ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค.Index..
[LangChain] Chatbot Message History
ยท
LangChain
๐Ÿค“ Message History๊ฐ€ ํ•„์š”ํ•œ ์ด์œ model์„ loadํ•˜์—ฌ ์ด๋ฆ„์„ ์•Œ๋ ค์ฃผ๊ณ  ๋‚ด ์ด๋ฆ„์ด ๋ฌด์—‡์ธ์ง€ ๋‹ค์‹œ ์งˆ๋ฌธํ•ด๋ณด์ž.from langchain_google_genai import ChatGoogleGenerativeAIfrom langchain_core.messages import HumanMessagemodel = ChatGoogleGenerativeAI(model="gemini-pro", convert_system_message_to_human=True, )model.invoke([HumanMessage(content="Hi! I'm Bob")])model.invoke([HumanMess..
[LangChain] LangServe๋ฅผ ์ด์šฉํ•œ LLM์•ฑ ๋ฐฐํฌ
ยท
LangChain
๐Ÿฆœ๐Ÿ›  LangSmith ์—ฐ๊ฒฐLangSmith ์—ฐ๊ฒฐ์„ ์œ„ํ•ด .env ํŒŒ์ผ์— LangSmith API Key๋ฅผ ์ž‘์„ฑํ•˜์ž.์ด ์ž‘์—…๋งŒ ํ•ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ์„ธํŒ…ํ•œ ํ”„๋กœ์ ํŠธ๋ช…์œผ๋กœ LangSmith์—์„œ Application ๋ชจ๋‹ˆํ„ฐ๋ง์ด ๊ฐ€๋Šฅํ•˜๋‹ค.# .envLANGCHAIN_API_KEY="Your API Key"LANGCHAIN_PROJECT="Project Name"# app.pyfrom dotenv import load_dotenvload_dotenv()๐Ÿค– LLM ๋ชจ๋ธ ์„ธํŒ…LangChain์€ ChatGPT, Ollama, Gemini, Huggingface ๋“ฑ ๋‹ค์–‘ํ•œ LLM์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.์•„๋ž˜์˜ Document์—์„œ LangChain์ด ์–ด๋–ค LLM..
[LangChain] LangChain ์‹œ์ž‘ํ•˜๊ธฐ
ยท
LangChain
๐Ÿฆœ๐Ÿ”—LangChain์ด๋ž€?LangChain์€ LLM(๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Application์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ Framework์ด๋‹ค.Third party ํ†ตํ•ฉ์ด ๊ฐ€๋Šฅํ•˜์—ฌ Open AI, Gemini ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์—…์˜ LLM ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.LangSmith, LangGraph์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•˜์—ฌ LangChain์˜ ํ…Œ์ŠคํŠธ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฐฐํฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค.REFhttps://github.com/langchain-ai/langchainhttps://python.langchain.com/v0.1/docs/integrations/chat/google_generative_ai/https://wikidocs.net/233345โš™ ํ™˜๊ฒฝ์„ค์ •Open AI API ๋ฐœ๊ธ‰ : https:/..