From 8583b536cf1236fee42d76edcc8fb5a1eca01069 Mon Sep 17 00:00:00 2001 From: Hk-Gosuto Date: Sun, 11 Aug 2024 09:55:13 +0000 Subject: [PATCH] feat: claude function call --- app/api/langchain-tools/pdf_browser.ts | 2 +- app/api/langchain/tool/agent/agentapi.ts | 11 ++++++----- next.config.mjs | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/api/langchain-tools/pdf_browser.ts b/app/api/langchain-tools/pdf_browser.ts index 2d397a1f4..8b0ee67a9 100644 --- a/app/api/langchain-tools/pdf_browser.ts +++ b/app/api/langchain-tools/pdf_browser.ts @@ -1,5 +1,5 @@ import axiosMod, { AxiosStatic } from "axios"; -import { WebPDFLoader } from "langchain/document_loaders/web/pdf"; +import { WebPDFLoader } from "@langchain/community/document_loaders/web/pdf"; import { MemoryVectorStore } from "langchain/vectorstores/memory"; import { Tool } from "@langchain/core/tools"; import { diff --git a/app/api/langchain/tool/agent/agentapi.ts b/app/api/langchain/tool/agent/agentapi.ts index e8e70ce8a..876d2c990 100644 --- a/app/api/langchain/tool/agent/agentapi.ts +++ b/app/api/langchain/tool/agent/agentapi.ts @@ -8,6 +8,7 @@ import { AgentExecutor, AgentStep, createToolCallingAgent, + createReactAgent, } from "langchain/agents"; import { ACCESS_CODE_PREFIX, ServiceProvider } from "@/app/constant"; @@ -414,10 +415,10 @@ export class AgentApi { ]); const lastMessageContent = reqBody.messages.slice(-1)[0].content; - const lastHumanMessage = - typeof lastMessageContent === "string" - ? new HumanMessage(lastMessageContent) - : new HumanMessage({ content: lastMessageContent }); + // const lastHumanMessage = + // typeof lastMessageContent === "string" + // ? new HumanMessage(lastMessageContent) + // : new HumanMessage({ content: lastMessageContent }); const agent = createToolCallingAgent({ llm, tools, @@ -432,7 +433,7 @@ export class AgentApi { { input: lastMessageContent, chat_history: pastMessages, - // signal: this.controller.signal, + signal: this.controller.signal, }, { callbacks: [handler] }, ) diff --git a/next.config.mjs b/next.config.mjs index 27c60dd29..e13d80c0d 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -6,6 +6,8 @@ console.log("[Next] build mode", mode); const disableChunk = !!process.env.DISABLE_CHUNK || mode === "export"; console.log("[Next] build with chunk: ", !disableChunk); +process.env.LANGCHAIN_CALLBACKS_BACKGROUND = true; + /** @type {import('next').NextConfig} */ const nextConfig = { webpack(config) {