记录一次openwebui部署无法使用知识库的问题
网络上没有类似的情况:
上传pdf和docx以及txt报错nonetype
然后看后台日志和源代码
request.post获取embedding的时候报错404 xxxx/api/embed
Error generating ollama batch embeddings: ERROR: 404 Client Error: Not Found for url xxxx/api/embed
def generate_ollama_batch_embeddings(
model: str, texts: list[str], url: str, key: str = "", user: UserModel = None
) -> Optional[list[list[float]]]:
try:
r = requests.post(
f"{url}/api/embed",
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {key}",
**(
{
"X-OpenWebUI-User-Name": user.name,
"X-OpenWebUI-User-Id": user.id,
"X-OpenWebUI-User-Email": user.email,
"X-OpenWebUI-User-Role": user.role,
}
if ENABLE_FORWARD_USER_INFO_HEADERS
else {}
),
},
json={"input": texts, "model": model},
)
r.raise_for_status()
data = r.json()
if "embeddings" in data:
return data["embeddings"]
else:
raise "Something went wrong :/"
except Exception as e:
log.exception(f"Error generating ollama batch embeddings: {e}")
return None
将代码的
f"{url}/api/embed",
修改为真实的ipxxxx:xx/api/embed
,这里估计是用了yeild之类的迭代器,然后拼装的形式就要报错。所以还是写死吧,或者直接url传入的时候要写xxxx/api/embed