首页
/ LangBot项目中使用Ollama部署本地模型报错"无效的api-key"问题解析

LangBot项目中使用Ollama部署本地模型报错"无效的api-key"问题解析

2025-05-22 08:27:03作者:余洋婵Anita

在使用LangBot项目对接本地Ollama服务时,部分开发者会遇到"无效的api-key"的错误提示,即使本地部署的模型并不需要API密钥。这个问题通常是由于配置不当引起的,下面将详细分析原因并提供解决方案。

问题现象

当开发者按照常规流程配置LangBot与本地Ollama服务对接时,系统会返回以下错误信息:

模型请求失败: 无效的api-key: Error code: 401
{
    'error': {
        'message': 'Authentication Fails (no such user)',
        'type': 'authentication_error',
        'param': None,
        'code': 'invalid_request_error'
    }
}

根本原因分析

这个问题的产生通常有两个主要原因:

  1. 模型名称配置错误:在provider.json文件中指定的模型名称与Ollama实际部署的模型名称不匹配,或者没有正确关联到ollama-chat请求器。

  2. 请求器类型不匹配:在llm-models.json配置文件中,对应模型的requester字段没有正确设置为"ollama-chat",导致系统尝试使用错误的API方式进行调用。

详细解决方案

第一步:验证Ollama服务

首先确保Ollama服务已正确启动并加载了目标模型。可以通过以下命令测试:

curl http://localhost:11434/api/generate -d '{
    "model": "deepseek-r1:70b",
    "prompt": "你好"
}'

如果服务正常,应该能收到模型的响应。

第二步:检查llm-models.json配置

在LangBot的配置目录中找到llm-models.json文件,确认对应模型的配置包含以下关键字段:

{
    "deepseek-chat": {
        "requester": "ollama-chat",
        "name": "DeepSeek Chat",
        "description": "DeepSeek模型通过Ollama部署"
    }
}

特别注意"requester"必须设置为"ollama-chat"。

第三步:核对provider.json设置

在provider.json中,确保模型名称与llm-models.json中的定义完全一致:

{
    "model": "deepseek-chat",
    "apikey": "",
    "params": {}
}

本地部署时apikey应保持为空。

第四步:验证Ollama连接参数

在LangBot的大模型请求器设置中,确认Ollama的API URL指向正确的本地地址:

API URL: http://127.0.0.1:11434
API请求超时: 600

补充说明

  1. 模型命名规范:Ollama部署的模型名称(如deepseek-r1:70b)与LangBot中定义的模型名称(如deepseek-chat)是两个概念,后者是在llm-models.json中定义的标识符。

  2. 请求器工作原理:ollama-chat请求器是专门为Ollama本地部署设计的,它会忽略apikey字段,直接通过HTTP与本地Ollama服务通信。

  3. 多模型管理:如果部署了多个模型,需要在llm-models.json中为每个模型创建单独的配置项,并确保requester均为"ollama-chat"。

通过以上步骤检查和修正配置后,LangBot应该能够正常与本地Ollama服务通信,不再出现"无效的api-key"错误提示。如果问题仍然存在,建议检查Ollama服务日志和LangBot的调试日志,获取更详细的错误信息。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
376
3.31 K
flutter_flutterflutter_flutter
暂无简介
Dart
622
140
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
62
20
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
479
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
648
263
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.1 K
620
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
794
77