53 lines
2.1 KiB
Python
53 lines
2.1 KiB
Python
# --- START OF FILE billing_bot.py ---
|
|
# Bot profile for the 'billing' channel.
|
|
# Contains configuration variables and a list of enabled tool *names*.
|
|
|
|
import logging
|
|
# import json # No longer needed here
|
|
# from typing import Dict, Any # No longer needed here
|
|
|
|
# --- Configuration constants for the Billing Bot profile ---
|
|
|
|
# Define the primary instructions for the LLM.
|
|
SYSTEM_PROMPT = """
|
|
You are Abot, a helpful AI assistant for First Step Internet, specifically assisting with billing-related queries in this channel.
|
|
Your purpose is to help with billing questions, look up account information (when tools are available), and support billing processes.
|
|
Be accurate, professional, and empathetic when dealing with billing issues.
|
|
Use the available tools when needed to gather information relevant to billing tasks.
|
|
Format your responses clearly.
|
|
Remember your Slack User ID is <@U08B3QR3C30>.
|
|
Today's date and the current channel ID are provided below for context.
|
|
"""
|
|
|
|
# Controls whether this bot profile queries Pinecone RAG for context.
|
|
ENABLE_RAG_QUERY: bool = True
|
|
|
|
# Controls whether messages *from* the channel(s) associated with this profile are inserted into Pinecone.
|
|
ENABLE_RAG_INSERT: bool = True
|
|
|
|
# Choose the Anthropic model to use.
|
|
MODEL = "claude-3-5-haiku-20241022" # Haiku is often a good balance
|
|
|
|
# Set the maximum number of tokens the LLM can generate.
|
|
MAX_TOKENS = 1024 # Default from template, adjust if needed
|
|
|
|
# Configure context lengths:
|
|
SLACK_HISTORY_LENGTH = 50 # Recent Slack messages from channel log file.
|
|
SLACK_RAG_HISTORY_LENGTH = 50 # Relevant historical messages retrieved via RAG.
|
|
MAX_HISTORY_LENGTH = 25 # LLM's conversational memory turns.
|
|
|
|
# A unique identifier string used in logging messages from this bot profile.
|
|
BOT_IDENTIFIER = "billing"
|
|
|
|
# --- Enabled Tools ---
|
|
# List the *string names* of tools this bot profile can use.
|
|
# These names MUST correspond to keys in GLOBAL_TOOL_REGISTRY in abot.py.
|
|
ENABLED_TOOL_NAMES = [
|
|
"get_weather",
|
|
"web_search",
|
|
# Add other billing-specific tool names here later, e.g.,
|
|
# "lookup_customer_invoice",
|
|
# "process_payment_link_request",
|
|
]
|
|
|
|
# --- END OF FILE billing_bot.py --- |