[BUG] 简洁阐述问题 / Concise Description Of The Issue
=====================================================
适配xinference企业版,使用chatchat kb -r 初始化知识库的时候,调用xinference没有授权的问题
详细报错信息
xinference开源版没有授权问题 是没问题的,希望解决一下看看在哪里配置或修改一下
xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题。与xinference开源版相比,开源版在调用xinference API 时没有出现授权问题。因此,我们需要检查企业版的配置或修改相关设置,以解决授权问题。
调用xinference的请求信息 需要添加请求头 具体方法如下:
在调用xinference API 时,我们需要添加请求头,具体方法如下:
signin() 函数
def signin():
"""Sign in to get access token."""
signin_url = f"{BASE_URL}/v1/user/signin"
data = {
"username": "administrator",
"password": "administrator",
"token_expire_in_minutes": 1800
}
response = requests.post(signin_url, json=data)
assert response.status_code == 200, f"Signin failed: {response.text}"
return response.json()["access_token"]
get_headers() 函数
def get_headers():
"""Get headers with current access token."""
return {
'Authorization': f'Bearer {signin()}',
'Content-Type': 'application/json'
}
调用示例
def get_available_model():
"""Get first available chat model."""
return "DS-R1"
response = requests.get(f"{BASE_URL}/v1/models", headers=get_headers())
assert response.status_code == 200, f"Failed to get models: {response.text}"
models = response.json()
# Find first available chat model
for model in models:
if model.get("model_type") == "chat":
return model["model_name"]
raise Exception("No chat models available. Please start a chat model first.")
解决授权问题的方法
- 检查企业版的配置文件,确保配置正确。
- 修改相关设置,确保授权信息正确。
- 检查xinference API 的文档,确保调用方式正确。
通过以上步骤,我们可以解决xinference企业版在初始化知识库时,调用xinference API 时出现的没有授权的问题。
=====================================================
适配xinference企业版,使用chatchat kb -r 初始化知识库的时候,调用xinference没有授权的问题
详细报错信息
xinference开源版没有授权问题 是没问题的,希望解决一下看看在哪里配置或修改一下
xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题。与xinference开源版相比,开源版在调用xinference API 时没有出现授权问题。因此,我们需要检查企业版的配置或修改相关设置,以解决授权问题。
调用xinference的请求信息 需要添加请求头 具体方法如下:
在调用xinference API 时,我们需要添加请求头,具体方法如下:
signin() 函数
def signin():
"""Sign in to get access token."""
signin_url = f"{BASE_URL}/v1/user/signin"
data = {
"username": "administrator",
"password": "administrator",
"token_expire_in_minutes": 1800
}
response = requests.post(signin_url, json=data)
assert response.status_code == 200, f"Signin failed: {response.text}"
return response.json()["access_token"]
get_headers() 函数
def get_headers():
"""Get headers with current access token."""
return {
'Authorization': f'Bearer {signin()}',
'Content-Type': 'application/json'
}
调用示例
def get_available_model():
"""Get first available chat model."""
return "DS-R1"
response = requests.get(f"{BASE_URL}/v1/models", headers=get_headers())
assert response.status_code == 200, f"Failed to get models: {response.text}"
models = response.json()
# Find first available chat model
for model in models:
if model.get("model_type") == "chat":
return model["model_name"]
raise Exception("No chat models available. Please start a chat model first.")
解决授权问题的方法
- 检查企业版的配置文件,确保配置正确。
- 修改相关设置,确保授权信息正确。
- 检查xinference API 的文档,确保调用方式正确。
通过以上步骤,我们可以解决xinference企业版在初始化知识库时,调用xinference API 时出现的没有授权的问题。
常见问题
Q1: 为什么xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题?
A1: xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题可能是因为企业版的配置文件或相关设置不正确。
Q2: 如何解决xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题?
A2: 解决xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题的方法包括检查企业版的配置文件,修改相关设置,确保授权信息正确,以及检查xinference API 的文档,确保调用方式正确。
Q3: xinference开源版在调用xinference API 时出现没有授权的问题吗?
A3: xinference开源版在调用xinference API 时没有出现授权问题。
Q4: 如何添加请求头在调用xinference API 时?
A4: 在调用xinference API 时,我们需要添加请求头,具体方法如下:
def signin():
"""Sign in to get access token."""
signin_url = f"{BASE_URL}/v1/user/signin"
data = {
"username": "administrator",
"password": "administrator",
"token_expire_in_minutes": 1800
}
response = requests.post(signin_url, json=data)
assert response.status_code == 200, f"Signin failed: {response.text}"
return response.json()["access_token"]
def get_headers():
"""Get headers with current access token."""
return {
'Authorization': f'Bearer {signin()}',
'Content-Type': 'application/json'
}
Q5: 如何调用xinference API?
A5: 调用xinference API 的方法包括使用signin()函数获取access token,使用get_headers()函数获取请求头,使用requests.get()函数发送GET请求,使用requests.post()函数发送POST请求等。
通过以上问题和答案,我们可以更好地理解xinference企业版在初始化知识库时,调用xinference API 时出现没有授权的问题的原因和解决方法。