VSC/실습

OpenAi ChatGPT API 이용하기

qoeka 2025. 2. 13. 10:32

 

 

LlamaIndex: RAG(Relevant Augmented Generation)용 라이브러리로, 대화형 AI에서 문서를 검색하고 활용하는 데 사용된다.

 

LLM(대형 언어 모델)에서는 실무에서 많이 활용되며, 기본적으로 OpenAI의 ChatGPT와 ChatGPT Tokenizer를 사용한다.

허깅페이스(Hugging Face)의 모델과 토크나이저도 연동할 수 있으며, mistral-7b와 all-MiniLM-L6-v2를 **Settings(설정)**을 통해 사용할 수 있다.


그러나 OpenAI API를 사용할 경우, 별도의 모델 설정 없이 바로 활용 가능하다.

어제 저장했던 LlamaIndex의 인덱스 데이터를 OpenAI API를 통해 활용해볼 것이다.

 

 

 

#PDF 턱스트 추출함수

def extract_text_from_pdf(pdf_file):
    preader = PdfReader(pdf_file)
    text = ""
    for page in preader.pages:
        text=text + page.extract_text()
    return text

 

 

 

 

 

번에는 Settings(설정)를 하지 않아서 오류가 발생했다.
또한, 임베딩(Embedding)을 설정하지 않아서 생긴 문제였다.


OpenAI API Key가 없는 경우

  • OpenAI API를 사용하려면 API 키를 설정해야 한다.
  • 하지만 OpenAI API를 사용하면 과금이 발생하므로 주의해야 한다.
  • ChatGPT를 사용하려면 API 키를 생성해야 하며, 일정량 이상 사용하면 비용이 부과된다.
  • 단, 일반적으로 무료로 사용할 수 있는 방법도 있다.
  • 어제는 무료로 사용할 수 있는 방법을 설정하여 실행했다.

LlamaIndex와 OpenAI API

  • LlamaIndex는 텍스트 데이터를 숫자로 변환하는 임베딩(Embedding) 과정을 기본적으로 OpenAI API를 통해 처리한다.
  • 따라서 OpenAI API를 사용하려면 API 키를 반드시 설정해야 한다.
  • 하지만, Hugging Face에서 제공하는 mistral-7b, all-MiniLM-L6-v2 같은 모델을 활용하면 OpenAI API 없이도 임베딩을 수행할 수 있다.

 

import os 
os.environ['OPENAI_API_KEY']='인증키'

 

 

위 내용을 정확하게 입력해야 하며, 고정된 설정으로 적용해야 한다.
설정이 틀리면 인증이 되지 않는다.


LlamaIndex RAG를 사용하려면 반드시 LlamaIndex를 설정해야 한다.

  • LlamaIndex는 문서를 임베딩하고 검색하는 데 사용되는 핵심 라이브러리이다.
  • 따라서 LlamaIndex가 설정되지 않으면 RAG 기능을 사용할 수 없다.

 

 

 

 

LLM 을 쓰기 위해서는 임폴프를 해줘야한다

 

 

from llama_index.llms.openai import OpenAI

 

 

LLM(대형 언어 모델)에서 temperature의 역할

  • temperature 값은 AI의 답변 스타일을 조절하는 파라미터이다.
  • temperature = 0이면 정확하고 수학적인 답변을 생성한다.
  • temperature = 1이면 더 창의적이고 자유로운 답변을 생성한다.

시스템 프롬프트(System Prompt)

  • 시스템 프롬프트는 AI에게 특정 규칙을 알려주는 설정값이다.
  • 이 설정에 따라 AI의 답변 스타일, 형식, 말투 등이 달라질 수 있다.
  • 즉, 프롬프트를 어떻게 작성하느냐에 따라 AI의 반응이 달라진다.

토큰(Token)과 모델 설정

  • 이전에는 Hugging Face 토큰을 사용하여 모델을 실행했다.
  • 오늘은 OpenAI API를 이용한 LLM을 사용할 것이다.

 

 

 

Hugging Face에서 사용한 GPT 모델

  • Hugging Face에서는 GPT-2까지 무료로 사용할 수 있었다.
  • 오늘 사용할 모델은 GPT-3.5 Turbo(부스터 버전)이며, 이는 유료 모델이다.
  • GPT-3.5 Turbo는 OpenAI 모델 중 가장 저렴하고 빠른 모델이다.

Temperature(창의성 조절) 및 시스템 프롬프트 설정

  • temperature = 0으로 설정하여 정확하고 일관된 답변을 생성하도록 한다.
  • 시스템 프롬프트를 설정하여 AI에게 특정 규칙을 지정할 수 있다.

LlamaIndex 설정 방법

  • 원래는 Settings.llm = llm 형태로 LLM(대형 언어 모델)을 설정했다.
  • Settings.embed_model = embed_model을 사용하여 임베딩 모델을 설정할 수 있지만,
    오늘은 임베딩 모델을 별도로 설정하지 않아도 된다.

쿼리 엔진(Query Engine) 생성

  • 설정이 완료되면, LlamaIndex의 쿼리 엔진을 생성하여 데이터를 검색하고 활용할 수 있다.
  • LlamaIndex는 RAG(Relevant Augmented Generation)를 활용하는 라이브러리로, 대형 언어 모델과 함께 사용된다.