반응형

생성형 26

Project Joing - 기능별 Intro: 기획안 평가 및 요약

Project Joing: Intro에서 언급했듯이 이번에는 기능별 도메인에 따른 구체적인 개발 계획에 대해 정리했습니다.기획안 평가 및 요약기획자가 작성한 기획안에 대한 평가를 통해 평가통과한 기획안의 경우 요약을 진행요약이 완료된 시점 부터 추천 대상으로 전환Evaluation Bot(aka. Clean Bot)역할 및 기능기획안의 내용과 구성을 바탕으로 평가한다. 총 3차의 평가를 진행하며 기획안이 최초 생성혹은 기획안이 수정 됐을 때 작동한다.총 3차로 나눈 이유는 각 평가별로 기획자에게 주어지는 피드백이 다르기 때문에 나누게 됐다. 1차 평가: 정량평가2차 평가: 내용평가3차 평가: 영상 심의 평가구체적인 사용 예시기획안 생성 및 수정 직후 총 3가지의 평가가 진행된다.1차 평가: 양 → 양이 ..

AI/Projects 2024.10.10

Project Joing - Intro

Joing은전문적인 기획자 혹은 아이디어만 있는 초보 기획자를 위한 메칭 플랫폼입니다. 또한 트렌드를 바탕으로 만들어진 새로운 아이디어를 찾고 있는 크리에이터를 위한 메칭 플랫폼입니다.  Joing은 메칭 플랫폼으로써 기획자와 크리에이터를 연결하고 소통할 수 있는 공간입니다. 또한 AI를 적극적으로 도입하여 더 원활한 메칭이 가능하도록 만들어진 플랫폼입니다. 그래서 기본적으로 Joing이라는 플랫폼은 아래와 같은 기획자와 크리에이터 유저 플로우를 가지고 있습니다. 기획자자신의 아이디어를 바탕으로 영상 기획안을 작성할 수 있다.작성된 기획안에 어울리는 크리에이터에 대한 추천을 받을 수 있다.추천 크리에이터에게 자신의 기획안을 제안할 수 있다.크리에이터자신의 프로필을 등록할 수 있다.자신의 프로필을 바탕으로..

AI/Projects 2024.10.04

Project HowAbout RAG API - Outro: TPM Back Off 적용

Vector Store에서의 TPM 문제 개선에 이어 이번에는 Generation과 Query Translation파트에서의 개선을 진행해 봤다.Vector Store 생성 파트사용 토큰 수 지정Batch API 사용Embedding Model 변경Query Translation & Generation 파트Tenacity 혹은 Backoff 적용 문제 개선에 대한 동기와 그 선정과정이 궁금하다면 아래의 링크로 가면 된다.Project HowAbout RAG API - Outro: Optimization - TPM 문제 정의 실시간 응답이 필요한 경우 Tenacity나 Backoff를 사용해야 한다. 하지만 여기서 중요한 부분이 있는데 OpenAI에서 이 방식을 추천하나 절대로 장담하지 못한다는 사실이다...

AI/Gen AI 2024.10.03

Project HowAbout RAG API - Outro: TPM Vector Store 개선

이전 포스트에서 TPM 문제에 대한 해결책을 실제로 구현해 보고 비교해 봤다. 먼저 Vector Store를 개선해보려고 한다.Vector Store 생성 파트사용 토큰 수 조정Batch 적용Embedding Model 변경Query Translation & Generation 파트Tenacity 혹은 Backoff 적용 문제 개선에 대한 동기와 그 선정과정이 궁금하다면 아래의 링크로 가면 된다.Project HowAbout RAG API - Outro: Optimization - TPM 문제 정의  사용 토큰 수 조정먼저 토큰이 정확히 얼마나 어디서 쓰이는지 확인하기 위해 진행했다. 그래서 먼저 tiktoken을 활용해서 사용되는 토큰의 규모를 파악했다. 또한 기본적으로 시도할 수 있는 부분이 적절한 ..

AI/Gen AI 2024.10.02

Project: HowAbout - Outro: 회고

Project:HowAbout - Intro에 구현하기로 한 기능을 다 구현하지는 못했으나 4주간의  MVP를 달성했다. 그리고 이 포스트는 4주간의 과정에 대한 회고다. 먼저 처음에 예상했던 구성 사용하기로 한 기술스택들과 실제로 만들어지고 사용된 내용에 대해서 확인해 보자. 프로젝트 구현 전 예상 Software Architecture 예상 기술스택PlatformHuggingfaceFramework: RAGLangChainFramework: APIFastAPIEmbedding ModelKoBart, KcBert, KoBertVector DBFaiss, Chroma, PineconeLLMchatGPT 3.5 Turbo 프로젝트 구현 후 실제로 만들어진 Software Architecture 실제로 사용..

AI/Projects 2024.09.25

RAG 구현 Step-by-Step: Generation 및 API 전환

RAG 구현 Step-by-Step: Intro가상환경 설정 및 MVP 구현Dataset과 Vector DB 구현Dataset 확보Vector DB 구현Embedding & Searching 구현Generation  구현 및 API 전환드디어 RAG 구현의 마지막 부분인 Generation과 API 전환 단계로 넘어왔다. Retrieval 파트 구현에 대한 시간 투자로 인해서 이번 포스트에는 간단히 구현동기, 구현과정 그리고 문제상황에 대해서만 간단히 정리해 봤다. 먼저 Generation을 구체화한 부분에 대한 구현동기는 아래와 같다.구현동기챗봇이 아닌 API 요청으로 작동하기 때문에 클라이언트로 반환해야 하는 응답이 일정해야 한다. 특히, 클라이언트로의 응답을 json으로 Restful api를 만들..

AI/Gen AI 2024.09.24

도대체 Embedding Model과 Token은 뭘까?

Embedding과 Token의 경우 AI에서 정말 많이 쓰이는 단어중 하나이다. 그래서 이번에 먼저 AI에서의 Embedding과 Token의 의미를 보고 LLM관련 개발에 있어서는 어떻게 쓰이는 표현인지 알아보자. 먼저 Embedding의 경우 AI와 기계학습에 있어 주어진 데이터에 대한 이해를 높이기 위해 사용된다. 예를 들어 '사과' 혹은 사과의 사진은 사람이 단어로써 이해하고 있고 시각적으로 이미 알고 있기에 쉽게 이해할 수 있다. 하지만 반대로 컴퓨터는 우리와는 다르게 눈도 없고 데이터로서 '사과'라고 한국어로 저장 돼 있지 않다. 그런 컴퓨터에게 '사과'라는 데이터를 이해시키기 위해 '사과'가 가진 시각적 혹은 언어적 내용을 Vector로 표현하고 이 과정을 Embedding이라고 한다.  ..

RAG 구현 Step-by-Step Embedding & Searching: Query Translation

RAG 구현 Step-by-Step: Intro가상환경 설정 및 MVP 구현Dataset과 Vector DB 구현Dataset 확보Vector DB 구현Embedding & Searching 구현Generation  구현위의 그림은 LangChain에서 RAG를 필요에 맞춰 수정할 수 있는 부분을 도식화한 그림이다. 위의 그림과 같이 단순히 RAG는 조회와 조회된 결과를 바탕으로 생성하는 간단한 구성이 아니었다. 조회와 생성 그리고 데이터 확보 부분 또한 기획한 서비스 의도에 맞춰 다양하게 변형할 수 있었다.  그래서 이번 Embedding & Searching에서는 Query에 대한 Embedding을 진행하고 그다음 가장 유사한 Vector들을 찾는 유사도 방식에 추가적으로 Query에 대한 분석과 ..

AI/Gen AI 2024.09.20

도대체 FAISS 그리고 Vector Store는 뭘까?

FAISS는 Facebook에서 만든 Facebook AI Similarity Search로 검색에 있어 단순히 Vector 기반 검색이 가능하게 데이터를 전환해 주는 라이브러리라고 생각하면 된다. 그리고 Vector Store의 경우 LangChain의 설명에 따르면 정규화되지 않는 데이터를 저장하고 저장된 데이터 안에서 검색을 돕도록 만들어진 Inteface다 그래서 간단한 Interface의 사용법은 아래와 같다.  vectorstore = MyVectorStore()retriever = vectorstore.as_retriever() 물론 사용하는 Vector Store에 따라 사용방식과 데이터 저장 방식이 다르다. 사용 방식보다 Vector Store에 대하 설명만 진행하겠다. 자세한 사용방식은..

도대체 LangChain은 뭘까?

LangChain은 뭘까?  가장 간단하게 설명하는 방법은 LLM을 활용해 Application을 만들기 위해 사용되는 Framework라고 생각하면 된다.  우리가 Web Application을 만들기 위해서 Spring이나 Django를 쓰는거와 같은 역할을 한다.  그런데 좀 더 구체적으로 설명하자면 아래의 그림을 참고 하면된다.  아래의 그림과 같이 LLM Application을 만들기 위한 다양한 부분들을 쉽게 연결하 도록 돕는 Framework다. 특히, 외부 Packcages를 자유롭게 연결 할 수 있다. 그래서 아래와 같이 나누어진다. langchain-core: LLM, Vector Store가 Interface방식으로 구성 돼 있다. 그래서 서로다른 Vector Store인 경우에도 L..

반응형