MAXKB2.0怎么调用API啊,一直反馈401

代码如下,这是基于之前帖子里发的直接改的,来个大佬帮忙看一下
import requests

定义headers,使用提供的KEY

headers = {
‘accept’: ‘application/json’,
‘AUTHORIZATION’: ‘application-98d838cbd407975270f40fc9cfc2666e’ # 使用提供的api key
}

基础URL

BASE_URL = ‘http://localhost:8080/chat/api

直接使用提供的profile id(已正确设置)

PROFILE_ID = ‘01984f42-2c25-77f2-a8b3-178787aa485a’

获取 chat id

def get_chat_id(profile_id):
# 使用传入的profile_id参数构建URL
chat_open_url = f’{BASE_URL}/{profile_id}/chat/open’
try:
response = requests.get(chat_open_url, headers=headers)
print(f"获取chat响应状态码: {response.status_code}“)
print(f"获取chat响应内容: {response.text}”)

    if response.status_code == 200:
        return response.json()['data']
    else:
        print(f"获取chat id失败,状态码: {response.status_code}")
        return None
except Exception as e:
    print(f"获取chat id时发生错误: {str(e)}")
    return None

发送聊天消息

def send_chat_message(chat_id, payload):
# 使用预设的PROFILE_ID构建URL,与定义的常量保持一致
chat_message_url = f’{BASE_URL}/{PROFILE_ID}/chat_message/{chat_id}’
try:
response = requests.post(chat_message_url, headers=headers, json=payload)
print(f"发送消息响应状态码: {response.status_code}“)
print(f"发送消息响应内容: {response.text}”)

    if response.status_code == 200:
        return response.json()
    else:
        print(f"发送消息失败,状态码: {response.status_code}")
        return None
except Exception as e:
    print(f"发送消息时发生错误: {str(e)}")
    return None

主函数

def main(message, re_chat=False, stream=False):
# 直接使用预设的profile id
profile_id = PROFILE_ID
print(f"使用提供的profile id: {profile_id}")

chat_id = get_chat_id(profile_id)
if chat_id:
    print("获取chat id成功:", chat_id)
    chat_message_payload = {
        "message": message,
        "re_chat": re_chat,
        "stream": stream
    }
    response = send_chat_message(chat_id, chat_message_payload)
    if response:
        print("消息发送成功")
        content = response['data']['content']
        return content
else:
    print("获取chat id失败")
    return None

if name == “main”:
message = “你好”
r = main(message, re_chat=False, stream=False)
print(“返回结果:”, r)
报错:发送消息失败,状态码: 401,响应: {“code”: 1002, “message”: “\u8eab\u4efd\u9a8c\u8bc1\u4fe1\u606f\u4e0d\u6b63\u786e\uff01\u975e\u6cd5\u7528\u6237”, “data”: null}
AI回复: None

把错误信息转码后是:身份验证信息不正确!非法用户。检查一下你的apikey是否正确

建议url用ip,不要用localhost

现在在做测试,等测试成功了再用IP,目前来看key是对的,我在想是不是发送信息的url是不是错了
使用固定profile id: 01984f42-2c25-77f2-a8b3-178787aa485a
获取profile id成功
01984f42-2c25-77f2-a8b3-178787aa485a
使用固定Chat ID: 01984f6a-64c0-7de3-9658-4f875c87b43e
获取chat id成功
01984f6a-64c0-7de3-9658-4f875c87b43e
当前发送消息的URL:http://localhost:8080/chat/api/chat_message/01984f6a-64c0-7de3-9658-4f875c87b43e
发送消息失败,状态码: 401,响应: {“code”: 1002, “message”: “\u8eab\u4efd\u9a8c\u8bc1\u4fe1\u606f\u4e0d\u6b63\u786e\uff01\u975e\u6cd5\u7528\u6237”, “data”: null}
AI回复: None

这个函数是在哪里看见的呢

这是python执行的结果

知道,我是想问这个函数是在哪看见的

API访问凭据怎么使用,有示例代码吗? - MaxKB - 社区论坛 - FIT2CLOUD 飞致云
这个帖子,我没用2.0版本的时候,这个代码是可以用的

哥,你是用的2.0版本嘛?你的函数能不能让我借鉴下,试了一下午了,一直这样

v1和v2的api文档有点区别,这个可能要去修改一下,这边直接用文档是否能正确调用呢


我填写对话ID后,显示内部服务器错误,我又在想,是不是maxkb1.0卸载不干净,导致出现了问题,不过maxkb理论上运行在容器里的,容器是新增的,按说不会这样啊

message的内容看一下

默认的string

没有内容的东西要删去哦

image
你试一下留这三个



没办法只留这3个,只要消息栏输入东西,返回的都是对话记录不存在

你的应用是怎么编排的,是不是还有其他必填的参数呢

我重新弄了一个原始高级编排流程,再次测试还是一样的结果,我重新换个虚拟机再搭建一个吧

401通常是权限或认证问题,我们这边确认下 V2 版本的会话接口是否可以正常调用?

确实不是我设置问题,重新搭建,还是无法使用