UNPKG

@beparallel/langchain-ts

Version:

Extracts Langchain prompts and generates TypeScript types.

24 lines (23 loc) 771 B
import console from 'console'; import * as hub from 'langchain/hub'; import { Client } from 'langsmith'; export async function extractPrompts({ langchainApiKey, langchainTag, }) { const client = new Client({ apiKey: langchainApiKey }); const prompts = await client.listPrompts({ isPublic: false, isArchived: false, sortField: 'updated_at', }); const result = []; for await (const prompt of prompts) { console.debug(`Generating prompt ${prompt.repo_handle}`); try { const chatPromptTemplate = await hub.pull(`${prompt.repo_handle}:${langchainTag}`); result.push(chatPromptTemplate); } catch (error) { console.error(error); } } return result; }