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