Generative AI Hub SDKを使ってSAP AI CoreとLangChainを連携させるまでの手順

Estimated read time 3 min read

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=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の呼び出しができます。

実装のお役に立てば幸いです!

参考

SAP Cloud SDK for AI (Python) 

​ 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

You May Also Like

More From Author