用 OllamaHub 让 Visual Studio Copilot 可以对接任意模型

用 OllamaHub 让 Visual Studio Copilot 可以对接任意模型

此时的 dotnet run 是不会有什么结果的,因为其配置文件还没设置。定位到构建的输出路径,正常也就在 OllamaHub 的bin\Debug\net10.0文件夹下,在此文件夹里面新建一个名为settings.json的项目,填入如下内容:

{ "logging": { "level": "info" }, "host": "127.0.0.1", "port": 2315, "url": null, "baseUrl": null, "providers": [ { "id": "DeepSeek", "baseUrl": "https://api.deepseek.com", "apiKey": "sk-换成你的 DeepSeek 的 Key", "protectedApiKey": null, "apiMode": "openai", "headers": {} } ], "models": [ { "id": "deepseek-v4-pro", "displayName": "DeepSeek v4 Pro", "configId": null, "family": null, "owned_by": null, "provider": "DeepSeek", "provide": null, "baseUrl": null, "apiKey": null, "protectedApiKey": null, "apiMode": "openai", "context_length": 1000000, "max_tokens": 1000000, "vision": false, "temperature": null, "top_p": null, "headers": { "Content-Type": "application/json" }, "extra": {} } ] }

通过如上配置可以看到,可以支持任意的兼容 OpenAI 的 API 接口的厂商提供的模型。以上我写的是 DeepSeek 的模型,以上配置相信大家看一眼就明白其设置了。关键部分在于写明providers提供商,这里可以写模型厂商,比如豆包的、阿里的、甚至是 360 系的等等。在 models 里面写明有哪些模型,模型由哪个厂商提供,关键属性为 id 和displayName以及provider这三个,分别是模型的 Id 号(豆包的模型的 Id 与模型名是不同的),和展示给开发者自己看的模型名,以及由哪个提供商提供的(有可能 deepseek 是阿里提供的,取决于你买了谁的服务)

请将上面的 DeepSeek 的 API Key 换成你自己的。我想给 DeepSeek 打个免费的广告: DeepSeek 实在太便宜了,而且模型也聪明。没有为编程专门训练的 DeepSeek v4 Pro 模型,实际用起来也十分好用。大概日常用的话,一天 1 块钱到 5 块钱之间

获取 DeepSeek 的 API Key 方法:

  1. 进入https://platform.deepseek.com/api_keys,需要自行注册和登录账号
  2. 点充值,充 10 块钱就够了,因为 10 块钱就够用很久了
  3. 点 API Keys 选项卡,点击创建 API Key 即可

再次重新运行 OllamaHub.exe 文件,即可看到现在监听到了本地的 2315 端口,且日志里面说明了已经加载了至少一个模型:

Loaded 1 model(s) from Xxx\OllamaHub\bin\Debug\net10.0\settings.json

完成以上步骤之后,即可在 Visual Studio 里面进行对接

在 Visual Studio Copilot 界面里面,在选择模型的最下方,点击管理模型

选择 Ollama 然后填入http://127.0.0.1:2315即可

以上的 2315 端口号就是在上面settings.json里配置的

配置完成之后点击添加,随后开始转圈,预期转圈完成之后即可显示出来刚才配置在settings.json里面的模型

将其勾选后点保存即可

回到 Visual Studio Copilot 界面上,此时可选模型就包含了刚才咱添加的模型了