📖
Microsoft.Extensions.AI.IChatClientにOpenRouterを接続する方法
やりたいこと
Microsoft.Extensions.AIを使ってChatClientを操作したい。そのときに使用するIChatClientをOpenRouterのmodelに接続したい。
使用ライブラリ
OpenAI公式ライブラリをMicroSoft.Extension.AI.OpenAIを使ってIChatClientにラップする。それを使ってMicrosoft.Extentions.AIを使う感じ。



IChatClient接続方法
下記のようにIChatClentを作成する。OpenAI.Chat.ChatClientを作ってからIChatClientを作る。
private Microsoft.Extensions.AI.IChatClient client;
public OpenRouterChat(string model,string apiKey)
{
OpenAI.OpenAIClientOptions openAIClientOptions = new OpenAI.OpenAIClientOptions()
{
Endpoint = new System.Uri(
"https://openrouter.ai/api/v1" // openrouter endpoint
)
};
OpenAI.Chat.ChatClient openAiClient = new OpenAI.Chat.ChatClient(
model: model,
new ApiKeyCredential(apiKey),
openAIClientOptions
);
// create IChatClient with OpenAI.Chat.ChatClient
client = Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(openAiClient);
}
これでMicrosoft.Extentions.AIの機能をOpenRouter modelで使える。
function callも下記のような方法で簡単に実装できる。
//use user function
client = ChatClientBuilderChatClientExtensions
.AsBuilder(client)
.UseFunctionInvocation()
.Build();
Discussion