javascript - LangChain.js 无法获取代币消耗和费用

标签 javascript langchain

我正在 Langchain 和 OpenAI 中创建一个项目,除了当我尝试跟踪每次链运行的代币使用情况和成本时,一切都正常工作。

在 python 中,Langchain.py 的 Callback 部分中有一个方法 get_openai_callback(),但我在 JS 框架上找不到等效的方法。

Langchain 聊天机器人给了我正确的答案。它只是给了我 JS 框架中不存在的功能。

有人知道如何跟踪每次链运行中的代币使用情况和产生的成本吗?欢迎任何帮助。

PD。我将 ConversationalRetrievalQAChain 与 BufferMemory 和矢量搜索结合使用。

我尝试使用 langchain 聊天机器人给我的代码

const { Chain } = require("langchain");

async function getChainRunCost(chainRunId) {
  const chain = new Chain();
  const callback = await chain.getOpenAICallback(chainRunId);
  const cost = callback.cost;
  return cost;
}

// Usage
const chainRunId = "your-chain-run-id";
const cost = await getChainRunCost(chainRunId);
console.log(cost);

但是框架中不存在这个功能: const回调=等待chain.getOpenAICallback(chainRunId);

是否有真正的方法可以在每次链运行中返还成本?

最佳答案

您可以使用“handleLLMEnd”回调函数添加“callbacks”属性,以获取每次模型运行时的总 token 使用情况。

注意:将模型设置为“gpt-3.5-turbo-0613”返回 token 仅适用于使用 ChatOpenAI。这似乎是一个错误或什么的。我使用的是0.0.116版本。

import { ChatOpenAI } from 'langchain/chat_models/openai';

let totalCompletionTokens = 0;
let totalPromptTokens = 0;
let totalExecutionTokens = 0;

const llm = new ChatOpenAI({
    callbacks: [
      {
        handleLLMEnd: (output, runId, parentRunId?, tags?) => {
          const { completionTokens, promptTokens, totalTokens } = output.llmOutput?.tokenUsage;
          totalCompletionTokens += completionTokens ?? 0;
          totalPromptTokens += promptTokens ?? 0;
          totalExecutionTokens += totalTokens ?? 0;
        },
      },
    ],
    modelName: 'gpt-3.5-turbo-0613',
});

关于javascript - LangChain.js 无法获取代币消耗和费用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76509403/

相关文章:

javascript - 在页面滚动时更改导航栏背景颜色

python - 如何向 RetrievalQA.from_chain_type 添加内存?或者,如何向 ConversationalRetrievalChain 添加自定义提示?

word-embedding - 使用 get() 时,色度数据库嵌入 = 无

javascript - REGEX 需要带有可选值的帮助

javascript - JQuery .show() 和 .hide() 无法正常工作

python-3.x - 在 ChatGPT OpenAI 中的 Langchain 和 ConversationChain() 中使用自定义 JSON 数据作为上下文

python - 使用 JSONloader 进行 LangChain 对话检索

openai-api - 错误 : PineconeClient: Project name not set, v0.0.10

javascript - 在 jsf/primefaces 组件中评估 javascript 结果

javascript - 仅当输入所有输入字段时才关闭模式