Skip to content

Documentation v1.0.0


Documentation / @openassistant/utils / convertToLangchainTool

Function: convertToLangchainTool()

convertToLangchainTool(tool): object

Defined in: packages/utils/src/convert-langchain.ts:28

Converts an OpenAssistantTool to a LangChain-compatible tool configuration.

Parameters

tool

OpenAssistantTool<ZodTypeAny, unknown, unknown, unknown>

The OpenAssistantTool object to convert

Returns

object

A tool configuration object that can be used with the tool() function from LangChain

description

description: string = tool.description

func()

func: (args) => Promise<unknown>

Parameters

args

unknown

Returns

Promise<unknown>

name

name: string = tool.name

schema

schema: ZodTypeAny = tool.parameters

Example

typescript
import { tool } from '@langchain/core/tools';
import { convertToLangchainTool } from '@openassistant/utils';

const myTool: OpenAssistantTool = {
  name: 'my-tool',
  description: 'My tool description',
  parameters: z.object({ input: z.string() }),
  context: {},
  execute: async (params) => ({ llmResult: 'result' })
};
const langchainTool = tool(convertToLangchainTool(myTool));

// Use with LangChain
const result = await langchainTool.invoke({ input: 'test' });

Released under the MIT License.