langchain get_openai_callback()函数未更新为Azure模型,

im9ewurl  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(50)

检查其他资源

  • 为这个问题添加了一个非常描述性的标题。
  • 使用集成搜索在LangChain文档中搜索。
  • 使用GitHub搜索查找类似问题,但没有找到。
  • 我确信这是LangChain中的一个bug,而不是我的代码。
  • 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此bug。

示例代码

from langchain_openai import AzureChatOpenAI
from langchain_community.callbacks import get_openai_callback
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.prompts import ChatPromptTemplate

def chat_completion(temperature: int = 0):
    try:
        chat = AzureChatOpenAI(
            azure_deployment=MODEL,
            azure_endpoint=AZURE_OPENAI_ENDPOINT,
            api_key=AZURE_OPENAI_API_KEY,
            openai_api_version=API_VERSION,
            model_version=1106,
            temperature=temperature,
            max_tokens=MAX_TOKENS,
        )

错误信息和堆栈跟踪(如果适用)

  • 没有响应 *

描述

get_openai_callback()回调函数在文件"\langchain_community\callbacks\openai_info.py"中没有为Azure更新模型。因此,当发出请求时,返回的总成本为0.0。我知道通过将模型添加到字典"MODEL_COST_PER_1K_TOKENS"来解决此错误。但是,例如在Docker中部署时,修改文件将是一项繁琐的任务。是否可以为Azure添加模型? https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/
Models:
"gpt-35-turbo-1106": 0.001,
"gpt-35-turbo-1106-completion": 0.002,
"gpt-35-turbo-0125": 0.0005,
"gpt-35-turbo-0125-completion": 0.0015,

系统信息

langchain==0.2.6
langchain-community==0.2.6
langchain-core==0.2.10
langchain-openai==0.1.8
langchain-text-splitters==0.2.0
langsmith==0.1.82

brtdzjyr

brtdzjyr1#

它们都在那里:
gpt-35-turbo-1106 -> gpt-3.5-turbo-1106
gpt-35-turbo-0125 -> 于2024年6月29日添加

7kjnsjlb

7kjnsjlb2#

这里的真正问题是Azure OpenAI的命名不一致,例如gpt-35-turbogpt-35-turbo-*家族的所有模型(除了16k,它们被命名为gpt-35-turbo-16k),因此回调无法正常工作。

相关问题