[AI] 오디오 녹음 요약하기 (OpenAI Whisper, Langchain, Exaone)
·
IT/AI
[AI] 오디오 녹음 요약하기 (OpenAI Whisper, Langchain, Exaone)클로바 회의 요약 기능을 보고 이것도 어느정도 단계는 쉽게 구현할 수 있지 않나 해서 그냥 재미로 구현해봤다. 녹음은 내가 떠들수는 없으니 슈코 틀어서 녹음 시켰다.https://www.youtube.com/watch?v=95-2hZQGHyQ 실제로 구현해보니 만약 토이 프로젝트로 어느정도 구현을 한다고 한다면, 프론트에서 오디오 관련 라이브러리를 통해서 녹음을 한 뒤 백엔드로 업로드 하고 백엔드에서는 업로드 오디오 파일들을 이벤트 아키텍쳐 구성하여 Audio-to-Text 와 Summarize에 대해서 이벤트 처리 하도록 하면 쉽고 간단하게 토이 프로젝트를 구현할 수 있겠다. 오디오 녹음import osimpo..
[Langchain] Chatbot 챗봇 구현
·
IT/Langchain
[Langchain] Chatbot 챗봇 구현Codeimport enumfrom typing import Listimport streamlit as stfrom langchain.chains.combine_documents import create_stuff_documents_chainfrom langchain.chains.retrieval import create_retrieval_chainfrom langchain.embeddings import CacheBackedEmbeddingsfrom langchain.globals import set_debugfrom langchain.retrievers import EnsembleRetrieverfrom langchain.storage import Loc..
[Langchain] 이미지 분석
·
IT/Langchain
[Langchain] 이미지 분석Codeimport base64import os.pathfrom io import BytesIOfrom PIL import Image, ImageFilefrom langchain_ollama import OllamaLLMfrom langchain_demos.utils.dev import green, magentadef convert_to_base64(image: ImageFile.ImageFile) -> str: buffered = BytesIO() image.save(buffered, format="JPEG") return base64.b64encode(buffered.getvalue()).decode("utf-8")def summarize_image(b..
[Langchain] 계엄령 기념, 집밥 같은 랭체인 코드로 계엄령 뉴스 보기
·
IT/Langchain
[Langchain] 계엄령 기념, 집밥 같은 랭체인 코드로 계엄령 뉴스 보기계엄령 기념으로 계엄령 뉴스들을 몇개 선택한 후 마치 집밥을 먹는것 같은! 마치 기본적인 반찬들이 있는 것 같은! 랭체인 기본 코드를 작성했다.Codeimport osfrom typing import Listimport bs4from dotenv import load_dotenvfrom langchain.embeddings import CacheBackedEmbeddingsfrom langchain.retrievers import EnsembleRetrieverfrom langchain.storage import LocalFileStorefrom langchain_chroma import Chromafrom langchain_c..
[Langchain] AI vs AI 토론을 가장한 말싸움 하기
·
IT/Langchain
[Langchain] AI vs AI 토론을 가장한 말싸움 하기Codeimport uuidfrom typing import Callablefrom langchain_core.language_models import BaseChatModelfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.runnables.utils import Outputfrom langchain_ollama import ChatOllamafrom langchain_demos.utils.dev import cyan, green, yellowclass Disc..
[Langchain] 웹 요약 Agent
·
IT/Langchain
[Langchain] 웹 요약 AgentCodeimport osimport uuidfrom dotenv import load_dotenvfrom langchain.agents import create_react_agent, AgentExecutorfrom langchain_community.chat_message_histories import ChatMessageHistoryfrom langchain_community.document_loaders import WebBaseLoaderfrom langchain_community.tools import TavilySearchResultsfrom langchain_community.vectorstores import Chromafrom langchain_co..
[Langchain] PDF 요약 Agent
·
IT/Langchain
[Langchain] PDF 요약 AgentCodeimport osfrom langchain_community.document_loaders import PDFMinerLoaderfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_ollama import ChatOllamapdf_filepath = os.path.join("../../../data", "SK_ESG_2023.pdf")loader = PDFMinerLoader(pdf_filepath)docs = loader.load()template = """# Instruction이 ..
[Langchain] Math Agent
·
IT/Langchain
[Langchain] Math AgentLangChain은 LLM(대규모 언어 모델) 기반 애플리케이션을 개발할 때 유용한 도구로, 여러 유틸리티를 쉽게 통합할 수 있습니다. 이번 글에서는 Python과 LangChain을 활용해 수학 질문에 답변할 수 있는 에이전트를 구현하는 코드를 분석하고, 실무에서 주의해야 할 점과 개선 아이디어를 논의합니다.1. 툴 정의LangChain 에이전트는 작업을 수행할 수 있는 다양한 “툴”로 구성됩니다. 아래 코드는 세 가지 툴을 제공합니다: • basic_calculator_tool: 간단한 계산을 수행하는 계산기 툴입니다. • eval 함수를 사용해 수식을 계산합니다. • 주의: eval은 외부 입력값을 실행하기 때문에 보안 취약점이 있을 수 있습니다. 예: 사용..
[Langchain] 네이버 뉴스 요약
·
IT/Langchain
[Langchain] 네이버 뉴스 요약이번 글에서는 Python과 LangChain, Ollama 모델을 활용해 웹에서 텍스트를 스크래핑하고, 이를 요약 및 구조화하는 방법을 다룹니다.  뉴스 기사를 처리한 사례를 통해 기술적 구현 방법과 활용 가능성을 살펴보겠습니다.1. 웹 스크래핑 도구: WebBaseLoaderWebBaseLoader는 BeautifulSoup(bs4)를 기반으로 동작하며, 특정 HTML 태그나 속성을 기반으로 데이터를 필터링합니다.loader = WebBaseLoader( web_paths=urls, bs_kwargs=dict( parse_only=bs4.SoupStrainer("article", attrs={"id": ["dic_area"]}), ),..
Prompt Engineering Guide: Prompting Techniques
·
IT/AI
Prompt Engineering Guide: Prompting Techniques테스트 모델llama3.1:8bbenedict/linkbricks-llama3.1-korean:8bZero-shot promptingPromptClassify the text into neutral, negative or positive then just give me the sentiment. Text: I think the vacation is okay.Sentiment:OutputNeutralFew-shot promptingPrompt`네카라`는 네이버, 카카오, 라인 회사들의 줄임말 입니다. `네카라` 단어 사용 예시 문장: "교육 이수시 네카라 취업 100%!"`인터넷 방송`은 회선을 통해 프로그램을 내보내는 방..
Prompt Engineering Guide: LLM Arguments
·
IT/AI
Prompt Engineering Guide: LLM ArgumentsTemperaturetemperature 높은 경우 (1에 가까운)다양성과 창의성을 기대낮은 확률의 토큰도 선택시 짓기 등 창의적인 작업 등에서 사용temperature 낮은 경우 (0에 가까운)결정론적 결과를 기대가장 확률이 높은 토큰 선택사실적이고 정확한 결과를 필요한 경우에 사용Top P핵 샘플링으로 불리우는 `temperature` 샘플링 기법으로 모델의 랜덤성을 조절하는 파라미터입니다.(A sampling technique with temperature, called nucleus sampling, where you can control how deterministic the model is)정확하고 사실적인 답변을 원한다면 ..