はじめに
※ AI Coreのセットアップガイドが完了していること前提としています。
1. 環境設定
まず、BTPのサブアカウントからAI Coreのサービスキーを作成します。
サービスキーをダウンロードします。
ダウンロードしたファイル(例:ai-core.txt)を確認します。
取得したサービスキー情報を.envファイルに格納します。(実開発では、.gitignoreを使用してください。)
# ダウンロードした.txtファイルをもとに設定
AICORE_BASE_URL={serviceurls.AI_API_URL + ’/v2’}
AICORE_CLIENT_ID={clientid}
AICORE_CLIENT_SECRET={clientsecret}
AICORE_AUTH_URL={url}
# AI Coreのリソースグループを設定
AICORE_RESOURCE_GROUP=default
AICORE_BASE_URLは末尾に’/v2’をつける必要がありますので、ご注意ください。
ex. https://api.ai.***.cfapps.sap.hana.ondemand.com/v2
2. パッケージのインストール
requirements.txtに以下を記載します。
generative-ai-hub-sdk[all]
python-dotenv
generative-ai-hub-sdk[all]はLangChainをサポートし、複数のLLMプロバイダー(OpenAI, Amazon, Googleなど)に対応しています。
インストールは次のコマンドで実行します。
pip install -r requirements.txt
3. 実装
環境変数の設定とパッケージの準備が整ったら、main.pyを作成します。
from dotenv import load_dotenv
from gen_ai_hub.proxy.langchain.init_models import init_llm
from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
def main():
load_dotenv()
try:
prompt = ChatPromptTemplate.from_messages([(“system”,”You are a helpful assistant”), (“user”,”{input}”)])
llm = init_llm(“gpt-4o”, max_tokens=300)
chain = prompt | llm | StrOutputParser()
response = chain.invoke({“input”: “Hello, how are you?”})
print(f”Response: {response}”)
except Exception as e:
print(f”Error occurred: {e}”)
return
if __name__ == “__main__”:
main()
ここでGenerative AI Hub SDKを使用しているのはinit_llm部分のみで、それ以外は標準的なLangChainコードを利用しています。
4. 実行
以下を実行してみます。
python main.py
無事、 ‘Hello! I’m here and ready to assist you. How can I help you today?’ というレスポンスを取得しました。
まとめ
こちらの手順を踏むことで、短時間でGenerative AI Hub SDKとLangChainを使ったLLMの呼び出しができます。
実装のお役に立てば幸いです!
参考
English versionはじめに本ブログでは、Generative AI Hub SDKのLangChainラッパーを利用し、AI Core上で提供されているLLM(OpenAIやGoogleなど)をPythonから呼び出す方法を解説します。※ AI Coreのセットアップガイドが完了していること前提としています。1. 環境設定まず、BTPのサブアカウントからAI Coreのサービスキーを作成します。サービスキーをダウンロードします。ダウンロードしたファイル(例:ai-core.txt)を確認します。取得したサービスキー情報を.envファイルに格納します。(実開発では、.gitignoreを使用してください。)# ダウンロードした.txtファイルをもとに設定
AICORE_BASE_URL={serviceurls.AI_API_URL + ’/v2’}
AICORE_CLIENT_ID={clientid}
AICORE_CLIENT_SECRET={clientsecret}
AICORE_AUTH_URL={url}
# AI Coreのリソースグループを設定
AICORE_RESOURCE_GROUP=defaultAICORE_BASE_URLは末尾に’/v2’をつける必要がありますので、ご注意ください。ex. https://api.ai.***.cfapps.sap.hana.ondemand.com/v22. パッケージのインストールrequirements.txtに以下を記載します。generative-ai-hub-sdk[all]
python-dotenvgenerative-ai-hub-sdk[all]はLangChainをサポートし、複数のLLMプロバイダー(OpenAI, Amazon, Googleなど)に対応しています。インストールは次のコマンドで実行します。pip install -r requirements.txt3. 実装環境変数の設定とパッケージの準備が整ったら、main.pyを作成します。from dotenv import load_dotenv
from gen_ai_hub.proxy.langchain.init_models import init_llm
from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
def main():
load_dotenv()
try:
prompt = ChatPromptTemplate.from_messages([(“system”,”You are a helpful assistant”), (“user”,”{input}”)])
llm = init_llm(“gpt-4o”, max_tokens=300)
chain = prompt | llm | StrOutputParser()
response = chain.invoke({“input”: “Hello, how are you?”})
print(f”Response: {response}”)
except Exception as e:
print(f”Error occurred: {e}”)
return
if __name__ == “__main__”:
main()ここでGenerative AI Hub SDKを使用しているのはinit_llm部分のみで、それ以外は標準的なLangChainコードを利用しています。4. 実行以下を実行してみます。python main.py無事、 ‘Hello! I’m here and ready to assist you. How can I help you today?’ というレスポンスを取得しました。まとめこちらの手順を踏むことで、短時間でGenerative AI Hub SDKとLangChainを使ったLLMの呼び出しができます。実装のお役に立てば幸いです!参考SAP Cloud SDK for AI (Python) Read More Technology Blog Posts by SAP articles
#SAP
#SAPTechnologyblog