OpenRouter 集成与实践

OpenRouter 集成与实践

Effect AI SDK

1 分钟阅读

Effect AI SDK

使用 Effect AI SDK 集成 OpenRouter

Effect AI SDK

你可以使用 Effect AI SDK 将 OpenRouter 集成到 Effect 应用中。首先安装以下软件包:

npm install effect @effect/ai @effect/ai-openrouter @effect/platform

完成后,你可以使用 LanguageModel 模块,通过 OpenRouter 定义与大语言模型的交互。

import { LanguageModel } from "@effect/ai"
import { OpenRouterClient, OpenRouterLanguageModel } from "@effect/ai-openrouter"
import { FetchHttpClient } from "@effect/platform"
import { Config, Effect, Layer, Stream } from "effect"

const Gpt4o = OpenRouterLanguageModel.model("openai/gpt-4o")

const program = LanguageModel.streamText({
  prompt: [
    { role: "system", content: "你是一位擅长让人忍不住发出尴尬笑声的谐音梗喜剧演员" },
    { role: "user", content: [{ type: "text", text: "讲个爸爸笑话" }] }
  ]
}).pipe(
  Stream.filter((part) => part.type === "text-delta"),
  Stream.runForEach((part) => Effect.sync(() => process.stdout.write(part.delta))),
  Effect.provide(Gpt4o)
)

const OpenRouter = OpenRouterClient.layerConfig({
  apiKey: Config.redacted("OPENROUTER_API_KEY")
}).pipe(Layer.provide(FetchHttpClient.layer))

program.pipe(
  Effect.provide(OpenRouter),
  Effect.runPromise
)