Commit d58cbed7 authored by Kantz's avatar Kantz
Browse files

ingest funktioniert jetzt mit Jina über HF und ST und mit mistral über GWDG

parent cc608989
...@@ -19,14 +19,14 @@ def get_embedding_settings() -> EmbeddingSettings: ...@@ -19,14 +19,14 @@ def get_embedding_settings() -> EmbeddingSettings:
if embedding_type == "sentence-transformer": if embedding_type == "sentence-transformer":
return EmbeddingSettings( return EmbeddingSettings(
embedding_type=embedding_type, embedding_type=embedding_type,
model=os.getenv("SENTENCE_TRANSFORMER_MODEL", "tencent/KaLM-Embedding-Gemma3-12B-2511"), model=os.getenv("SENTENCE_TRANSFORMER_MODEL", "jinaai/jina-embeddings-v4"),
target_dim=int(os.getenv("SENTENCE_TRANSFORMER_TARGET_DIM", "1024")), target_dim=int(os.getenv("EMBEDDING_DIM", "512")),
) )
if embedding_type == "openai-like": if embedding_type == "openai-like":
base_url = os.getenv("OPENAI_BASE_URL") base_url = os.getenv("OPENAI_BASE_URL")
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
model = os.getenv("OPENAI_EMBED_MODEL", "text-embedding-3-large") model = os.getenv("OPENAI_EMBED_MODEL", "e5-mistral-7b-instruct")
model_target_dim = int(os.getenv("OPENAI_EMBED_TARGET_DIM", "1024")) model_target_dim = int(os.getenv("EMBEDDING_DIM", "1024"))
if not base_url or not api_key: if not base_url or not api_key:
raise ValueError("Missing OPENAI_BASE_URL or OPENAI_API_KEY") raise ValueError("Missing OPENAI_BASE_URL or OPENAI_API_KEY")
return EmbeddingSettings( return EmbeddingSettings(
......
...@@ -7,7 +7,6 @@ from enum import Enum ...@@ -7,7 +7,6 @@ from enum import Enum
import httpx import httpx
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from sentence_transformers import SentenceTransformer from sentence_transformers import SentenceTransformer
import torch
# ----------------------------- # -----------------------------
......
...@@ -12,6 +12,9 @@ from pgvector.psycopg import register_vector ...@@ -12,6 +12,9 @@ from pgvector.psycopg import register_vector
import yaml import yaml
from pydantic import BaseModel from pydantic import BaseModel
import app.config
embedding_dim = app.config.get_embedding_settings().target_dim
@dataclass @dataclass
class DocRecord: class DocRecord:
...@@ -116,7 +119,7 @@ def embed_query(embedder: EmbeddingLike, text: str) -> List[float]: ...@@ -116,7 +119,7 @@ def embed_query(embedder: EmbeddingLike, text: str) -> List[float]:
return embedder.embed_query(text) return embedder.embed_query(text)
DDL = """ DDL = f"""
CREATE EXTENSION IF NOT EXISTS vector; CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE IF NOT EXISTS docs ( CREATE TABLE IF NOT EXISTS docs (
...@@ -134,7 +137,7 @@ CREATE TABLE IF NOT EXISTS docs ( ...@@ -134,7 +137,7 @@ CREATE TABLE IF NOT EXISTS docs (
path TEXT NOT NULL, path TEXT NOT NULL,
markdown TEXT NOT NULL, markdown TEXT NOT NULL,
embedding VECTOR(512) NOT NULL embedding VECTOR({embedding_dim}) NOT NULL
); );
CREATE INDEX IF NOT EXISTS docs_embedding_cos_idx CREATE INDEX IF NOT EXISTS docs_embedding_cos_idx
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment