langsmith
Version:
Client library to connect to the LangSmith LLM Tracing and Evaluation Platform.
31 lines (30 loc) • 2.08 kB
TypeScript
import { RunTreeConfig } from "../../run_trees.js";
/**
* Wraps Vercel AI SDK 5 functions with LangSmith tracing capabilities.
*
* @param methods - Object containing AI SDK methods to wrap
* @param methods.wrapLanguageModel - AI SDK's wrapLanguageModel function
* @param methods.generateText - AI SDK's generateText function
* @param methods.streamText - AI SDK's streamText function
* @param methods.streamObject - AI SDK's streamObject function
* @param methods.generateObject - AI SDK's generateObject function
*
* @returns Object containing wrapped versions of the AI SDK functions with LangSmith tracing
* @returns returns.generateText - Wrapped generateText function that traces calls to LangSmith
* @returns returns.generateObject - Wrapped generateObject function that traces calls to LangSmith
* @returns returns.streamText - Wrapped streamText function that traces calls to LangSmith
* @returns returns.streamObject - Wrapped streamObject function that traces calls to LangSmith
*/
declare const wrapAISDK: <WrapLanguageModelType extends (...args: any[]) => any, GenerateTextType extends (...args: any[]) => any, StreamTextType extends (...args: any[]) => any, StreamObjectType extends (...args: any[]) => any, GenerateObjectType extends (...args: any[]) => any>({ wrapLanguageModel, generateText, streamText, streamObject, generateObject, }: {
wrapLanguageModel: WrapLanguageModelType;
generateText: GenerateTextType;
streamText: StreamTextType;
streamObject: StreamObjectType;
generateObject: GenerateObjectType;
}, lsConfig?: Partial<Omit<RunTreeConfig, "inputs" | "outputs" | "run_type">>) => {
generateText: (params: Parameters<GenerateTextType>[0]) => Promise<ReturnType<GenerateTextType>>;
generateObject: (params: Parameters<GenerateObjectType>[0]) => Promise<ReturnType<GenerateObjectType>>;
streamText: (params: Parameters<StreamTextType>[0]) => Promise<ReturnType<StreamTextType>>;
streamObject: (params: Parameters<StreamObjectType>[0]) => Promise<ReturnType<StreamObjectType>>;
};
export { wrapAISDK };