Spaces:
Running
Running
import pandas as pd | |
# Налаштування Google Embeddings | |
GOOGLE_EMBEDDING_MODEL = "text-embedding-004" # Модель Google Embeddings | |
USE_GOOGLE_EMBEDDINGS = True # Прапорець для вмикання/вимикання Google Embeddings | |
# Налаштування для моделей ембедингів | |
DEFAULT_EMBEDDING_MODEL = "paraphrase-multilingual-MiniLM-L12-v2" | |
FALLBACK_EMBEDDING_MODEL = "sentence-transformers/all-MiniLM-L6-v2" | |
# Налаштування для індексування | |
CHUNK_SIZE = 2048 # Розмір чанка для розбиття документів | |
CHUNK_OVERLAP = 128 # Перекриття між чанками | |
SIMILARITY_TOP_K = 10 # Кількість найбільш релевантних документів для пошуку | |
# Додаткові налаштування для форсування CPU | |
FORCE_CPU = True | |
# Налаштування LLM | |
MAX_TOKENS = 8192 | |
# Виключені метадані | |
EXCLUDED_EMBED_METADATA_KEYS = ["node_info", "project"] # Метадані, які не використовуються для ембедингів | |
EXCLUDED_LLM_METADATA_KEYS = ["node_info", "project"] # Метадані, які не передаються в LLM | |
# Налаштування для гібридного пошуку | |
HYBRID_SEARCH_MODE = "reciprocal_rerank" # Режим гібридного пошуку (reciprocal_rerank, simple) | |
def get_metadata_csv(row, idx): | |
return { | |
"issue_key": row.get('Issue key', '') if pd.notna(row.get('Issue key', '')) else "", | |
"issue_type": row.get('Issue Type', '') if pd.notna(row.get('Issue Type', '')) else "", | |
"status": row.get('Status', '') if pd.notna(row.get('Status', '')) else "", | |
"priority": row.get('Priority', '') if pd.notna(row.get('Priority', '')) else "", | |
"assignee": row.get('Assignee', '') if pd.notna(row.get('Assignee', '')) else "", | |
"reporter": row.get('Reporter', '') if pd.notna(row.get('Reporter', '')) else "", | |
"created": str(row.get('Created', '')) if pd.notna(row.get('Created', '')) else "", | |
"updated": str(row.get('Updated', '')) if pd.notna(row.get('Updated', '')) else "", | |
"summary": row.get('Summary', '') if pd.notna(row.get('Summary', '')) else "", | |
"project": row.get('Project name', '') if pd.notna(row.get('Project name', '')) else "", | |
"project_key": row.get('Project key', '') if pd.notna(row.get('Project key', '')) else "", | |
"labels": row.get('Labels', '') if pd.notna(row.get('Labels', '')) else "", | |
"comment": row.get('Comment', '') if pd.notna(row.get('Comment', '')) else "", | |
"row_index": idx | |
} |