Business_Chatbot / config.yaml
Ancastal's picture
Update config.yaml
c47b36e verified
# Database Configuration
database:
path: "chatbot.db"
connection_string: "sqlite:///{path}"
default_suppliers:
- "TechMart"
- "Office Supplies Co"
- "Electronics Plus"
default_products:
- name: "USB drives"
category: "Electronics"
- name: "Office chairs"
category: "Furniture"
- name: "Laptops"
category: "Electronics"
- name: "Monitors"
category: "Electronics"
- name: "Keyboards"
category: "Electronics"
# OpenAI API Configuration
openai:
# Intent Classification
intent_classifier:
model: "gpt-4o-mini"
temperature: 0.1
max_tokens: 300
# Natural Language to SQL
nl_to_sql:
model: "gpt-4o-mini"
temperature: 0.1
max_tokens: 500
# SQL Explanation
sql_explanation:
model: "gpt-3.5-turbo"
temperature: 0.3
max_tokens: 200
# RAG Handler
rag_handler:
model: "gpt-4o-mini"
temperature: 0.3
max_tokens: 800
# Query Enhancement
query_enhancement:
model: "gpt-4o-mini"
temperature: 0.2
max_tokens: 100
# Transaction Clarifier
transaction_clarifier:
model: "gpt-4o-mini"
temperature: 0.3
max_tokens: 400
# Transaction Validation
transaction_validation:
model: "gpt-4o-mini"
temperature: 0.1
max_tokens: 300
# Vector Store Configuration
vector_store:
collection_name: "chatbot_events"
persistence_path: "./chroma_db"
embedding_model: "all-MiniLM-L6-v2"
# Search and Query Configuration
search:
# Default number of vector search results
vector_search_results: 8
# Default number of recent search results
recent_events_limit: 10
# Default limit for database queries
default_query_limit: 10
# Maximum SQL results to display
max_sql_results_display: 20
# Recent transactions display limit
recent_transactions_limit: 10
# Entity Extraction Configuration
entity_extraction:
spacy_model: "en_core_web_sm"
# Fallback classification keywords
purchase_keywords:
- "buy"
- "purchase"
- "acquire"
- "order"
- "procure"
sale_keywords:
- "sell"
- "sale"
- "sold"
- "revenue"
- "income"
# Business Logic Configuration
business_logic:
# Required fields for transaction types
required_fields:
purchase:
- "product"
- "quantity"
- "supplier"
- "unit_price"
sale:
- "product"
- "quantity"
- "customer"
- "unit_price"
# Cancellation keywords
cancellation_keywords:
- "cancel"
- "quit"
- "stop"
- "abort"
# Dangerous SQL keywords (for security)
dangerous_sql_keywords:
- "drop"
- "delete"
- "truncate"
- "alter"
- "create"
- "insert"
- "update"
# Application Settings
app:
# Enable/disable features
features:
vector_storage: true
intent_classification: true
entity_extraction: true
transaction_clarification: true
rag_search: true
# Logging configuration
logging:
level: "INFO"
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"