반응형
2023년 6월 13일에 OpenAI의 Chat Completions API에 새로운 기능인 function calling이 업데이트되었습니다. 자세한 내용은 아래 링크에서 확인할 수 있습니다. https://openai.com/blog/function-calling-and-other-api-updates 이 글은 function calling을 사용하여 날씨 함수를 호출하고 응답하는 과정을 간단하게 설명합니다. 먼저, 날씨 조회를 위한 인터페이스 역할을 하는 더미 함수를 작성합니다. import json def get_current_weather(arguments): """현재 위치의 현재 날씨를 확인합니다""" weather_info = { "location": arguments['location']..
Chroma Milvus qdrant 아래 표는 Qdrant, Milvus, Chroma 세 가지 솔루션을 다양한 측면에서 비교하고 분석한 결과를 정리한 것입니다. Qdrant Milvus Chroma 핵심 기능 벡터 색인 및 검색, 고급 쿼리, 실시간 업데이트 벡터 색인 및 검색, 고급 쿼리, 실시간 업데이트 벡터 색인 및 검색, 고급 쿼리, 실시간 업데이트 인덱싱 알고리즘 HNSW, IVFADC, IVFPQ 등 FAISS, HNSW, IVFADC, IVFPQ 등 Annoy, HNSW, IVFADC 등 다양한 클라이언트 지원 Python, Go, Java, REST API 등 Python, Java, C++, REST API 등 Python, REST API 등 오픈 소스 예 예 예 활발한 커뮤니티 예..
이 글은 라마인덱스(LlamaIndex)를 사용하여 내 옵시디언 노트를 기반으로 대답하는 봇을 만드는 과정을 설명합니다. 모든 코드는 라마인덱스 Obsidian Reader 문서를 참고하여 작성되었습니다. 먼저, 라마인덱스를 설치합니다. pip install llama_index 환경 변수에 OPENAI_API_KEY 를 등록합니다. import os os.environ['OPENAI_API_KEY'] = 'sk-...' 필요한 파이썬 패키지를 가져옵니다. from llama_index import ObsidianReader, GPTVectorStoreIndex 라마인덱스에서 제공하는 ObsidianReader를 사용하여 옵시디언 노트를 모두 불러옵니다. reader = ObsidianReader('여러..
이 글은 LangChain을 사용하여 유튜브 자막을 다운로드하여 요약하는 방법을 설명합니다. 필요한 파이썬 패키지 설치 %pip install langchain openai tiktoken youtube-transcript-api pytube 파이썬 패키지 import from langchain.document_loaders import YoutubeLoader from langchain.chat_models import ChatOpenAI from langchain.chains.summarize import load_summarize_chain OpenAI API Key 설정 import os os.environ['OPENAI_API_KEY'] = 'sk-...' 유튜브 자막 다운로드 유튜브에서 제공하..
이 글은 랭체인 에이전트와 도구의 사용 방법에 대해 설명합니다. 이 글에서 예시로 사용된 코드는 모두 랭체인 공식 문서의 코드를 참고하였습니다. 이전 글: ChatGPT | 랭체인(LangChain) 소개 에이전트 에이전트는 LLM을 사용하여 어떤 작업을 어떤 순서로 수행할지 결정합니다. 작업은 필요 시 도구를 사용하여 그 결과를 반환할 수 있습니다. 에이전트를 사용하기 위해서는 다음 개념을 이해해야 합니다: 도구(Tool): 특정 작업을 수행하는 함수입니다. 예를 들면 Google 검색, 데이터베이스 조회, Python REPL, 기타 체인 등이 될 수 있습니다. 도구의 인터페이스는 문자열을 입력으로 받고 문자열을 출력하는 함수입니다. LLM: 에이전트를 구동하는 언어 모델입니다. 도구(Tool) 도구..
이전글 ChatGPT 프롬프트 엔지니어링 과정: 효과적인 프롬프트 작성 방법 ChatGPT 프롬프트 엔지니어링 과정: 반복적인 프롬프트 작성 방법 요약(Summarizing) 특정 주제에 중점을 두고 텍스트를 요약할 수 있습니다. 다음은 요약에 사용할 제품 리뷰 입니다. 딸의 생일 선물로 이 팬더 봉제 인형을 받았는데, 딸이 좋아해서 어디든 가지고 다닙니다. 부드럽고 매우 귀엽고 얼굴이 친근한 표정입니다. 하지만 제가 지불한 금액에 비해 조금 작아요. 같은 가격에 더 큰 다른 옵션이 있을 것 같아요. 예상보다 하루 일찍 도착해서 아이에게 주기 전에 제가 직접 가지고 놀 수 있었어요. prod_review = """ Got this panda plush toy for my daughter's birthda..