1:使用abp.vnext生成项目,访问下面地址进行项目生成

Get Started with ABP | Quick and Easy Setup Guide | ABP.IO

2:安装必要的nuget包

在xxx.HttpApi.Host中安装

Milvus.Client

Microsoft.Extensions.AI.Ollama

Microsoft.Extensions.AI

Microsoft.Extensions.AI.Abstractions

public override void ConfigureServices(ServiceConfigurationContext context)
{

 #region 配置ollama,embedding,Milvus

 #region Ollama
 var chatEndpoint = configuration["Chat:Ollama:Endpoint"]!;
 var chatModelId = configuration["Chat:Ollama:ModelId"]!;
 context.Services.AddChatClient(new OllamaChatClient(chatEndpoint, chatModelId)
                 .AsBuilder()
                 .Build());
 context.Services.AddTransient<IChatService, ChatService>();
 #endregion

 #region Embedding

 var embeddingModelId = configuration["Chat:Embedding:ModelId"]!;
 var embeddingEndpoint = configuration["Chat:Embedding:Endpoint"]!;
 context.Services.AddEmbeddingGenerator(new OllamaEmbeddingGenerator(embeddingEndpoint, embeddingModelId)
                 .AsBuilder()
                 .Build());
 #endregion

 #region Milvus
 context.Services.Configure<MilvusOptions>(configuration.GetSection("Milvus"));
 context.Services.AddSingleton(sp =>
 {
     var options = sp.GetRequiredService<IOptions<MilvusOptions>>().Value;
     return new MilvusClient(options.Host, options.Port);
 });

 context.Services.AddTransient<MilvusClientRepository>();
 context.Services.AddTransient<IVectorService, VectorService>();
 #endregion

}

appsettings.json文件

{

"Chat": {
  "Ollama": {
    "Endpoint": "http://192.168.3.40:11434/",
    "ModelId": "deepseek-r1:14b"
  },
  "Embedding": {
    "Endpoint": "http://192.168.3.40:11434",
    "ModelId": "nomic-embed-text:latest"
  }
},
"Milvus": {
  "Host": "192.168.3.111",
  "Port": 19530,
  "CollectionName": "documents",
  "VectorDimension": 768 //384 //768 //
}

}

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐