summaryrefslogtreecommitdiff
path: root/src/Agent.Core/Ollama/IOllamaClient.cs
blob: d1cb99fa6deb4f4da5eb343fae528f0f8858b711 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace Agent.Core.Ollama;

using System.Text.Json;
using Agent.Core.Tools;

public interface IOllamaClient
{
    Task<OllamaResult> ChatAsync(IReadOnlyList<OllamaMessage> messages, double? temperatureOverride, CancellationToken cancellationToken);
    Task<OllamaResult> ChatWithToolsAsync(IReadOnlyList<OllamaMessage> messages, double? temperatureOverride, IReadOnlyList<InternalToolDefinition> tools, CancellationToken cancellationToken) =>
        ChatAsync(messages, temperatureOverride, cancellationToken);
    Task<OllamaResult> ChatStructuredAsync(IReadOnlyList<OllamaMessage> messages, double? temperatureOverride, JsonElement format, CancellationToken cancellationToken) =>
        ChatAsync(messages, temperatureOverride, cancellationToken);
    Task<bool?> SupportsVisionAsync(CancellationToken cancellationToken) => Task.FromResult<bool?>(null);
}