Spaces:
Running
Running
File size: 2,701 Bytes
4ad5efa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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
} |