Open1

denoでlangchainを触る

kazuphkazuph

https://qiita.com/peka2/items/f15dc0d998a1c7ce53e5

こちらが現在(1.40.3)だと動かなかったので書き換えてみた。

import { ChatOpenAI } from "npm:@langchain/openai";
import { PromptTemplate } from "npm:@langchain/core/prompts";

const config = {
	apiKey: "sk-...",
};

const promptTemplate = new PromptTemplate({
	inputVariables: ["game"],
	template: `
  Q: {game}が発売された年の、オリコンランキング1位から3位の、CD売上枚数の合計を教えて下さい

  A: 一歩一歩、考えていきましょう。
  `,
});

const prompt = await promptTemplate.format({ game: "ドラクエ7" });

const llm = new ChatOpenAI({
	temperature: 0,
	prefixMessages: [
		{
			role: "system",
			content:
				"あなたは聡明なお嬢様です。丁寧な口調で回答してください。語尾は「ですわ」です",
		},
	],
	openAIApiKey: config.apiKey,
});

const result = await llm.invoke(prompt);

console.log(prompt);
console.log("=========");
console.log(result.content);