반응형
아주 아주 기초적인 내용으로서 Langchain 라이브러리를 이용하여 OpenAI의 chatGPT 모델을 구동시키고 간단한 질문 대답을 수행하는 코드입니다.
물론 다른 LLM 모델로 갈아끼워서 사용하실 수 있습니다.
다음 사이트에서 LLM모델들에 대해서 설명 하고 있으니 참고하시기 바랍니다.
https://python.langchain.com/docs/integrations/llms/
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",
]
'''
반응형
'IT > 개발' 카테고리의 다른 글
(4) Langchain에서 PromptTemplet을 사용하여 chat 모델을 구동해보자 (0) | 2023.08.07 |
---|---|
(3) Langchain을 이용하여 system role을 주고 chat 모델을 구동해보자 (0) | 2023.08.07 |
(1) Langchain이란 무엇인가? 개념과 모듈 구성을 알아보자 (0) | 2023.08.04 |
파이썬 pip 특정 패키지 버전, 정보 확인 및 업데이트 하기(pip show, pip upgrade) (0) | 2023.07.31 |
GitHub repository를 VSCode와 연동하여 작업 소스 관리하기 (0) | 2023.07.28 |