data science 66

Transformer (GPT) 가장 쉽게 이해하기 - Part 2

GPT2 - Small 모델의 예 (GPT2 - Small) Multi Block과 하나의 Block 내에서의 Multi-head Attention 아래는 내 나름대로 궁금했던 점들을 해소한 후에 간소하게 정리한 다이어그램이다. 실질적으로는 중간 중간에 세부 처리가 들어가는 경우가 있다. 입력으로 "I am a" 있을 경우 GPT는 다음에 올 가장 적절한 단어(토큰)을 제시해야 한다. ・입력은 토큰으로 분리되고 다시 Embedding으로 768 차원으로 변환된다. (그 후엔 Positioning Embedding은 생략됐다.)・그 후 12개의 Block(GPT2-Small model의 경우)에 전달된다.(Dropout과 Normalization은 생략됐다.)・각 12개의 Block은 학습(Train)에 ..

CrewAi Flows - 개념편

데코레이터@start()kickoff 시 맨 처음 실행되는 메서드위에 데코레이션@listen(method)파라미터로 지정된 method의 실행이 끝나자 마자 실행되는 메세드위에 데코레이션 @listen(or_(metho1, metho2, ...)파라미터로 지정된 메서드가 각각 끝나면 실행되는 메서드 @listen(and_(method1, method2, ...)파라미터로 지정된 메서드들이 모두 끝나야 실행되는 메서드@router(method)@listen 과 같지만 데코레이션된 메서드는 if .. else .. 로 다르게 리턴을 해야한다.그러면 다음 넘겨받는 메서드들은 @listen("결과값1") @listen("결과값2") 등으로 데코레이션 해서 처리. state 조건 로직 라우터 main.py 에서..

CrewAi Flows - 개요, 설치방법

CrewAI Flows는 CrewAI 내의 기능으로, 구조화된 이벤트 기반 AI 워크플로를 구축하기 위한 오케스트레이션 계층(Orchestration Layer) 역할을 합니다.CrewAI가 자율적인 에이전트 팀(“Crews”)을 생성하기 위한 프레임워크를 제공한다면, Flows는 여기에 제어, 상태 관리(State Management), 그리고 여러 개의 Crew나 단순한 LLM 호출들을 하나의 조직화된 자동화 프로세스로 결합할 수 있는 기능을 추가합니다.즉, CrewAI는 AI 에이전트와 팀을 구축하기 위한 기반 프레임워크이고, Flows는 그 프레임워크 안에서 이러한 팀들과 로직의 실행 순서를 관리하고 제어하기 위한 구체적인 기능입니다. 인스톨※ Python 버젼의 제한 : Python >=3.10..

Transformer (GPT) 가장 쉽게 이해하기 - Part 1

기존 자연언어처리와 Transformer 의 차이“고양이가 쥐를 잡았다. 그것은 매우 빠르다.” RNN/LSTM: “그것은”이 뭔지를 이해하려면 “고양이”를 기억해야 함 하지만 이미 여러 단계를 지나 기억이 약해질 수 있음 → “쥐”로 착각할 수도 😅 Transformer: “그것은”이 “고양이”와 더 강하게 연결되어 있음을 Attention으로 바로 파악 그래서 “그것은 매우 빠르다” → “고양이가 매우 빠르다”라고 올바르게 이해“Self-Attention”이란?문장의 각 단어가 다른 모든 단어를 바라보며,“너랑 나는 얼마나 관련이 있지?”를 점수로 계산하는 방식. ☞ 문장 예시“고양이가 쥐를 쫓았다.” ☞ 단어별로 서로의 관계를 평가합니다.쳐다보는 단어 주로 주목하는..

LangGraph - 지능적인 고객 대응 agent

고객 문의를 분류하고, 감정을 분석하며, 필요에 따라 적절한 응답을 제공하거나 문제를 에스컬레이션(담당자에게 전달)하도록 설계. 주요 구성 요소상태 관리 (State Management): TypedDict를 사용하여 각 고객 문의의 상태를 정의하고 관리합니다.문의 분류 (Query Categorization): 고객 문의를 기술(Technical), 요금(Billing), 일반(General) 카테고리로 분류합니다.감정 분석 (Sentiment Analysis): 고객 문의의 **감정적 톤(긍정, 중립, 부정)**을 판단합니다.응답 생성 (Response Generation): 문의 유형과 감정에 따라 적절한 응답을 생성합니다.에스컬레이션 메커니즘 (Escalation Mechanism): 부정적인 감..

CrewAI & LangChain - 영업 통화 분석

목표는 영업 통화의 오디오를 텍스트로 변환하고, 자연어 처리(NLP) 기술을 활용해 전사된 내용을 분석하며, 감정 분석, 핵심 문구, 고객의 문제점, 개선을 위한 제안 등을 포함한 상세한 보고서를 생성. 주요 구성 요소오디오 변환(Audio Transcription): OpenAI Whisper를 사용하여 통화 오디오를 텍스트로 변환합니다.통화 분석(Call Analysis): 감정 분석, 핵심 문구 추출, 고객의 문제점 파악, 상담원의 대응 효과성 평가 등 전사된 내용을 분석하기 위한 작업을 정의합니다.작업 자동화(Task Automation): CrewAI의 에이전트 및 태스크 프레임워크를 활용하여 분석 프로세스를 구조화하고 자동화합니다.보고서 생성(Report Generation): 영업 통화 개선..

agno - Memory 관리

기본적으로 agent 는 세션상태로 과거 이력을 보전한다. 하지만 영구적으로 이력을 보존하기 위해 외부 데이터베이스(postgres)를 사용하는 방법을 아래와 같이 소개하고자 한다.from agno.agent import Agentfrom agno.db.postgres import PostgresDbfrom agno.models.openai import OpenAIChat# Persist memories in Postgresdb = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")# Updated: Use OpenAI’s GPT-5 modelagent = Agent( model=OpenAIChat(id="gpt-5"), db=..

agno - 웹사이트 정보 취득후 블로그 컨텐츠 제작 Agent

필요한 두개의 agent1. Crawler agent : 지정한 웹사이트로부터 정보를 크롤2. Writer agent : 취합한 정보를 바탕으로 블로그 컨텐츠 작성pip install agno crawl4aiexport OPENAI_API_KEY=your_api_key_herefrom agno.agent import Agentfrom agno.team import Teamfrom agno.models.openai import OpenAIChatfrom agno.tools.crawl4ai import Crawl4aiTools# Create web crawler agent to extract informationcrawler = Agent( name="Crawler", role="Website i..