지토의 개발일기/RAG

다양한 LLM 모델 종류와 사용 방법 (OpenAI, Anthropic, Perplexity)

지아토 2025. 5. 16. 21:23

LLM 모델은 사용 방법과 상황에 따라 다양한 모델을 선택할 수 있습니다.  다음은 다양한 LLM 모델의 종류와 사용방법에 대해서 알아 보겠습니다. 

 

1. Open AI 


openAI에서 채팅 전용 Large Language Model(LLM)을 제공한다. 이 모델을 생성할 때 다양한 옵션 지정가능합니다. 

 

 

Option

 

1. model 또는 model_name : 적용 가능한 모델 선정하는 옵션

 

2. temperature : 샘플링 온도 설정 옵션. 값은 0~2 사이에서 선택 가능이고 낮은값은 출력 결과에 집중되고 높은 출력은 더 무작위하게 만듬

 

3. max_tokens : 생성할 토큰의 최대 개수 지정. 이 옵션은 모델이 한번에 생성할 수 있는 텍스트 길이 제어.

 

 

OpenAI 모델 비교

 

 

 

 

from langchain_openai import ChatOpenAI

# ChatOpenAI 객체를 생성합니다.
gpt = ChatOpenAI(
    temperature=0,
    model_name="gpt-4o",  # 모델명
)

answer = gpt.stream("한국에 대해서 설명해줘?")

# 답변 출력
stream_response(answer)

 

 

 

2. Anthropic


 

# Anthropic 이란 ?

 

- Anthropic은 2021년에 OpenAI의 전 연구자들이 설립한 AI 연구 기업으로 '신뢰 가능하고 해를 끼치지 않는 AI를 개발"을 목표로 합니다. 

 

- 설립자 : Dario Amodei (전 OpenAI부사장)

- 본사 : 미국 샌프란시스코

- 설립 배경 : OpenAI의 방향성(상업화 및 MS 협력등)에 대한 이견 -> 독립적인 연구 중심 조직 설립

 

# 주요 모델 : Claude 시리즈

 

Anthropic은 자체 LLM 브랜드인 Claude라고 부름

from langchain_anthropic import ChatAnthropic

# ChatAnthropic 객체를 생성합니다.
anthropic = ChatAnthropic(model_name="claude-3-5-sonnet-20241022")

answer = anthropic.stream("한국에 대해서 설명해줘?")

# 답변 출력
stream_response(answer)

 

API키를 우선 발급받고 적용 후 위와 같이 LLM 구성하셔서 출력하시면 됩니다. 

 

 

 

3. Perplexity


 

# perplexity란?

 

2024년에 Perplexity가 AI가 출시한 LLM기반의 검색 최적화 엔진이다. 

기존 GPT나 Claude 같은 일반 LLM과는 달리 , 정확한 정보 검색 + 답변 생성을 목표로 설계된 모델

 

API 사용

Chat Completions - Perplexity

 

Chat Completions - Perplexity

Bearer authentication header of the form Bearer , where is your auth token.

docs.perplexity.ai

 

 

# 주요특징

- **API 모델 옵션**
   - Llama 3 기반 모델
   - Perplexity 온라인 LLM
   - 인용 기능 포함

 

# 매개변수

 

1. model : 사용할 언어 모델을 지정 (예: "llama-3.1-sonar-small-128k-online") - 기본 성능과 능력을 결정.

2. temperature : 응답의 무작위성을 조절 (0.0-1.0), 0은 결정적, 1은 가장 무작위한 응답 생성.

3. search_domain_filter : 검색 결과를 지정된 도메인으로 제한, 리스트 형태로 제공

4. top_p : 토큰 샘플링의 확률 임계값 설정 (0.0-1.0), 높을수록 더 다양한 출력 허용.

5.return_images : 응답에 이미지 포함 여부를 결정하는 불리언 플래그.

6. streaming : 응답을 스트리밍으로 받을지 완성된 형태로 받을지 결정하는 불리언 플래그.

7. presence_penalty : 토큰 반복에 대한 페널티 (-2.0에서 2.0), 높을수록 재사용을 억제. 

등이 있다.