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
Bearer authentication header of the form Bearer , where is your auth token.
docs.perplexity.ai
# 주요특징
# 매개변수
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), 높을수록 재사용을 억제.
등이 있다.
'지토의 개발일기 > RAG' 카테고리의 다른 글
출력 파서 [OutputParser] - JsonOutputParser (2) | 2025.05.15 |
---|---|
출력 파서 (OutputParser) - PydanticOutputParser (0) | 2025.05.13 |
출력파서(OutputParser) 란? (0) | 2025.05.09 |
LangSmith로 프로젝트 추적 설정 (0) | 2025.05.07 |
LangChain 문법 (invoke(), stream()) (1) (0) | 2025.05.06 |