UNPKG

@beparallel/langchain-ts

Version:

Extracts Langchain prompts and generates TypeScript types.

26 lines (25 loc) 850 B
import { pull } from 'langchain/hub'; import { Client } from 'langsmith'; export async function extractPrompts({ langchainApiKey, langchainTag, promptName, }) { 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) { if (promptName && !prompt.repo_handle.includes(promptName)) { continue; } console.debug(`Generating prompt ${prompt.repo_handle}`); try { const chatPromptTemplate = await pull(`${prompt.repo_handle}:${langchainTag}`); result.push(chatPromptTemplate); } catch (error) { console.error(error); } } return result; }