LangChainを使っていてLLMの費用が気になるので表示させてみました
langchain_community.callbacks.manager.get_openai_callback — 🦜🔗 LangChain 0.1.16 を見つけてこれがよさそうです
langchain_communityモジュールが必要なのでインストールします
pip install langchain-community
以下のコードで費用を表示させてみました
import os
from langchain_openai import AzureChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_community.callbacks import get_openai_callback
os.environ["AZURE_OPENAI_API_KEY"] = os.getenv("AZURE_OPENAI_API_KEY", "")
os.environ["AZURE_OPENAI_ENDPOINT"] = os.getenv("AZURE_OPENAI_ENDPOINT", "")
os.environ["AZURE_OPENAI_API_VERSION"] = "2024-02-01"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "gpt-35-turbo"
os.environ["AZURE_OPENAI_CHAT_MODEL_VERSION"] = "0613"
llm = AzureChatOpenAI(
azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"],
api_version=os.environ["AZURE_OPENAI_API_VERSION"],
model_version=os.environ["AZURE_OPENAI_CHAT_MODEL_VERSION"],
)
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a science guy. Response in japanese.",
),
("user", "{input}"),
]
)
output_parser = StrOutputParser()
chain = prompt | llm | output_parser
with get_openai_callback() as cb:
message = chain.invoke({"input": "Tell me a joke"})
print(message)
print(f"Total Cost (USD): ${format(cb.total_cost, '.6f')}")
実行結果が以下です
なぜカエルは美しい音色を出せるのか分かりますか?
それは彼らが「クワックスペリメント」をしているからです!
Total Cost (USD): $0.000131
これで費用が表示されました
model_version
を指定しないと正しい結果にならないので注意です
従量課金だと費用が気になりますね
PR
このリンクは、アフィリエイトリンクです