以下の記事で書いた内容に対し、環境変数ファイルを読むように修正。
環境変数ファイルの作成
AZURE_OPENAI_ENDPOINT=<Azure OpenAI ServiceのデプロイメントのエンドポイントURL>
AZURE_OPENAI_DEPLOYMENT_NAME=<デプロイ名>
AZURE_OPENAI_API_KEY=<Azure OpenAI Serviceのデプロイメントのアクセスキー>
環境変数から読み込む
Denoでは、環境変数の読み込みはDeno.env.get("")。
import OpenAI from "@openai/openai";
const endpoint = Deno.env.get("AZURE_OPENAI_ENDPOINT") ?? "";
const deployment_name = Deno.env.get("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "";
const api_key = Deno.env.get("AZURE_OPENAI_API_KEY") ?? "";
const client = new OpenAI({
baseURL: endpoint,
apiKey: api_key
});
async function main() {
const completion = await client.chat.completions.create({
messages: [
{ role: "developer", content: "レシピ作成アシスタント" },
{ role: "user", content: "おでん" }
],
model: deployment_name,
});
console.log(completion.choices[0].message.content);
}
main();
実行時のオプションで.envの読み込みを許可
--allow-file=.envで環境変数ファイルの読み込みを許可。
// deno.json
{
"tasks": {
"dev": "deno run --watch --env-file=.env --allow-env --allow-net main.ts"
},
"imports": {
"@openai/openai": "jsr:@openai/openai",
"@std/assert": "jsr:@std/assert@1"
}
}
ついでに環境変数の参照--allow-envとネットワークアクセス--allow-netも許可。
実行結果
deno.jsonで指定したタスクで実行。
sato@[22:13:21]:~/proj/try/typescript/chatgpt% deno task dev
Task dev deno run --watch --env-file=.env --allow-env --allow-net main.ts
Watcher Process started.
おでんの基本的なレシピをご紹介します。寒い季節にぴったりの温かい料理です。
【おでんの材料】(4人分)
- 大根 1/2本
- こんにゃく 1枚
- 卵 4個
- ちくわ 4本
- さつま揚げ 4枚
- 厚揚げ 2枚
- 昆布 10cm角1枚
- だし汁 1.5リットル(昆布と鰹節でとったものがおすすめ)
- 醤油 大さじ4
- みりん 大さじ3
- 酒 大さじ2
- 砂糖 大さじ1
【作り方】
1. 大根は皮をむき、2〜3cmの厚さに切り、下茹でしておく(柔らかくなるまで)。
2. 卵は固ゆでにして殻をむいておく。
3. こんにゃくは一口大に切り、塩でもみ洗いした後下茹でしてアクを抜く。
4. 昆布は水につけて30分ほど戻す。
5. 鍋にだし汁を入れ、昆布を入れて中火で温める。沸騰直前で昆布を取り出す。
6. 醤油、みりん、酒、砂糖を加え、味を調える。
7. 大根、卵、こんにゃく、ちくわ、さつま揚げ、厚揚げを鍋に入れ、弱火で1時間ほど煮込む。
8. 味が染み込んだら完成。お好みでからしを添えてどうぞ。
ご質問や他の具材の追加レシピなどもお手伝いできますので、お気軽にどうぞ。
Watcher Process finished. Restarting on file change...