C# 接口调用ollama
时间: 2025-03-06 09:36:48 浏览: 94
### C# 中调用 Ollama 接口
为了在C#应用程序中成功调用Ollama接口,开发者可以通过HTTP请求发送数据给指定的API端点并处理返回的结果。下面展示了一个具体的例子,该示例展示了怎样创建一个异步方法来获取文本嵌入向量。
```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class Program {
public static async Task Main(string[] args) {
string modelName = "nomic-embed-text:latest";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://127.0.0.1:11434/api");
client.Timeout = TimeSpan.FromMinutes(5);
using var llamaApi = new LlamaApiClient(client);
var embeddingResponse = await llamaApi.Embeddings.GenerateEmbeddingAsync(modelName, "c#是一门不错的编程语言");
Console.WriteLine($"[{string.Join(", ", embeddingResponse.Embedding!)}]");
}
}
```
这段代码初始化了`HttpClient`对象,并设置了基本地址指向本地运行的服务实例[^1]。接着定义了一个名为`LlamaApiClient`的对象用于与服务交互,最后通过调用`GenerateEmbeddingAsync()`函数传入模型名称以及待分析字符串完成一次查询操作并将结果打印出来。
值得注意的是,在实际部署过程中可能需要调整URL中的IP地址和端口号以匹配服务器配置情况;同时也要确保目标机器上已经正确安装并启动了相应的Ollama服务[^3]。
#### 关键组件说明:
- **HttpClient**: 用来发起网络请求的核心类库。
- **BaseAddress**: 设置默认的基础路径以便后续构建完整的资源定位符(URI)。
- **Timeout**: 设定超时时间防止长时间无响应的情况发生。
- **LlamaApiClient**: 封装好的客户端工具简化了对特定API的操作流程。
- **GenerateEmbeddingAsync()**: 异步方式执行的具体业务逻辑——即生成给定输入对应的嵌入表示形式。
阅读全文
相关推荐


















