| import { WEBUI_API_BASE_URL } from '$lib/constants'; |
|
|
| export const createNewKnowledge = async (token: string, name: string, description: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/create`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| }, |
| body: JSON.stringify({ |
| name: name, |
| description: description |
| }) |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .catch((err) => { |
| error = err.detail; |
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const getKnowledgeItems = async (token: string = '') => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/`, { |
| method: 'GET', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| } |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const getKnowledgeById = async (token: string, id: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}`, { |
| method: 'GET', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| } |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| type KnowledgeUpdateForm = { |
| name?: string; |
| description?: string; |
| data?: object; |
| }; |
|
|
| export const updateKnowledgeById = async (token: string, id: string, form: KnowledgeUpdateForm) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/update`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| }, |
| body: JSON.stringify({ |
| name: form?.name ? form.name : undefined, |
| description: form?.description ? form.description : undefined, |
| data: form?.data ? form.data : undefined |
| }) |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const addFileToKnowledgeById = async (token: string, id: string, fileId: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/file/add`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| }, |
| body: JSON.stringify({ |
| file_id: fileId |
| }) |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const updateFileFromKnowledgeById = async (token: string, id: string, fileId: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/file/update`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| }, |
| body: JSON.stringify({ |
| file_id: fileId |
| }) |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const removeFileFromKnowledgeById = async (token: string, id: string, fileId: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/file/remove`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| }, |
| body: JSON.stringify({ |
| file_id: fileId |
| }) |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const resetKnowledgeById = async (token: string, id: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/reset`, { |
| method: 'POST', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| } |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|
| export const deleteKnowledgeById = async (token: string, id: string) => { |
| let error = null; |
|
|
| const res = await fetch(`${WEBUI_API_BASE_URL}/knowledge/${id}/delete`, { |
| method: 'DELETE', |
| headers: { |
| Accept: 'application/json', |
| 'Content-Type': 'application/json', |
| authorization: `Bearer ${token}` |
| } |
| }) |
| .then(async (res) => { |
| if (!res.ok) throw await res.json(); |
| return res.json(); |
| }) |
| .then((json) => { |
| return json; |
| }) |
| .catch((err) => { |
| error = err.detail; |
|
|
| console.log(err); |
| return null; |
| }); |
|
|
| if (error) { |
| throw error; |
| } |
|
|
| return res; |
| }; |
|
|