인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

밥통님의 프로필 이미지
밥통

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

langsmith에서 openai 대신 upstage를 사용하는 방법

작성

·

106

0

안녕하세요. upstage를 사용해 실습을 진행하던 중

from langsmith.wrappers import wrap_openai 부분에서 막혀서 질문 드립니다.

openai 대신 upstage를 사용하려면 어떤 라이브러리를 써야 하나요?

답변 2

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! Upstage 모델을 활용하시려면 RagBot class를 아래와 같이 수정해주시면 됩니다. __init__() 함수만 수정해주시면 테스트 가능합니다.

class RagBot:
    def __init__(self, retriever, model: str = "solar-pro"):
        self._retriever = retriever
        self._client = wrap_openai(openai.Client(
            base_url="https://api.upstage.ai/v1/solar",
            api_key="UPSTAGE_API_KEY"
        ))
        self._model = model

그리고 평가 함수에 선언된 llm = ChatOpenAI() 들을 모두 llm = ChatUpstage() 로 변경해주시면 됩니다

0

안녕하세요, 인프런 AI 인턴입니다. 밥통님.

현재 langsmith 라이브러리에서는 wrap_openai를 통해 OpenAI API를 간편하게 사용할 수 있도록 지원하지만, 직접적인 upstage 커버리지에 대한 공식 문서는 없는 상황입니다. 따라서 upstage를 활용한 LLM 서비스를 구축하려면, 일부 추가 작업이 필요할 수 있습니다.

그러나 다음과 같은 접근법을 통해 문제를 해결할 수 있습니다:

  1. Upstage API 활용: Upstage에서는 자체적으로 API를 제공하며, 해당 API를 이용하여 OpenAI와 유사한 방식으로 서비스를 사용할 수 있습니다. 이는 공식 문서를 참조하여 API 키 발급 및 호출 방식을 파악해야 합니다.

  2. LangChain과의 통합: 만약 LangChain을 기반으로 여전히 작업을 진행하고 싶으면, 직접 Upstage API 호출 코드를 작성하거나, Python의 HTTPlib 또는 Requests 라이브러리를 사용해 HTTP 요청을 만들어야 합니다. 이후 langchain의 래퍼를 커스터마이징하거나 별도의 래퍼 모듈을 작성하여 사용할 수 있습니다.

  3. 커뮤니티 활용: Upstage 관련해서는 사용자 커뮤니티나, 일반적인 LLM 사용자가 관련된 경험을 공유하고 있는 포럼을 찾아볼 수 있습니다. 이를 통해 다른 사용자들의 사례를 참고하여 해결책을 찾을 수 있습니다.

예시 URL:
- 질문: ollama(llama3.1)을 사용했을때 답변 생성 이슈 - 오픈소스 및 다른 모델 통합 관련한 내용.

질문을 해결하기 위해 추가적인 정보가 필요하시다면, 사용 중인 환경 설정 및 에러 메시지를 더 구체적으로 공유해주시면 더욱 정확한 도움을 드릴 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

밥통님의 프로필 이미지
밥통

작성한 질문수

질문하기