NLP 10

PDF 문서 서식, 이제 AI가 알아서! 최신 정보까지 반영한 자동 글쓰기 비법(with Qwen2.5-VL, Qwen3)

서론오늘은 지난 PDF 파싱 전략에 이어서 하나 더 작성해보겠습니다. 여러분은 PDF문서를 기반으로 작성할 때 어떻게 작성하고 계신가요? 특히 보고서나 기획서처럼 정형화된 서식의 문서를 다룰 때, 내용 작성만큼이나 '서식'을 맞추는 데 공수가 많이 들 때가 많죠. 이런 고민을 덜어드리고자, 오늘은 AI가 PDF 문서의 서식을 이해하고, 심지어 최신 정보까지 반영해서 원하는 내용의 글을 자동으로 작성해 주는 간단한 방법을 소개해 드릴까 합니다. 그것도 OpenAI 같은 유료 모델 사용 전혀 없이 사용할 수 있게 만들었습니다. 그래야 내 소중한 PDF 데이터도 유출되지 않으니까요. 1. AI, PDF 문서의 '뼈대'를 이해하다가장 먼저 해결해야 할 과제는 PDF 문서의 서식을 AI가 정확히 파악하는 것이..

NLP 2025.06.02

PDF 문서 파싱 전략

서론오늘은 쉬어가는 느낌으로 간단하게 문서 파싱에 대해 다뤄보겠습니다. AI Agent를 개발하다 보면 다양한 형태의 PDF 문서를 처리해야 할 때가 많습니다. 깨끗하게 텍스트가 추출되는 PDF도 있지만, 스캔본처럼 이미지 형태로 되어 있어 일반적인 파서로는 텍스트 추출이 어려운 문서들도 있습니다. 이러한 문제에 직면했을 때, 단순히 특정 파서 하나만으로 모든 문서를 완벽하게 처리하기 어렵다는 것을 깨달았습니다. 그래서 다양한 문서 유형에 대응하고 효율성과 정확성을 동시에 잡는 파싱 전략을 생각해봤습니다. 이번 글에서는 이 전략이 어떻게 세워졌는지 코드와 함께 살펴보겠습니다. 일단 오늘 사용할 문서의 예시는 아래와 같습니다. 이후 글에서 각 모델들이 어떻게 추출했는지 참고해보세요원본 문서는 https:/..

NLP 2025.05.31

[LangGraph]SQL Agent + Qwen3 (with ollama)

1. 서론오늘은 LangGraph를 이용해 SQL Agent를 제작해 보겠습니다. SQL Agent를 사용하면 SQL에 대해 잘 모르는 사람도 편하게 질문하여 DB에서 데이터를 추출할 수 있습니다.LangGraph 공식문서(https://langchain-ai.github.io/langgraph/tutorials/sql-agent/)를 참고하여 작성했으며, 공식문서에서는 OpenAI를 이용해서 만든걸 최신 모델인 Qwen3을 이용해 적용하는 방법을 소개하겠습니다.본 글에서는 LangGraph의 SQL Agent 개념과 아키텍처를 이론적으로 살펴보고, 실제로 Qwen3-14B 모델을 Ollama를 통해 서빙하는 방식으로 구성하는 흐름으로 진행됩니다.2. SQL Agent란?1. 질의 이해: 자연어로 입력..

NLP 2025.05.16

LangGraph Adaptive RAG(한국어 설명) - 코드 부가 설명 추가 중

1. 서론이미 2025년도의 트렌드는 Agent입니다. Agent를 생각한다면 LangGraph를 빼고 얘기하기 힘듭니다. 그래서 이번 블로그 글부터는 심층적으로 LangGraph를 다뤄보겠습니다.단순한 형태의 Agent부터 추후에는 Multi Agent 혹은 Streamlit으로 Agent 서비스 구현하기, 오픈소스 모델을 사용해서 Agent 구축하기 등을 다뤄보겠습니다. 이미 Multi Agent를 제외하고 나머지에 대해서는 코드 및 테스트가 끝난 상태라 빠른 시일 내로 업로드 하겠습니다.오늘은 먼저 간단하게 Vectro DB 검색 및 웹 검색 중 적절한 도구를 판단하여 사용하는 Adaptive RAG를 제작해보겠습니다. 이번 글에서는 LangGraph를 활용한 Adaptive RAG의 핵심 개념과 ..

NLP 2025.04.30

MCP 직접 제작하기 (LangChain MCP Adapters)

1. 서론현대 AI 에이전트는 단순한 언어 이해를 넘어, 외부 툴·서비스와의 원활한 연동이 필수입니다. Anthropic이 제안한 MCP(Model Context Protocol)는 LLM 에이전트와 툴을 연결하는 경량 표준 인터페이스로, HTTP·stdio·SSE 등 다양한 통신 방식을 지원합니다.하지만 MCP 서버를 LangChain이나 LangGraph 기반 에이전트에 직접 붙이려면, 클라이언트 세션 관리·툴 래핑 등 여러 수작업이 필요합니다. langchain-mcp-adapters 라이브러리는 이러한 과정을 추상화해 주어, 몇 줄의 코드만으로 MCP 서버를 LangChain 호환 툴로 변환하고, 멀티 서버 구성까지 손쉽게 할 수 있도록 돕습니다.이 글에서는 langchain-mcp-adapter..

NLP 2025.04.15

MCP(Model Context Protocol)에 대하여~

1. 서론MCP가 처음 소개된건 2024년 11월 26일입니다. 그런데 요즘 매우 뜨거운 관심을 받고 있습니다. anthropic에서 처음 소개했을 때는 이러한 방법이 있구나~ 이정도 느낌이라서 호흥이 덜했던것 같습니다. 근데 이제 커서에서도 지원을 하고 클로드에서도 쉽게 사용할 수 있다보니 호흥을 얻고 있지 않을까? 싶습니다.MCP를 사용 해보신 분들이라면 참신한 느낌을 받으셨을겁니다. 기존에는 그저 내가 질문한걸 답변해주고, 검색해서 답변해주고 그 정도였다면, 지금은 잘만 연결한다면 자동으로 파일도 작성해주고 구글 드라이브에서 파일도 가져와주고 깃 레파지토리 만들어서 저장도 해주고, 사용 방법이 끝이 없습니다. 그럼 좀 더 자세히 알아보시죠~2. 어디서 어떻게 사용할 수 있는가?현재는 클로드 및 커서..

NLP 2025.03.31

QwQ 모델 think 과정과 Exaone의 한국어 합친다면?

목차서론작업 환경적용된 기술모델 설명 및 참고 링크설치 및 실행 방법한국어 테스트 정보결론참고 링크1. 서론블로그 글 자주 쓰려는데 회사에서 여러가지 테스트를 하다보면 블로그에 작성 할게 그다지 많지 않은 느낌입니다.. 약간은 지났지만 최근 출시한 QwQ모델에 대해 작성해 보겠습니다. QwQ 모델은 DeepSeek와 유사한 Think 과정을 제공하면서도, 보다 가벼운 환경에서 효율적으로 동작할 수 있는 장점을 보여주고 있습니다. 또한, DeepSeek를 distill한 Qwen 모델 역시 Think 과정을 활용할 수 있으나, 이 과정에서 한국어 답변이 제대로 생성되지 않는 문제가 종종 발생하고 있습니다. 물론 이번에 나온 32B의 경우에는 이전의 모델인 Preview에 비해서는 상당히 우수한 한국어가 나..

NLP 2025.03.16

DeepSeek 양자화 1.58B 사용 방법 정리

서론오랜만에 블로그에 복귀하면서, 요즘 인기를 끌었던 DeepSeek를 로컬 환경에서 다양하게 사용해 보았습니다. 기존에 한글 사용에 있어 Distill 모델들의 성능이 애매하다는 점 때문에, 이번에는 R1 모델에 눈을 돌리게 되었습니다. (참고로 Distill 모델들의 한국어 테스트 결과는 따로 정리해서 올리겠습니다.) 다만, R1 모델은 671B와 같이 매우 큰 파라미터 수로 인해 단순히 사용하기 어려운 점이 있었습니다. 일반적인 4bit, 8bit 양자화로도 크기가 부담스러웠는데, 그러던 중 unsloth의 1.58B 모델을 알게 되어 이를 활용하게 되었습니다.작업 환경기존의 R1 모델은 거대한 파라미터 수로 인해 여러 제한이 있었으나, unsloth에서 제공하는 1.58B 모델은 보다 실용적인 사..

NLP 2025.02.24

Llama2(라마2) 소개 및 설치

Llama2 7월 19일(수) meta의 Llama2(라마2)가 공개됐다. Llama1과 비교했을 때 크게 바뀐 점이라고 한다면 상업적으로 이용이 가능한 모델이라는 점이다. 성능면에서도 Llama1보다 40%의 데이터를 더 학습시켰으며 context 길이가 2배로 늘어난점 등이 있다. 모델 종류로는 7B, 13B, 70B가 있으며 70B의 경우에는 몇몇 GPU를 가지고 있지 않는 이상 돌려보긴 쉽지 않을 것이다. 그리고 기본적으로 7B, 13B도 GPU환경에서 구동하여야 한다. Llama2 성능비교표 Llama2 공식 홈페이지를 참고하여 보면 다른 모델들과 비교한 성능표가 있는데 기존 모델들 보다 좋은 성능을 보이며 70B모델의 경우 Llama1 65B모델에 비해서 확실히 좋은 성능을 보인다. Llama..

NLP 2023.07.24

LangChain&GPT4All 로컬 CPU 환경에 구현

서론 LangChain을 구현할 때 OpenAI api를 활용하여 LangChain을 구성하는 것이 가장 일반적인 구현 방법이다. 다만, 그럴 경우 사용할 때마다 api키 사용에 대한 돈을 지불해야하며 내가 소유한 데이터를 가지고 질문을 한다면 보안 문제도 발생할 수 있다. 이를 해결하기 위해 모델을 로컬 환경에 저장하여서 사용할 수 있는 ‘GPT4All’을 소개하도록 하겠다. GPT4All GPT4All 깃허브에 있는 소개말을 보면 ‘CPU에서 로컬로 실행되는 오픈 소스 어시스턴트 스타일의 대규모 언어 모델’이다. 실제로 M1 CPU환경에서 ‘orca-mini-3b.ggmlv3.q4_0’모델로 테스트 했을 때 1분내외로 작동했다. 물론 이를 OpenAi api를 활용하는 것과 비교하면 당연히 느리지만 ..

NLP 2023.07.24