refactor(server): 适配 Ollama 接口 /api/embeddings url

- 修改文档解析服务中的嵌入式请求,以适配 Ollama 接口
- 根据 is_ollama 标志动态调整请求参数,使用 "prompt" 替代 "input"
- 保持其他功能和接口不变
This commit is contained in:
zstar 2025-06-05 15:00:52 +08:00
parent 3e2f47078f
commit 9aefac9045
3 changed files with 28 additions and 17 deletions

View File

@ -522,15 +522,26 @@ def perform_parse(doc_id, doc_info, file_info, embedding_config, kb_info):
if embedding_api_key: if embedding_api_key:
headers["Authorization"] = f"Bearer {embedding_api_key}" headers["Authorization"] = f"Bearer {embedding_api_key}"
embedding_resp = requests.post( if is_ollama:
embedding_url, # 使用动态构建的 URL embedding_resp = requests.post(
headers=headers, # 添加 headers (包含可能的 API Key) embedding_url, # 使用动态构建的 URL
json={ headers=headers, # 添加 headers (包含可能的 API Key)
"model": embedding_model_name, # 使用动态获取或默认的模型名 json={
"input": content, "model": embedding_model_name, # 使用动态获取或默认的模型名
}, "prompt": content,
timeout=15, # 稍微增加超时时间 },
) timeout=15, # 稍微增加超时时间
)
else:
embedding_resp = requests.post(
embedding_url, # 使用动态构建的 URL
headers=headers, # 添加 headers (包含可能的 API Key)
json={
"model": embedding_model_name, # 使用动态获取或默认的模型名
"input": content,
},
timeout=15, # 稍微增加超时时间
)
embedding_resp.raise_for_status() embedding_resp.raise_for_status()
embedding_data = embedding_resp.json() embedding_data = embedding_resp.json()

View File

@ -9,18 +9,18 @@ declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
SvgIcon: import("vue").DefineComponent<{ SvgIcon: import("vue").DefineComponent<{
name: { name: {
type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management">; type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management">;
default: string; default: string;
required: true; required: true;
}; };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
name: { name: {
type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management">; type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management">;
default: string; default: string;
required: true; required: true;
}; };
}>>, { }>>, {
name: "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management"; name: "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management";
}>; }>;
} }
} }

View File

@ -7,20 +7,20 @@
declare module '~virtual/svg-component' { declare module '~virtual/svg-component' {
const SvgIcon: import("vue").DefineComponent<{ const SvgIcon: import("vue").DefineComponent<{
name: { name: {
type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management">; type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management">;
default: string; default: string;
required: true; required: true;
}; };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
name: { name: {
type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management">; type: import("vue").PropType<"conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management">;
default: string; default: string;
required: true; required: true;
}; };
}>>, { }>>, {
name: "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management"; name: "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management";
}>; }>;
export const svgNames: ["conversation", "dashboard", "file", "fullscreen-exit", "fullscreen", "kb", "keyboard-down", "keyboard-enter", "keyboard-esc", "keyboard-up", "search", "storage", "team-management", "user-config", "user-management"]; export const svgNames: ["conversation", "dashboard", "file", "fullscreen-exit", "fullscreen", "kb", "keyboard-down", "keyboard-enter", "keyboard-esc", "keyboard-up", "search", "team-management", "user-config", "user-management"];
export type SvgName = "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "storage" | "team-management" | "user-config" | "user-management"; export type SvgName = "conversation" | "dashboard" | "file" | "fullscreen-exit" | "fullscreen" | "kb" | "keyboard-down" | "keyboard-enter" | "keyboard-esc" | "keyboard-up" | "search" | "team-management" | "user-config" | "user-management";
export default SvgIcon; export default SvgIcon;
} }