안녕하세요
오늘도 watsonx.ai 에 대해서 다룹니다.
watson.ai 는 이전 포스트에도 이야기 했지만 openai 와 같은 생성형 AI 기반 서비스를 제공합니다.
좀더 쉽게 이야기하자면 ChatGPT 와 같은 서비스를 제공할 수 있습니다.
(물론 개발이 좀 필요합니다.)
우선 간단히 개발 준비 그리고 사용 가능한 모델 확인 마지막으로 질문&답변 3가지로 정리했습니다.
1. 개발 준비
가장먼저 개발을 준비하기 위해 watsonx.ai 를 사용하기 위한 패키지 설치가 필요합니다.
저는 python 기반 개발이므로 이에 대해서 패키지를 설치합니다.
(python virtual env 설정 등 기초적인 내용은 넘어가도록 하겠습니다. )
$ pip install ibm-watson-machine-learning
watsonx.ai 의 python 패키지는 아래 URL에 설명이 되어 있습니다.
2. 사용 가능한 LLM 모델 확인
watsonx.ai 에서는 foundation model 이란 형식으로 다양한 LLM 모델을 제공하고 있습니다.
아래 코드에서는 watsonx.ai에 접속 후 사용 가능한 모델의 리스트를 요청하는 내용이 포함되어 있습니다.
결과를 보면 현재 LLAMA2_70B_CHAT 모델을 포함해서 다양한 모델을 제공하고 있습니다.
각 LLM 모델별로 특화된 서비스가 있으므로, 자신에게 적합한 모델을 찾아서 사용하면 됩니다.
#추가로 IBM 에서는 향후 LLM 을 업로드해서 사용할수도 있고 huggingface 와 연동하는것도 준비 중입니다.
[get watsonx.ai LLM model list]
from ibm_watson_machine_learning.foundation_models.utils.enums import ModelTypes, DecodingMethods
print([model.name for model in ModelTypes])
[result]
['FLAN_T5_XXL', 'FLAN_UL2', 'MT0_XXL', 'GPT_NEOX', 'MPT_7B_INSTRUCT2', 'STARCODER', 'LLAMA_2_70B_CHAT', 'GRANITE_13B_INSTRUCT', 'GRANITE_13B_CHAT']
3. ChatGPT 처럼 질문 해보기
마지막으로 ChatGPT 처럼 질문과 답을 하기 위해서 위에 코드를 수정해 보도록 하겠습니다.
먼저 인증 정보가 필요합니다.
watsonx.ai는 인증을 위해 3가지 정보가 필요합니다.
[URL], [apikey], [project_id]
#호출할 서비스에 대한 기본 URL 정보입니다.
#여기서는 기본적으로 아래의 값을 사용합니다.
"url": "https://us-south.ml.cloud.ibm.com",
#apikey 는 https://cloud.ibm.com 에서 확인 가능한 사용자 인증 키입니다.
# 인증관리 메뉴에서 확인 가능합니다.
"apikey": "<your_apikey>"
# https://dataplatform.cloud.ibm.com/projects 에서 확인 가능한 프로젝트의 ID 값입니다.
project_id = "bea15b0a-7333-45e5-83e3-66548c948078"
위 세가지 정보를 코드에 추가 합니다.
코드 추가에 앞서 필요한 패키지를 추가 합니다.
from ibm_watson_machine_learning.foundation_models.utils.enums import ModelTypes
from ibm_watson_machine_learning.foundation_models import Model
from ibm_watson_machine_learning.metanames import GenTextParamsMetaNames as GenParams
my_credentials = {
"url": "https://us-south.ml.cloud.ibm.com",
"apikey": "<your_apikey>"
}
project_id = "<your_project_id>"
저는 사용할 모델로 LLAMA 를 사용하겠습니다.
model_id = ModelTypes.LLAMA_2_70B_CHAT
LLM 모델 호출을 위한 기본 parameter를 설정합니다.
parameters = {
GenParams.DECODING_METHOD: "greedy",
GenParams.MAX_NEW_TOKENS: 512,
GenParams.REPETITION_PENALTY: 1,
}
이제 설정한 내용들을 이용해서 모델을 초기화 합니다.
model = Model(
model_id=model_id,
params=parameters,
credentials=my_credentials,
project_id=project_id)
이제 메세지를 호출합니다.
저는 watsonx.ai 에 대해서 질문했습니다.
question = "질문:와슨x.ai 가 무엇인가요 간단히 설명하세요."
# -*- coding: utf-8 -*-
result = model.generate_text(question)
print(result)
[답변]
답변:와슨x.ai는 인공지능(AI) 기술을 이용하여 웹 애플리케이션 및 모바일 애플리케이션에서 사용자 대화를 자동화하는 플랫폼입니다. 이 플랫폼은 사용자의 질문에 대한 답변을 자동으로 제공하거나 사용자와 대화를 하는 데 사용될 수 있습니다.
와슨x.ai는 머신러닝 알고리즘을 사용하여 사용자의 질문을 분석하고 적절한 답변을 생성합니다. 또한, 이 플랫폼은 사용자와 대화를 하는 데 사용되는 채널을 제공하여 사용자가 직접 질문을 하고 답변을 받을 수 있습니다.
와슨x.ai는 다양한 애플리케이션에 사용될 수 있으며, 예를 들어 고객 서비스, 온라인 상담, 의료 서비스 등에 사용될 수 있습니다.
생각보다 괜찮습니다. 물론 LLAMA 모델을 사용하므로 질문에 대한 답변이 영문으로 나오는 경우가 많습니다.
이런 부분은 프롬프트의 조정이 필요합니다.
아래는 전체 코드 입니다.
from ibm_watson_machine_learning.foundation_models.utils.enums import ModelTypes, DecodingMethods
from ibm_watson_machine_learning.foundation_models import Model
from ibm_watson_machine_learning.metanames import GenTextParamsMetaNames as GenParams
my_credentials = {
"url": "https://us-south.ml.cloud.ibm.com",
"apikey": "<your_apikey>"
}
#ibm_cloud account
project_id = "<your_project_id>"
model_id = ModelTypes.LLAMA_2_70B_CHAT
parameters = {
GenParams.DECODING_METHOD: "greedy",
GenParams.MAX_NEW_TOKENS: 512,
GenParams.REPETITION_PENALTY: 1,
}
model = Model(
model_id=model_id,
params=parameters,
credentials=my_credentials,
project_id=project_id)
question = "질문:와슨x.ai 가 무엇인가요 간단히 설명하세요."
# -*- coding: utf-8 -*-
result = model.generate_text(question)
print(result)
### api key 확인
https://cloud.ibm.com 에서 개인 확인 가능합니다.
### project_id 확인
https://dataplatform.cloud.ibm.com/projects 에서 확인 가능합니다.
'IT&컴퓨터 > IT 인터넷' 카테고리의 다른 글
[script][jquery] datepicker from~to (daterangepicker) (0) | 2024.01.20 |
---|---|
csv to json ( any convert ), csv 변환 (0) | 2024.01.20 |
프롬프트 작성 가이드, 프롬프트 엔지니어링 (2) | 2023.10.18 |
huggingface 사용법 -챗 만들기(space 만들기), 초간단 샘플 LLM 만들기 / Using Huggingface - Create Chat (Create Space), Create Ultra-Simple Sample LLM (0) | 2023.10.16 |
IBM Watsonx Assistant 사용자 가이드 (0) | 2023.10.12 |