본문 바로가기

전체 글49

FastAPI로 복수 파일 업로드 API 구현하기 FastAPI에서는 File, UploadFile 객체를 이용해 간편히 프론트엔드에서 업로드한 파일을 처리할 수 있습니다.다음 예제 코드는 사용자가 업로드한 파일을 특정 경로에 저장합니다. 전송받는 파일 타입을 List 형식으로 설정하여, 여러 파일을 업로드할 수 있도록 합니다.   from fastapi import FastAPI, File, UploadFile, HTTPExceptionfrom typing import Listfrom fastapi.responses import JSONResponseimport osapp = FastAPI()UPLOAD_DIR = "uploads"os.makedirs(UPLOAD_DIR, exist_ok=True)@app.post("/api/upload/")async.. 2024. 9. 6.
Pytorch, 온디바이스 LLM 구동이 가능한 torchchat 소개 TL;DRPytorch에서 torchchat이라는 LLM 프레임워크를 소개했다.이미 LLM을 연동하는 서비스는 많은데 왜?라는 생각이 들었는데, torchchat은 로컬이나 온디바이스에서의 효율적인 추론에 초점을 맞춘 것 같다.Github에서도 llama.c, 양자화와 같은 LLM 경량화 프로젝트에 영향을 많이 받았음을 언급하고 있다.본 포스트에서는 torchchat을 사용해보기 전에 Pytorch가 소개한 아티클을 살펴보도록 한다.  출처:https://pytorch.org/blog/torchchat-local-llm-inference Introducing torchchat: Accelerating Local LLM Inference on Laptop, Desktop and MobileToday, we.. 2024. 7. 31.
Google DeepMind, AI로 국제 수학 올림피아드(IMO) 은메달 수준 달성 TL; DRLLM을 이용하여 각종 정보를 요약하다보면, 가장 난관에 부딪치는 부분이 수식 파트이다. 특히 논문 정보를 요약하고자 할 때, 수식 파트에 대한 깊이 있는 해석을 얻기 힘들다.Neuro-symbolic 시스템은 이러한 수식들을 잘 이해하고, 이를 바탕으로 수학적 추론이 가능하게 학습된 모델이다. 본문에 등장하는 Goolgle DeepMind(Alphago로 유명한)의 AlphaGeometry 및 AlphaProof가 여기에 속한다.본 포스트에서는 Google DeepMind가 AlphaGeometry 및 AlphaProof로 이루어낸 최근 성과를 요약하여 소개해 본다.  * 가독성을 위해 그림 크기를 최소화 했습니다. 클릭 시 확대됩니다.출처: https://deepmind.google/dis.. 2024. 7. 26.
Mistral, 새로운 플래그십 모델 Mistral Large 2 출시 TL; DRLlama 3.1이 출시된 지 하루만에 소형 모델의 강자인 프랑스 기업 Mistral에서도 새 모델 Large 2를 발표했다.  Google I/O 하루 전날 OpenAI에서 GPT-4o를 공개했던 것이 생각나는데, AI 기업 간의 신경전이 치열해 보인다.Mistral의 새 모델은 Llama의 플래그십 모델만큼 크지는 않지만, 충분히 강력하고 실용적으로 보인다. 무엇보다, 한국어를 지원하는 것이 반갑다.공식 홈페이지의 릴리즈 노트를 먼저 살펴보자.  * 가독성을 위해 그림 크기를 최소화 했습니다. 클릭 시 확대됩니다.출처: https://mistral.ai/news/mistral-large-2407/ Large EnoughToday, we are announcing Mistral Large 2.. 2024. 7. 25.
405B 사이즈 모델을 포함한 Llama 3.1 버전 릴리즈 노트 살펴보기 TL;DRLlama 3 초기 버전 출시 후 예고되었던 405B 모델이 출시되었다. 이런 저런 업데이트를 포함하여, Llama 3.1로 발표가 되었다. 405B 모델의 성능은 공개 모델만큼 강력해보이지만, 높은 인프라 수준을 요구할 것으로 보인다. 이 외에도 각종 개발 편의성이나 안정성이 개선된 것으로 보인다. 모델을 사용해보기 전에, 먼저 공식 홈페이지의 릴리즈 노트를 살펴보자.  * 가독성을 위해 그림 크기를 최소화했습니다. 클릭 시 확대됩니다.출처: https://ai.meta.com/blog/meta-llama-3-1/ Introducing Llama 3.1: Our most capable models to dateFor this release, we evaluated performance on o.. 2024. 7. 25.
마구잡이 질문에도 강건한 RAG 시스템 만들기: Query Transformation TL;DRRAG 기반 어플리케이션은 질문 텍스트를 바탕으로 정보를 검색하기 때문에, 사용자의 무작위적인 질문 형식에 매우 취약한 시스템이다.이를 해결하기 위해 모델이 질문의 핵심 내용을 잘 인식할 수 있도록 질문을 변형하여 재구성할 수 있는데, 이를 'query transformation'라 한다.본 포스트에서는 LangChain 환경을 바탕으로 이러한 변형 방법 중 하나인 'Rewrite'를 알아보고 실제로 구현을 해보도록 한다.   Query transformation은 다양한 방법이 있지만, 이 포스트에서 소개할 방법은 'Rewrite'이다. 말 그대로 사용자 쿼리에 LLM을 한번 더 적용하여, 사용자가 알고자 하는 핵심 정보로 재작성한다. 먼저, 필요한 라이브러리들을 설치해보자. DuckDuckG.. 2024. 7. 20.
문서 내 이미지를 함께 활용할 수 있는 멀티모달(Multi-modal) RAG 시스템 만들어보기 2024.05.13 - [🟣 AI & ML] - 검색증강생성(RAG) - LangChain과 PGVector를 이용한 간단한 RAG 시스템 구축해보기 TL;DR이전 포스트에서 소개했던 일반적인 RAG 시스템은 문서의 텍스트만을 추출하여, 생성 모델의 답변에 활용합니다. 하지만, 많은 문서에서는 유용한 정보들이 텍스트가 아닌 이미지로 표현되어 있기도 합니다.이 때, 멀티모달(multi-modal) 모델을 이용하면 자연어로 문서의 이미지에 대한 검색도 수행할 수 있습니다.이번 포스트에서는 OpenAI의 멀티모달 모델, PGVector, Qdrant DB, LlamaIndex 등의 도구를 활용하여 문서의 텍스트와 이미지에 함께 질의할 수 있는 멀티모달 RAG 시스템을 구축해보겠습니다.    먼저, 아래와 같.. 2024. 6. 20.
검색증강생성(RAG) - LangChain과 PGVector를 이용한 간단한 RAG 시스템 구축해보기 TL;DR이번 포스트에서는 벡터 DB 중, pgvector를 이용하여 간단한 RAG 시스템을 구축해봅니다. pgvector는 PostgreSQL에서 확장 기능(extension)으로 사용할 수 있는 오픈소스 벡터 DB 이며, 오픈소스임에도 불구하고 상용 벡터 DB에 준하는 성능을 보여줍니다.LangChain 프레임워크 상에서, PDF 파일을 벡터로 변환하여 pgvector에 저장하고 유사 문서를 검색하는 과정까지 수행해보겠습니다.   *샘플 PDF 파일 링크: https://www.dir.ca.gov/injuredworkerguidebook/InjuredWorkerGuidebook.pdf 먼저, 필요한 라이브러리들을 설치해주어야 합니다. LangChain은 LLM 기반 어플리케이션을 구축하는 데에 널리 .. 2024. 5. 13.
AWS 클라우드 자격증(SAA-C03) 시험 특징 및 시험 후기 들어가며 한동안 AWS 자격증 클라우드 관련 포스트를 올리다가 말았는데, 기출문제를 풀기 바쁘다보니 공부와 블로그 포스트를 병행하기는 어려웠습니다. 어쨌든 최근에 시험을 응시하여, 간단히 시험 특징과 후기 정도를 공유하고 추후 공부 방법 및 요약 노트도 공유하고자 합니다. AWS 자격증 특징 AWS 클라우드와 자격증에 대한 소개는 검색하면 잘 나오니 생략하고, 주요 특징부터 소개하면 다음과 같습니다. 1. AWS 자격증 종류 공식 사이트의 자격증 경로 선택를 참고합시다. 중간에 없어지거나 신설되는 종목도 있으니 신청에 주의하기 바랍니다. 예를 들어, Data Analytics 종목은 이제 신청이 불가합니다. Data Engineer 종목은 새로 신설되는 것 같습니다. Solutions Architect,.. 2024. 4. 23.
Meta, Llama 3 발표: 현존하는 가장 뛰어난 성능의 퍼블릭 LLM TL;DR 한국 기준 4월 19일, Meta 사가 Llama 3 를 발표했다. 대중적인 LLM으로는 ChatGPT의 인지도가 높지만, ChatGPT는 웹 서비스 또는 API를 통해서만 이용 가능하며 모델의 구조나 원본은 공개하지 않고 있다. Llama는 1 버전 출시부터 모델 원본을 오픈소스로 공개하여 큰 파장을 일으켰고, 개발자들은 Llama를 바탕으로 하여 많은 파생 모델을 만들어 이용할 수 있었다. 이번 포스트에서는 이제 막 발표된 Llama 3에 대한 Meta 사의 블로그 포스트를 번역 및 요약하며 어떤 점이 변화되었는지 간단히 알아보도록 하자. * 이해를 돕기 위한 의역이 포함될 수 있습니다. 원문 링크: https://ai.meta.com/blog/meta-llama-3 Takeaways(핵심.. 2024. 4. 21.
LLM이 표(table)를 잘 이해하도록 하자: Chain-of-table: Evolving tables in the reasoning chain for table understanding Chain-of-table: Evolving tables in the reasoning chain for table understanding Chain-of-table: 테이블 이해를 위한 추론 체인(reasoning chain)에서 진화하는 테이블 2024-03-11 by Zilong Wang, Student Researcher, and Chen-Yu Lee, Research Scientist, Cloud AI Team 원문 링크: https://blog.research.google/2024/03/chain-of-table-evolving-tables-in.html Chain-of-table: Evolving tables in the reasoning chain for table understandin.. 2024. 4. 7.
Postgres가 데이터베이스 시장을 지배하고 있다: Postgres is eating the database world TL;DR 본 포스트에서는, Postgres가 강력한 확장 기능과 오픈 소스의 강점을 살려 데이터베이스 시장을 지배하고 있다는 내용의 'Pigsty' 서비스의 개발자 Vonng이 작성한 아티클을 번역하였다. 원문에서는 여기서 나아가 Postgres가 해결해야 할 과제를 함께 제시하고 그 대안으로 Pigsty의 필요성을 강조하고 있다. 원문 링크: https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4 Postgres is eating the database world PostgreSQL isn’t just a simple relational database; it’s a data management framewo.. 2024. 3. 19.