
يوفر Ollamasharp روابط .NET لـ OLLAMA API ، مما يبسيط التفاعلات مع Ollama محليًا وبعيدًا.
✅ دعم microsoft.extensions.ai و Microsoft الدلالي kernel
يلف Ollamasharp كل نقطة نهاية Allama API في الأساليب القابلة للانتظار تدعم بث الاستجابة بالكامل.
تعرض القائمة التالية بعض أمثلة الكود البسيط.
ℹ جرب تطبيق العرض التجريبي الكامل المميز الذي تم تضمينه في هذا المستودع
// 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 ببناء مكتبة التجريد لتبسيط استخدام مقدمي الذكاء الاصطناعى المختلفين. هذا مفهوم مثير للاهتمام حقًا إذا كنت تخطط لإنشاء تطبيقات قد تستخدم مقدمي الخدمات المختلفين ، مثل ChatGPT و Claude و Models مع Ollama.
أشجعك على قراءة محاسبةهم لتقديم Microsoft.Extensions.ai معاينة - لبنات بناء منظمة العفو الدولية الموحدة لـ .NET.
يعد Ollamasharp أول تطبيق كامل لـ IChatClient و IEmbeddingGenerator الذي يجعل من الممكن استخدام Ollama تمامًا مثل كل مزود الدردشة الآخر.
للقيام بذلك ، ما عليك سوى استخدام OllamaApiClient كـ IChatClient بدلاً من 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
} ملحوظة
يوفر IOllamaApiClient العديد من الأساليب المحددة لـ Ollama التي يفتقدها IChatClient و IEmbeddingGenerator . نظرًا لأن هذه التجريدات ، IChatClient و IEmbeddingGenerator لن تنفذ أبدًا مواصفات ALPI الكاملة لـ Ollama. ومع ذلك ، OllamaApiClient ينفذ ثلاث واجهات: IOllamaApiClient الأصلي و Microsoft IChatClient و IEmbeddingGenerator<string, Embedding<float>> الذي يتيح لك إلقاءه على أي من هاتين الواجهتين كما تحتاجهما في أي وقت.
تم إعادة استخدام الأيقونة والاسم من مشروع Ollama المذهل.
أود أن أشكر جميع المساهمين الذين يأخذون الوقت الكافي لتحسين Ollamasharp. أولاً وقبل كل شيء ، ميلي تان ، الذي يحتفظ دائمًا بـ Ollamasharp متزامن مع ALPI OLAMA. ❤