mirror of
https://github.com/abhinavxd/libredesk.git
synced 2026-09-11 21:39:00 +00:00
000d789ed8
Tag suggestion used to send the first 300 tags to the model, so anything past that was invisible. Tags are now embedded into the same index as the knowledge base, and only the tags most similar to the conversation get sent. The reconcile loop embeds new and renamed tags and drops vectors for deleted ones, and a provider change purges them so they are rebuilt with the new model.
85 lines
3.5 KiB
SQL
85 lines
3.5 KiB
SQL
-- name: get-provider-by-type
|
|
SELECT id, created_at, updated_at, name, provider, type, config, is_default FROM ai_providers WHERE type = $1;
|
|
|
|
-- name: update-provider-config
|
|
UPDATE ai_providers SET config = $2, updated_at = now() WHERE type = $1;
|
|
|
|
-- name: get-prompt
|
|
SELECT id, created_at, updated_at, key, title, content FROM ai_prompts WHERE key = $1;
|
|
|
|
-- name: get-prompts
|
|
SELECT id, created_at, updated_at, key, title FROM ai_prompts ORDER BY title;
|
|
|
|
-- name: get-knowledge-base-items
|
|
SELECT id, created_at, updated_at, type, title, content, enabled, source, source_url, embedded_fingerprint FROM ai_knowledge_base ORDER BY updated_at DESC;
|
|
|
|
-- name: get-knowledge-base-item
|
|
SELECT id, created_at, updated_at, type, title, content, enabled, source, source_url, embedded_fingerprint FROM ai_knowledge_base WHERE id = $1;
|
|
|
|
-- name: knowledge-base-item-exists
|
|
SELECT EXISTS(SELECT 1 FROM ai_knowledge_base WHERE id = $1);
|
|
|
|
-- name: insert-knowledge-base-item
|
|
INSERT INTO ai_knowledge_base (type, title, content, enabled, source, source_url) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *;
|
|
|
|
-- name: update-knowledge-base-item
|
|
UPDATE ai_knowledge_base SET title = $2, content = $3, enabled = $4, updated_at = now() WHERE id = $1 RETURNING *;
|
|
|
|
-- name: delete-knowledge-base-item
|
|
DELETE FROM ai_knowledge_base WHERE id = $1;
|
|
|
|
-- name: set-knowledge-base-embedded-fingerprint
|
|
UPDATE ai_knowledge_base SET embedded_fingerprint = $2 WHERE id = $1;
|
|
|
|
-- name: insert-embedding
|
|
INSERT INTO embeddings (source_type, source_id, chunk_text, embedding, dimensions) VALUES ($1, $2, $3, $4, $5);
|
|
|
|
-- name: delete-embeddings-by-source
|
|
DELETE FROM embeddings WHERE source_type = $1 AND source_id = $2;
|
|
|
|
-- name: delete-embeddings-by-source-ids
|
|
DELETE FROM embeddings WHERE source_type = $1 AND source_id = ANY($2);
|
|
|
|
-- name: delete-embeddings-by-source-type
|
|
DELETE FROM embeddings WHERE source_type = $1;
|
|
|
|
-- name: get-tags
|
|
SELECT id, name FROM tags ORDER BY id;
|
|
|
|
-- name: get-all-embeddings
|
|
SELECT id, source_type, source_id, chunk_text, embedding, dimensions FROM embeddings;
|
|
|
|
-- name: get-tools
|
|
SELECT id, created_at, updated_at, name, description, url, method, auth, parameters, enabled, requires_verification FROM ai_tools ORDER BY updated_at DESC;
|
|
|
|
-- name: get-enabled-tools-by-ids
|
|
SELECT id, created_at, updated_at, name, description, url, method, auth, parameters, enabled, requires_verification FROM ai_tools WHERE enabled = true AND id = ANY($1);
|
|
|
|
-- name: get-tool
|
|
SELECT id, created_at, updated_at, name, description, url, method, auth, parameters, enabled, requires_verification FROM ai_tools WHERE id = $1;
|
|
|
|
-- name: get-tool-auth
|
|
SELECT auth FROM ai_tools WHERE id = $1;
|
|
|
|
-- name: insert-tool
|
|
INSERT INTO ai_tools (name, description, url, method, auth, parameters, enabled, requires_verification)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING *;
|
|
|
|
-- name: update-tool
|
|
UPDATE ai_tools SET name = $2, description = $3, url = $4, method = $5, auth = $6, parameters = $7, enabled = $8, requires_verification = $9, updated_at = now()
|
|
WHERE id = $1 RETURNING *;
|
|
|
|
-- name: delete-tool
|
|
DELETE FROM ai_tools WHERE id = $1;
|
|
|
|
-- name: get-copilot-messages
|
|
SELECT role, content FROM (
|
|
SELECT id, role, content FROM copilot_messages WHERE conversation_id = $1 AND user_id = $2 ORDER BY id DESC LIMIT $3
|
|
) latest ORDER BY id;
|
|
|
|
-- name: insert-copilot-message
|
|
INSERT INTO copilot_messages (conversation_id, user_id, role, content) VALUES ($1, $2, $3, $4);
|
|
|
|
-- name: delete-copilot-messages
|
|
DELETE FROM copilot_messages WHERE conversation_id = $1 AND user_id = $2;
|