본문 바로가기

IT/개발

(2) Langchain을 이용하여 LLM을 간단히 구동 시켜보자

반응형

아주 아주 기초적인 내용으로서 Langchain 라이브러리를 이용하여 OpenAI의 chatGPT 모델을 구동시키고 간단한 질문 대답을 수행하는 코드입니다. 

 

물론 다른 LLM 모델로 갈아끼워서 사용하실 수 있습니다. 

 

다음 사이트에서 LLM모델들에 대해서 설명 하고 있으니 참고하시기 바랍니다. 

https://python.langchain.com/docs/integrations/llms/

 

LLMs | 🦜️🔗 Langchain

📄️ NLP Cloud The NLP Cloud serves high performance pre-trained or custom models for NER, sentiment-analysis, classification, summarization, paraphrasing, grammar and spelling correction, keywords and keyphrases extraction, chatbot, product description

python.langchain.com

 

ChatGPT를 사용하시려면 우선 다음 사이트에서 OpenAI API Key를 먼저 발급 받으셔야 합니다.

https://platform.openai.com/account/api-keys

 

 

 

코드에서는 이미 발급받은 Key가 있다고 가정하겠습니다.

(apikey.py 파일에 정의하고 호출해서 사용)

 

다음과 같이 필요한 패키지를 먼저 설치합니다 

 

pip install openai

conda install langchain -c conda-forge

 

파이썬 지원 범위 : Requires: Python >=3.8.1, <4.0

 

 

import os
import apikeys #user defind, apikeys 숨기기

#import langchain

#다양한 LLMs 참고
from langchain.llms import OpenAI

#https://platform.openai.com/account/api-keys 에서 발급받는다. 유료

OPENAI_API_KEY = apikeys.OPENAI_API_KEY

#환경 변수에 넣어준다
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

#llm 모델을 호출한다.
llm = OpenAI(model_name='gpt-3.5-turbo', temperature=0.1)

#LLM 모델에 질문하고 응답을 출력
AI_response = llm('1990년대에 생산된 한국의 자동차 종류를 알려줘. 확실하게 자동차만 알려줘')

print(AI_response)

 

간단히 OpenAI ChatGPT 3.5 LLM 모델을 로드하고 질문을 보내고 응답을 받는 코드 입니다. 

 

자동차 이름을 한글로 잘 표현을 못해서 그렇지 잘 동작하네요.

 

'''
1990년대에 한국에서 생산된 주요 자동차 종류는 다음과 같습니다:

1. 현대 자동차:
- 현대 아반떼 (Avante/Elantra)
- 현대 쏘나타 (Sonata)
- 현대 그랜저 (Grandeur)
- 현대 투싼 (Tucson)
- 현대 스포티지 (Sportage)
- 현대 제네시스 (Genesis)

2. 기아 자동차:
- 기아 쏘렌토 (Sorento)
- 기아 스포티지 (Sportage)
- 기아 옵티마 (Optima)
- 기아 세피아 (Sephia)
- 기아 메이지스 (Magentis)

3. 쌍용 자동차:
- 쌍용 렉스턴 (Rexton)
- 쌍용 무쏘 (Musso)
- 쌍용 카이런 (Korando)
- 쌍용 아티카 (Actyon)

4. 대우 자동차:
- 대우 라세티 (Lacetti)
- 대우 레간자 (Leganza)
- 대우 누브리아 (Nubira)
- 대우 에스퍼로 (Espero)

5. 삼성 자동차:
- 삼성 SM5
- 삼성 SM3
- 삼성 SM7

이 외에도 다양한 모델이 있었지만, 위에 언급된 자동차들이 1990년대에 한국에서 가장 인기 있었던 모델들입니다.
'''

 

Langchain에서 지원하는 다양한 LLM 모델들은 다음과 같습니다

 

'''
다양한 LLM 모델들

__all__ = [
    "AI21",
    "AlephAlpha",
    "AmazonAPIGateway",
    "Anthropic",
    "Anyscale",
    "Aviary",
    "AzureMLOnlineEndpoint",
    "AzureOpenAI",
    "Banana",
    "Baseten",
    "Beam",
    "Bedrock",
    "CTransformers",
    "CerebriumAI",
    "ChatGLM",
    "Clarifai",
    "Cohere",
    "Databricks",
    "DeepInfra",
    "FakeListLLM",
    "ForefrontAI",
    "GPT4All",
    "GooglePalm",
    "GooseAI",
    "HuggingFaceEndpoint",
    "HuggingFaceHub",
    "HuggingFacePipeline",
    "HuggingFaceTextGenInference",
    "HumanInputLLM",
    "KoboldApiLLM",
    "LlamaCpp",
    "TextGen",
    "ManifestWrapper",
    "MlflowAIGateway",
    "Modal",
    "MosaicML",
    "NLPCloud",
    "OpenAI",
    "OpenAIChat",
    "OpenLLM",
    "OpenLM",
    "Petals",
    "PipelineAI",
    "Predibase",
    "PredictionGuard",
    "PromptLayerOpenAI",
    "PromptLayerOpenAIChat",
    "RWKV",
    "Replicate",
    "SagemakerEndpoint",
    "SelfHostedHuggingFaceLLM",
    "SelfHostedPipeline",
    "StochasticAI",
    "Tongyi",
    "VertexAI",
    "Writer",
    "OctoAIEndpoint",
]
'''

 

 

 

반응형