@beparallel/langchain-ts
Version:
Extracts Langchain prompts and generates TypeScript types.
26 lines (25 loc) • 850 B
JavaScript
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;
}