기술공부/LLM

RAG ChatBot 만들기: Upstage, Solar LLM

넹넹선생님 2024. 6. 28. 14:12
728x90
반응형

Solar LLM

- upstage가 내놓은 llm 모델

- 한국어/일본어에 특화된 모델

 

기능)

- Chat

- Embeddings

- Translation

- Groundedness Check

- (Text-to-SQL) 추후 공개 예정

 

API)  추후 공개 예정

헬스케어, 금융, 법

 

https://www.upstage.ai/

 

RAG 서비스 만들기

https://developers.upstage.ai/docs/getting-started/quick-start

https://developers.upstage.ai/docs/apis/chat

더보기

Embeddings API는 텍스트를 컴퓨터가 이해할 수 있는 숫자로 변환합니다. 단어를 토큰으로 쪼개서 숫자로 만드는 것. 각 숫자는 문장의 의미를 포착한다고 상상해 보세요. 이를 통해 기계는 유사한 텍스트 찾기, 정보 정렬, 질문 답변과 같은 작업을 더 쉽게 수행할 수 있습니다.

# RAG_ChatBot_SolarLLM
SolarLLM을 이용한 RAG ChatBot service 개발

## RAG(Retrieval-Augmented Generation)
사용자가 쿼리를 보냈을 때, 질문에 대한 답을 지식 db에서 찾아서 LLM 모델을 사용하여 생성해내는 것

### Preprocessing
1. Indexing
- Load: 문맥 정보 및 데이터 업로딩
- Split: 로딩된 파일 쪼개서 검색/모델 인풋에 넣기 좋게 만듦
- Store: split한 데이터 DB에 임베딩하 업로드
2. Retrieval and Generation
- Retrieve: 사용자의 검색 쿼리에 따라 DB 검색
- Generate: LLM이 찾은 답변을 다시 문장으로 생성

from langchain_upstage import ChatUpstage
from langchain_core.messages import HumanMessage, SystemMessage

import os
from dotenv import load_dotenv

# 디버그: dotenv 파일을 로드하고 API 키를 확인
print("dotenv 파일 로드 중...")
load_dotenv()
api_key = os.getenv("UPSTAGE_API_KEY")

if api_key is None:
    print("API 키를 찾을 수 없습니다. .env 파일을 확인하세요.")
else:
    print("API 키가 성공적으로 로드되었습니다.")

try:
    print("ChatUpstage 인스턴스 생성 중...")
    chat = ChatUpstage(api_key=api_key)
    print("ChatUpstage 인스턴스 생성 완료")
    
    messages = [
        SystemMessage(
            content="You are a helpful assistant."
        ),
        HumanMessage(
            content="Hi, how are you?"
        )
    ]

    # 디버그: 메시지가 제대로 생성되는지 확인
    print("생성된 메시지:", messages)

    print("메시지 전송 중...")
    response = chat.invoke(messages)

    # 디버그: 응답이 제대로 반환되는지 확인
    print("받은 응답:", response)

except Exception as e:
    print("오류가 발생했습니다:", e)

>>

 

 

 

- LangChain vs. LlamaIndex

langchain: 도메인 특화 창의적인 앱 개발시 유용

llamaindex: 사용자 검색에 특화된 패키지

 

 

728x90
반응형

'기술공부 > LLM' 카테고리의 다른 글

LLamaIndex vs. LangChain  (1) 2024.07.03
RAG 모델 만들기: Upstage, Document AI  (0) 2024.06.30
Customized ChatGPT 만들기: 개인 비서  (0) 2024.06.28
LLM 할루시네이션 신뢰성 검토  (1) 2024.06.27
LLM, RAG  (0) 2024.05.03