Integrate Microsoft.Extensions.AI as a foundational building block (#94)
* Integrate Microsoft.Extensions.AI as a foundational building block As with logging abstractions coming from M.E.Logging and DI abstractions coming from M.E.DependencyInjection, M.E.AI provides the relevant AI abstractions. - Adds AsAIFunction and GetAIFunctionsAsync methods for getting functions for tools via a client. - Uses AIFunctionFactory to implement McpServerBuilderExtensions.WithTools. - Adds a RequestSamplingAsync overload that accepts ChatMessages/Options. - Adds an AsSamplingChatClient method that provides an IChatClient usable on the server to request sampling of the client. - Adds a CreateSamplingHandler method to enable an IChatClient to be easily used to satisfy sampling requests on the client. - Deprecate McpDotNet.Extensions.AI. * Address PR feedback
This commit is contained in:
parent
a0afc28ad6
commit
4597bbd7c2
1 changed files with 801 additions and 927 deletions
15
README.MD
15
README.MD
|
|
@ -99,6 +99,21 @@ Additional examples and documentation will be added as in the near future.
|
|||
|
||||
Remember you can connect to any MCP server, not just ones created using mcpdotnet. The protocol is designed to be server-agnostic, so you can use this library to connect to any compliant server.
|
||||
|
||||
Tools can be exposed easily as `AIFunction` instances so that they are immediately usable with `IChatClient`s.
|
||||
```csharp
|
||||
// Get available functions.
|
||||
IList<AIFunction> tools = await client.GetAIFunctionsAsync();
|
||||
|
||||
// Call the chat client using the tools.
|
||||
IChatClient chatClient = ...;
|
||||
var response = await chatClient.GetResponseAsync(
|
||||
"your prompt here",
|
||||
new()
|
||||
{
|
||||
Tools = [.. tools],
|
||||
});
|
||||
```
|
||||
|
||||
## Getting Started (Server)
|
||||
|
||||
Here is an example of how to create an MCP server and register all tools from the current application.
|
||||
|
|
|
|||
Loading…
Reference in a new issue