
Ollamasharp menyediakan ikatan .NET untuk API Ollama, menyederhanakan interaksi dengan Ollama baik secara lokal maupun jarak jauh.
✅ Mendukung Microsoft.Extensions.ai dan Microsoft Semantik Kernel
Ollamasharp membungkus setiap titik akhir API Ollama dalam metode yang dapat ditunggu -tunggu yang sepenuhnya mendukung streaming respons.
Daftar berikut menunjukkan beberapa contoh kode sederhana.
ℹ Coba aplikasi demo unggulan lengkap kami yang termasuk dalam repositori ini
// set up the client
var uri = new Uri ( " http://localhost:11434 " ) ;
var ollama = new OllamaApiClient ( uri ) ;
// select a model which should be used for further operations
ollama . SelectedModel = " llama3.1:8b " ; var models = await ollama . ListLocalModelsAsync ( ) ; await foreach ( var status in ollama . PullModelAsync ( " llama3.1:405b " ) )
Console . WriteLine ( $" { status . Percent } % { status . Status } " ) ; await foreach ( var stream in ollama . GenerateAsync ( " How are you today? " ) )
Console . Write ( stream . Response ) ; var chat = new Chat ( ollama ) ;
while ( true )
{
var message = Console . ReadLine ( ) ;
await foreach ( var answerToken in chat . SendAsync ( message ) )
Console . Write ( answerToken ) ;
}
// messages including their roles and tool calls will automatically be tracked within the chat object
// and are accessible via the Messages property Microsoft membangun perpustakaan abstraksi untuk merampingkan penggunaan berbagai penyedia AI. Ini adalah konsep yang sangat menarik jika Anda berencana untuk membangun aplikasi yang mungkin menggunakan penyedia yang berbeda, seperti chatgpt, Claude dan model lokal dengan Ollama.
Saya mendorong Anda untuk membaca aksunim mereka memperkenalkan microsoft.Extensions.ai Preview - Blok bangunan AI terpadu untuk .net.
Ollamasharp adalah implementasi penuh pertama dari IChatClient dan IEmbeddingGenerator mereka yang memungkinkan untuk menggunakan Ollama seperti halnya setiap penyedia obrolan lainnya.
Untuk melakukan ini, cukup gunakan OllamaApiClient sebagai IChatClient alih -alih IOllamaApiClient .
// install package Microsoft.Extensions.AI.Abstractions
private static IChatClient CreateChatClient ( Arguments arguments )
{
if ( arguments . Provider . Equals ( " ollama " , StringComparison . OrdinalIgnoreCase ) )
return new OllamaApiClient ( arguments . Uri , arguments . Model ) ;
else
return new OpenAIChatClient ( new OpenAI . OpenAIClient ( arguments . ApiKey ) , arguments . Model ) ; // ChatGPT or compatible
} Catatan
IOllamaApiClient menyediakan banyak metode khusus Ollama yang dilewatkan IChatClient dan IEmbeddingGenerator . Karena ini adalah abstraksi, IChatClient dan IEmbeddingGenerator tidak akan pernah menerapkan spesifikasi API Ollama lengkap. Namun, OllamaApiClient mengimplementasikan tiga antarmuka: IOllamaApiClient asli dan microsoft IChatClient dan IEmbeddingGenerator<string, Embedding<float>> yang memungkinkan Anda untuk melemparkannya ke salah satu dari dua antarmuka ini karena Anda membutuhkannya kapan saja.
Ikon dan namanya digunakan kembali dari proyek Ollama yang menakjubkan.
Saya ingin mengucapkan terima kasih kepada semua kontributor yang meluangkan waktu untuk meningkatkan Ollamasharp. Mili-tan pertama dan terpenting, yang selalu membuat Ollamasharp tetap sinkron dengan API Ollama. ❤