Python/자연어처리
-
웹 검색 기능이 탑재된 챗봇 구현해보기 (chatGPT API)Python/자연어처리 2025. 7. 30. 16:54
웹 검색 기능이 탑재된 챗봇 구현해보기 (chatGPT API)나만의 챗봇을 만들 때 흔히 이용하는 기술 중 하나가 RAG입니다. RAG는 단순히 외부 문서를 참조하는것 이외에도, 웹사이트 정보를 크롤링한 다음 참조하는 방식으로 웹 검색과 유사한 기능을 구현할 수 있어요. 이번에는 이런 설계를 활용해서 chatGPT API와 🦜️🔗랭체인(Langchain)을 이용해서 웹 검색 기능이 탑재된 챗봇을 구현해 보도록 하겠습니다. 이 프로그램을 만들기 전에는 랭체인을 설치하고 OpenAI API 키 발급을 해 놓는 정도의 준비만 해 두시면 됩니다. 웹 검색 기능 설계하기웹 검색 기능을 구현하기 위해서는 크게 두 가지 접근 방법을 고민할 수 있습니다. 제작 목적 및 편의성, 예산에 따라 알맞은 방법을 선택해..
-
프롬프트 인젝션 공격에 대해 알아보기Python/자연어처리 2025. 7. 29. 16:49
프롬프트 인젝션 공격에 대해 알아보기최근 LLM 모델을 활용한 서비스가 많아지면서, 모델의 허점을 공격하는 사례 또한 많아지고 있습니다. 이중에서 가장 피해 사례가 많고, 손쉽게 공격할 수 있는 방법으로는 프롬프트 인젝션(Prompt Injection)을 꼽을 수 있지요. 프롬프트 인젝션은 LLM 모델의 입력 데이터를 교란해서 의도치 않은 응답을 이끌어내는 공격 방식입니다. 아래에는 프롬프트 인젝션 공격의 유형과 이를 막을 수 있는 간단한 예제를 살펴보도록 하겠습니다. 챗GPT API를 활용한 코드 예시를 작성했으니 LLM 관련 서비스를 기획할 때 테스트 케이스 작성에 활용해 보세요. 프롬프트의 구조 이용하기LLM 모델에서는 프롬프트를 크게 두 종류로 나누어 관리합니다. 시스템 프롬프트(System P..
-
chatGPT가 거짓말 못하게 하는 방법, RAG에 대해 알아보기Python/자연어처리 2025. 7. 24. 11:36
글: 심심한아리엘jwkang3929@naver.com요약ChatGPT 같은 생성형 AI는 가끔 사실과 다른 내용을 자연스럽게 말하는 환각 현상을 일으키기도 합니다. 이런 문제를 줄이기 위해 등장한 기술이 바로 RAG(Retrieval-Augmented Generation)입니다. RAG는 외부 문서를 함께 참고해 답변하도록 만드는 방식이라, 신뢰할 수 있는 데이터를 인용하는 것과 같은 효과를 노릴 수 있어요. 생성형 AI를 사용하다 보면 제대로 대답한게 맞나 싶은 순간이 종종 있습니다. 질문에 대한 답을 너무 자연스럽게 이야기하다 보니 처음에는 믿게 되는데, 실제로 찾아보면 틀린 내용인 경우도 적지 않습니다. 이런 현상을 보통 환각 현상(할루시네이션, hallucination)이라고 부릅니다.특히 업..
-
[Transformers] 🤗 트랜스포머로 파이썬 텍스트 분석 모델 이용하기Python/자연어처리 2024. 10. 7. 12:49
🤗 트랜스포머를 이용한 텍스트 분석 모델 이용하기파이썬(Python)을 이용한 자연어 처리(NLP, Natural Language Processing) 작업에서 최근 많이들 이용하는 라이브러리로 허깅페이스 트랜스포머(HuggingFace Transformers)를 빼놓을 수 없습니다. 이 라이브러리는 추상화 수준이 아주 높아서 허깅페이스에 올라와 있는 모델, 데이터셋, 토크나이저의 이름만 적으면 코드를 거의 변경하지 않고 비교 분석이 가능하다는 장점이 있지요. 특히, 딥러닝 프레임워크 중 점유율이 아주 높은 파이토치(PyTorch)와 텐서플로우(TensorFlow)를 가리지 않고 지원하기 때문에 더욱 확장성이 좋습니다. 이번에는 🤗 트랜스포머를 활용해서 다양한 텍스트 분석 모델을 이용하는 방법을 소..
-
[customized KoNLPy] 한국어 사용자 지정 품사 태깅 및 N-gram 분석하기Python/자연어처리 2024. 9. 23. 17:19
customized KoNLPy를 이용한 한국어 자연어 분석하기한국어를 이용한 자연어 분석에는 주로 코엔엘파이(KoNLPy)를 이용합니다. 하지만, 이 패키지에서 지원하는 기능이 제한적인 탓에 자연어 분석에 주로 활용되는 몇몇 기능은 사용자가 임의로 만들어서 활용해야 하지요. 이 문제를 손쉽게 해결하는 방법은, KoNLPy와 동일한 방법으로 이용할 수 있으면서 사용자 정의 기능을 지원하는 customized KoNLPy를 이용하는 방법입니다. customized KoNLPy의 기본 이용법customized KoNLPy는 KoNLPy와 거의 동일한 방법으로 이용할 수 있습니다. 아래에 기재된 설치 및 이용에 대한 예제를 참고해 주세요. KoNLPy의 Okt는 customized KoNLPy에서 Twitt..
-
[KoNLPy] 파이썬에서 한국어 토큰화 하는 방법 알아보기Python/자연어처리 2024. 9. 20. 18:27
KoNLPy를 이용한 한국어 토큰화자연어 처리자연어 처리(NLP, Natural Language Processing)는 컴퓨터가 인간의 언어를 이해, 생성, 조작할 수 있도록 해주는 인공지능(AI)의 한 분야로 정의되어 있습니다. 만약 자연어 처리를 능수능란하게 할 수 있다면, 인터넷에서 흔히 구할 수 있는 문서 데이터를 모두 데이터 분석에 활용할 수 있기 때문에 활용도 또한 높지요. 파이썬(Python)에는 다양한 자연어 처리 패키지가 있습니다. 다만, 그 다수는 영어 기반인데요, 한국어 자연어 분석을 하기 위해서는 코엔엘파이(KoNLPy)와 같은 전용 패키지를 이용할 필요가 있습니다. 코엔엘파이는 자바를 이용하는 패키지이기 때문에 공식 홈페이지의 설치 안내에 따라, JDK를 설치 후 이용해 주시기 바..
-
[KoNLPy] No JVM shared library file found 문제 해결하기Python/자연어처리 2024. 9. 19. 11:33
KoNLPy 이용시 No JVM shared library file (jvm.dll) found 문제 해결하기파이썬(Python)에서 텍스트 분석을 하기 위해서 흔히 쓰는 패키지로 KoNLPy가 있습니다. 그런데, 이 패키지를 쓸 때는 자바 개발환경 설정에 따라서 다양한 에러가 발생하는데요, 제가 흔히 경험한 에러는 JVMNotFoundExeption: No JVM shared library file (jvm.dll) found... 에러입니다. 에러 메시지를 잘 읽어보면, JAVA_HOME 환경변수 설정이 잘못되었다는 이야기인데요, 자바를 설치하라는대로 잘 설치했음에도 불구하고 에러가 생기는 경우가 있어서 골치 아픈 문제입니다. 이 문제는 다양한 해결 방법이 제시되고 있는데, 아마 개발 환경에 따라 다..
-
[Faiss] 파이스를 이용한 문서 검색 시스템 만들기Python/자연어처리 2024. 6. 28. 12:57
Faiss를 이용한 문서 검색 시스템 만들기Faiss(Facebook AI Similarity Search)란 데이터의 유사도 검색 및 벡터 클러스터링을 위한 라이브러리라고 합니다. 간단히 말해, 자연어 유사도를 기반으로 문서 검색을 구현할 수 있다는 말이지요. 유사도 검색이라고 하면, 예전에도 이와 같은 기능을 구현하는 라이브러리가 없었던건 아니지만, 파이스를 이용할 경우 성능이 제법 좋고, 옵션을 자유자재로 설정할 수 있기 때문에 문서 검색 시스템을 구현할 때 이만한 선택이 없어 보입니다. 프로그램 구성이번에는 파이썬(Python)을 이용한 문서 검색 시스템을 만들어 보겠습니다, 구현 방법은 간단한데요, 원하는 문서를 읽은 뒤, 적당한 크기로 자르고 임베딩을 한 다음 Faiss 데이터베이스를 만들어 ..