Files

1 line
88 KiB
JSON

{"repo": "axioma-ai-labs/nevron", "files": {"src/core/ui_config.py": {"76200c353a0556362965591faebe26ca160b01df": {"t": 1785674546.3073947, "n": 18546, "h": "c377d64f714cabe4", "c": "\"\"\"UI Configuration module for the Nevron dashboard.\n\nThis module provides a comprehensive configuration system for the dashboard UI,\nstoring settings in a JSON file (nevron_config.json). This allows users to\nconfigure the agent entirely through the UI without editing environment files.\n\nConfiguration Hierarchy (priority order):\n1. .env file (overrides everything) - for developer use\n2. nevron_config.json (UI-configured settings)\n3. Code defaults as fallback\n\"\"\"\n\nimport json\nfrom pathlib import Path\nfrom typing import Any, Dict, List, Optional\n\nfrom loguru import logger\nfrom pydantic import BaseModel, Field\n\n\n# Default config file path (relative to working directory)\nCONFIG_FILE_PATH = Path(\"./nevron_config.json\")\n\n\n# ============================================================================\n# Integration Credential Models\n# ============================================================================\n\n\nclass TwitterCredentials(BaseModel):\n \"\"\"Twitter API credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"Twitter API key\")\n api_secret_key: str = Field(default=\"\", description=\"Twitter API secret key\")\n access_token: str = Field(default=\"\", description=\"Twitter access token\")\n access_token_secret: str = Field(default=\"\", description=\"Twitter access token secret\")\n\n\nclass TelegramCredentials(BaseModel):\n \"\"\"Telegram bot credentials.\"\"\"\n\n bot_token: str = Field(default=\"\", description=\"Telegram bot token\")\n chat_id: str = Field(default=\"\", description=\"Telegram chat ID\")\n\n\nclass DiscordCredentials(BaseModel):\n \"\"\"Discord bot credentials.\"\"\"\n\n bot_token: str = Field(default=\"\", description=\"Discord bot token\")\n channel_id: str = Field(default=\"\", description=\"Discord channel ID\")\n\n\nclass SlackCredentials(BaseModel):\n \"\"\"Slack credentials.\"\"\"\n\n bot_token: str = Field(default=\"\", description=\"Slack bot token\")\n app_token: str = Field(default=\"\", description=\"Slack app token\")\n\n\nclass WhatsAppCredentials(BaseModel):\n \"\"\"WhatsApp credentials.\"\"\"\n\n id_instance: str = Field(default=\"\", description=\"WhatsApp instance ID\")\n api_token: str = Field(default=\"\", description=\"WhatsApp API token\")\n\n\nclass GitHubCredentials(BaseModel):\n \"\"\"GitHub credentials.\"\"\"\n\n token: str = Field(default=\"\", description=\"GitHub personal access token\")\n\n\nclass GoogleDriveCredentials(BaseModel):\n \"\"\"Google Drive credentials (simplified - full OAuth handled separately).\"\"\"\n\n enabled: bool = Field(default=False, description=\"Whether Google Drive is configured\")\n\n\nclass TavilyCredentials(BaseModel):\n \"\"\"Tavily search API credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"Tavily API key\")\n\n\nclass PerplexityCredentials(BaseModel):\n \"\"\"Perplexity API credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"Perplexity API key\")\n model: str = Field(default=\"llama-3.1-sonar-small-128k-online\", description=\"Perplexity model\")\n\n\nclass ShopifyCredentials(BaseModel):\n \"\"\"Shopify credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"Shopify API key\")\n password: str = Field(default=\"\", description=\"Shopify password\")\n store_name: str = Field(default=\"\", description=\"Shopify store name\")\n\n\nclass YouTubeCredentials(BaseModel):\n \"\"\"YouTube credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"YouTube API key\")\n playlist_id: str = Field(default=\"\", description=\"YouTube playlist ID\")\n\n\nclass SpotifyCredentials(BaseModel):\n \"\"\"Spotify credentials.\"\"\"\n\n client_id: str = Field(default=\"\", description=\"Spotify client ID\")\n client_secret: str = Field(default=\"\", description=\"Spotify client secret\")\n redirect_uri: str = Field(default=\"\", description=\"Spotify redirect URI\")\n\n\nclass LensCredentials(BaseModel):\n \"\"\"Lens Protocol credentials.\"\"\"\n\n api_key: str = Field(default=\"\", description=\"Lens API key\")\n profile_id: str = Field(default=\"\", description=\"Lens profile ID\")\n\n\nclass IntegrationsConfig(BaseModel):\n \"\"\"All integration credentials.\"\"\"\n\n twitter: TwitterCredentials = Field(default_factory=TwitterCredentials)\n telegram: TelegramCredentials = Field(default_factory=TelegramCredentials)\n discord: DiscordCredentials = Field(default_factory=DiscordCredentials)\n slack: SlackCredentials = Field(default_factory=SlackCredentials)\n whatsapp: WhatsAppCredentials = Field(default_factory=WhatsAppCredentials)\n github: GitHubCredentials = Field(default_factory=GitHubCredentials)\n google_drive: GoogleDriveCredentials = Field(default_factory=GoogleDriveCredentials)\n tavily: TavilyCredentials = Field(default_factory=TavilyCredentials)\n perplexity: PerplexityCredentials = Field(default_factory=PerplexityCredentials)\n shopify: ShopifyCredentials = Field(default_factory=ShopifyCredentials)\n youtube: YouTubeCredentials = Field(default_factory=YouTubeCredentials)\n spotify: SpotifyCredentials = Field(default_factory=SpotifyCredentials)\n lens: LensCredentials = Field(default_factory=LensCredentials)\n\n\n# ============================================================================\n# MCP Server Configuration\n# ============================================================================\n\n\nclass MCPServerUIConfig(BaseModel):\n \"\"\"MCP server configuration for UI.\"\"\"\n\n name: str = Field(..., description=\"Unique name for this server\")\n transport: str = Field(default=\"stdio\", description=\"Transport type (stdio, http, sse)\")\n command: Optional[str] = Field(default=None, description=\"Command for STDIO transport\")\n args: List[str] = Field(default_factory=list, description=\"Command arguments\")\n env: Dict[str, str] = Field(default_factory=dict, description=\"Environment variables\")\n url: Optional[str] = Field(default=None, description=\"URL for HTTP/SSE transport\")\n enabled: bool = Field(default=True, description=\"Whether server is enabled\")\n\n\n# ============================================================================\n# Agent Behavior Configuration\n# ============================================================================\n\n\nclass AgentBehaviorConfig(BaseModel):\n \"\"\"Agent behavior settings.\"\"\"\n\n rest_time: int = Field(default=300, description=\"Rest time between actions in seconds\")\n max_consecutive_failures: int = Field(default=3, description=\"Max failures before intervention\")\n verbosity: str = Field(\n default=\"normal\", description=\"Logging verbosity (quiet, normal, verbose)\"\n )\n\n\n# ============================================================================\n# Main UI Configuration Model\n# ============================================================================\n\n\nclass UIConfig(BaseModel):\n \"\"\"Comprehensive UI configuration model for dashboard settings.\n\n This contains all settings needed to configure and run the agent:\n - LLM provider, API key, and model selection\n - Agent personality, goal, and behavior settings\n - Enabled actions and their configuration\n - Integration credentials for all services\n - MCP server configurations\n \"\"\"\n\n # LLM Settings\n llm_provider: str = Field(\n default=\"openai\",\n description=\"LLM provider (openai, anthropic, xai, deepseek, qwen, venice)\",\n )\n llm_api_key: str = Field(default=\"\", description=\"API key for the selected LLM provider\")\n llm_model: str = Field(\n default=\"gpt-4o-mini\", description=\"Model name for the selected provider\"\n )\n\n # Agent Identity Settings\n agent_name: str = Field(default=\"Nevron\", description=\"The agent's name\")\n agent_personality: str = Field(\n default=\"You are a helpful AI assistant.\", description=\"The agent's personality description\"\n )\n agent_goal: str = Field(\n default=\"Help users accomplish their tasks effectively.\",\n description=\"The agent's primary goal\",\n )\n\n # Agent Behavior Settings\n agent_behavior: AgentBehaviorConfig = Field(\n default_factory=AgentBehaviorConfig, description=\"Agent behavior configuration\"\n )\n\n # Tools/Actions Configuration\n enabled_actions: List[str] = Field(\n default_factory=lambda: [\"idle\", \"analyze_news\"],\n description=\"List of enabled action names from AgentAction enum\",\n )\n\n # Integration Credentials\n integrations: IntegrationsConfig = Field(\n default_factory=IntegrationsConfig, description=\"Integration credentials for all services\"\n )\n\n # MCP Settings\n mcp_enabled: bool = Field(default=False, description=\"Enable MCP integration\")\n mcp_servers: List[MCPServerUIConfig] = Field(\n default_factory=list, description=\"List of MCP server configurations\"\n )\n\n # Legacy compatibility - keep mcp_servers dict support\n def model_post_init(self, __context: Any) -> None:\n \"\"\"Handle legacy mcp_servers dict format.\"\"\"\n pass\n\n\nclass IntegrationsConfigResponse(BaseModel):\n \"\"\"Response model for integrations with masked credentials.\"\"\"\n\n twitter: Dict[str, str]\n telegram: Dict[str, str]\n discord: Dict[str, str]\n slack: Dict[str, str]\n whatsapp: Dict[str, str]\n github: Dict[str, str]\n google_drive: Dict[str, Any]\n tavily: Dict[str, str]\n perplexity: Dict[str, str]\n shopify: Dict[str, str]\n youtube: Dict[str, str]\n spotify: Dict[str, str]\n lens: Dict[str, str]\n\n\nclass UIConfigResponse(BaseModel):\n \"\"\"Response model for UI config with masked API keys.\"\"\"\n\n # LLM Settings\n llm_provider: str\n llm_api_key_masked: str\n llm_model: str\n\n # Agent Identity\n agent_name: str\n agent_personality: str\n agent_goal: str\n\n # Agent Behavior\n agent_behavior: AgentBehaviorConfig\n\n # Enabled Actions\n enabled_actions: List[str]\n\n # Integrations (with masked credentials)\n integrations: IntegrationsConfigResponse\n\n # MCP Settings\n mcp_enabled: bool\n mcp_servers: List[MCPServerUIConfig]\n\n\ndef mask_api_key(key: str) -> str:\n \"\"\"Mask an API key, showing only the first 3 and last 4 characters.\n\n Args:\n key: The API key to mask\n\n Returns:\n Masked API key string (e.g., \"sk-...abc1\") or \"***\" if too short\n \"\"\"\n if not key:\n return \"\"\n if len(key) <= 8:\n return \"***\"\n return f\"{key[:3]}...{key[-4:]}\"\n\n\ndef mask_credentials(creds: BaseModel) -> Dict[str, Any]:\n \"\"\"Mask all string credentials in a credentials model.\n\n Args:\n creds: A credentials model instance\n\n Returns:\n Dictionary with masked credential values\n \"\"\"\n result = {}\n for field_name, field_value in creds.model_dump().items():\n if isinstance(field_value, str) and field_value:\n result[field_name] = mask_api_key(field_value)\n else:\n result[field_name] = field_value\n return result\n\n\ndef config_exists(config_path: Optional[Path] = None) -> bool:\n \"\"\"Check if the UI config file exists.\n\n Args:\n config_path: Optional custom path for the config file\n\n Returns:\n True if config file exists, False otherwise\n \"\"\"\n path = config_path or CONFIG_FILE_PATH\n return path.exists()\n\n\ndef load_ui_config(config_path: Optional[Path] = None) -> UIConfig:\n \"\"\"Load UI configuration from JSON file.\n\n Args:\n config_path: Optional custom path for the config file\n\n Returns:\n UIConfig instance with loaded values or defaults\n \"\"\"\n path = config_path or CONFIG_FILE_PATH\n\n if not path.exists():\n logger.info(f\"Config file not found at {path}, returning defaults\")\n return UIConfig()\n\n try:\n with open(path, \"r\") as f:\n data = json.load(f)\n logger.info(f\"Loaded UI config from {path}\")\n return UIConfig(**data)\n except json.JSONDecodeError as e:\n logger.error(f\"Failed to parse config file: {e}\")\n return UIConfig()\n except Exception as e:\n logger.error(f\"Failed to load config file: {e}\")\n return UIConfig()\n\n\ndef save_ui_config(config: UIConfig, config_path: Optional[Path] = None) -> bool:\n \"\"\"Save UI configuration to JSON file.\n\n Args:\n config: UIConfig instance to save\n config_path: Optional custom path for the config file\n\n Returns:\n True if save successful, False otherwise\n \"\"\"\n path = config_path or CONFIG_FILE_PATH\n\n try:\n with open(path, \"w\") as f:\n json.dump(config.model_dump(), f, indent=2)\n logger.info(f\"Saved UI config to {path}\")\n return True\n except Exception as e:\n logger.error(f\"Failed to save config file: {e}\")\n return False\n\n\ndef get_config_response(config: UIConfig) -> UIConfigResponse:\n \"\"\"Convert UIConfig to response format with masked API keys.\n\n Args:\n config: UIConfig instance\n\n Returns:\n UIConfigResponse with masked API keys\n \"\"\"\n # Mask all integration credentials\n masked_integrations = IntegrationsConfigResponse(\n twitter=mask_credentials(config.integrations.twitter),\n telegram=mask_credentials(config.integrations.telegram),\n discord=mask_credentials(config.integrations.discord),\n slack=mask_credentials(config.integrations.slack),\n whatsapp=mask_credentials(config.integrations.whatsapp),\n github=mask_credentials(config.integrations.github),\n google_drive=config.integrations.google_drive.model_dump(),\n tavily=mask_credentials(config.integrations.tavily),\n perplexity=mask_credentials(config.integrations.perplexity),\n shopify=mask_credentials(config.integrations.shopify),\n youtube=mask_credentials(config.integrations.youtube),\n spotify=mask_credentials(config.integrations.spotify),\n lens=mask_credentials(config.integrations.lens),\n )\n\n return UIConfigResponse(\n llm_provider=config.llm_provider,\n llm_api_key_masked=mask_api_key(config.llm_api_key),\n llm_model=config.llm_model,\n agent_name=config.agent_name,\n agent_personality=config.agent_personality,\n agent_goal=config.agent_goal,\n agent_behavior=config.agent_behavior,\n enabled_actions=config.enabled_actions,\n integrations=masked_integrations,\n mcp_enabled=config.mcp_enabled,\n mcp_servers=config.mcp_servers,\n )\n\n\n# Available models per provider (verified from official docs, December 2025)\n# Sources:\n# - OpenAI: platform.openai.com/docs/models\n# - Anthropic: docs.anthropic.com/en/docs/about-claude/models\n# - xAI: docs.x.ai/docs/models\n# - DeepSeek: api-docs.deepseek.com/quick_start/pricing\n# - Qwen: alibabacloud.com/help/en/model-studio\n# - Venice: docs.venice.ai/models/text\nAVAILABLE_MODELS: Dict[str, list[str]] = {\n \"openai\": [\n \"gpt-4o\",\n \"gpt-4o-mini\",\n \"gpt-4-turbo\",\n \"o1\",\n \"o1-mini\",\n \"o1-preview\",\n ],\n \"anthropic\": [\n \"claude-sonnet-4-20250514\",\n \"claude-opus-4-20250514\",\n \"claude-3-7-sonnet-20250219\",\n \"claude-3-5-sonnet-20241022\",\n \"claude-3-5-haiku-20241022\",\n \"claude-3-opus-20240229\",\n ],\n \"xai\": [\n \"grok-3\",\n \"grok-3-fast\",\n \"grok-2\",\n \"grok-2-vision\",\n ],\n \"deepseek\": [\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n ],\n \"qwen\": [\n \"qwen-max\",\n \"qwen-plus\",\n \"qwen-turbo\",\n \"qwen-long\",\n ],\n \"venice\": [\n \"llama-3.3-70b\",\n \"llama-3.2-3b\",\n \"qwen3-235b\",\n \"mistral-31-24b\",\n ],\n}\n\n\ndef get_available_models(provider: str) -> list[str]:\n \"\"\"Get list of available models for a provider.\n\n Args:\n provider: LLM provider name\n\n Returns:\n List of available model names\n \"\"\"\n return AVAILABLE_MODELS.get(provider.lower(), [])\n\n\ndef get_all_available_actions() -> List[Dict[str, Any]]:\n \"\"\"Get all available actions from AgentAction enum with metadata.\n\n Returns:\n List of action dictionaries with name, value, and category\n \"\"\"\n from src.core.defs import AgentAction\n\n # Group actions by category based on their prefix/type\n action_categories = {\n \"workflows\": [\"analyze_news\", \"check_signal\", \"idle\"],\n \"social_media\": [\n \"post_tweet\",\n \"listen_discord_messages\",\n \"send_discord_message\",\n \"send_telegram_message\",\n \"post_lens\",\n \"fetch_lens\",\n \"listen_whatsapp_messages\",\n \"send_whatsapp_message\",\n \"listen_slack_messages\",\n \"send_slack_message\",\n ],\n \"research\": [\"search_tavily\", \"ask_perplexity\", \"ask_coinstats\"],\n \"development\": [\n \"create_github_issue\",\n \"create_github_pr\",\n \"process_github_memories\",\n \"search_google_drive\",\n \"upload_google_drive\",\n ],\n \"ecommerce\": [\"get_shopify_product\", \"get_shopify_orders\", \"update_shopify_product\"],\n \"media\": [\n \"search_youtube_video\",\n \"retrieve_youtube_playlist\",\n \"search_spotify_song\",\n \"retrieve_spotify_playlist\",\n ],\n }\n\n # Create reverse mapping\n action_to_category = {}\n for category, actions in action_categories.items():\n for action in actions:\n action_to_category[action] = category\n\n result = []\n for agent_action in AgentAction:\n result.append(\n {\n \"name\": agent_action.name,\n \"value\": agent_action.value,\n \"category\": action_to_category.get(agent_action.value, \"other\"),\n }\n )\n\n return result\n\n\n# Action to required integration mapping\nACTION_INTEGRATION_MAP: Dict[str, str] = {\n \"post_tweet\": \"twitter\",\n \"send_telegram_message\": \"telegram\",\n \"listen_discord_messages\": \"discord\",\n \"send_discord_message\": \"discord\",\n \"listen_slack_messages\": \"slack\",\n \"send_slack_message\": \"slack\",\n \"listen_whatsapp_messages\": \"whatsapp\",\n \"send_whatsapp_message\": \"whatsapp\",\n \"post_lens\": \"lens\",\n \"fetch_lens\": \"lens\",\n \"search_tavily\": \"tavily\",\n \"ask_perplexity\": \"perplexity\",\n \"create_github_issue\": \"github\",\n \"create_github_pr\": \"github\",\n \"process_github_memories\": \"github\",\n \"search_google_drive\": \"google_drive\",\n \"upload_google_drive\": \"google_drive\",\n \"get_shopify_product\": \"shopify\",\n \"get_shopify_orders\": \"shopify\",\n \"update_shopify_product\": \"shopify\",\n \"search_youtube_video\": \"youtube\",\n \"retrieve_youtube_playlist\": \"youtube\",\n \"search_spotify_song\": \"spotify\",\n \"retrieve_spotify_playlist\": \"spotify\",\n}\n"}}, "docs/agent/llm.md": {"76200c353a0556362965591faebe26ca160b01df": {"t": 1785746498.4466293, "n": 8975, "h": "ea486a9881a7734c", "c": "# **LLM Integration**\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language, make decisions, and learn from feedback.\n\n## Overview\n\nNevron supports multiple LLM providers, giving you flexibility to choose the model that best fits your needs, budget, and performance requirements. The framework is designed with a modular architecture that allows easy switching between different providers.\n\n### Supported Providers\n\nNevron currently supports the following LLM providers:\n\n1. **OpenAI** - GPT-4o, GPT-4, GPT-3.5-Turbo models\n2. **Anthropic** - Claude 3 Opus, Claude 3 Sonnet, Claude 2 models\n3. **xAI** - Grok models\n4. **Llama** - Via multiple deployment options:\n - API (api.llama-api.com)\n - OpenRouter\n - Fireworks\n - Local deployment with Ollama\n5. **DeepSeek** - DeepSeek models\n6. **Qwen** - Qwen models\n7. **Venice** - Venice models\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` directory, which provides:\n\n- A unified interface for all LLM providers\n- Provider-specific API interaction modules\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n### Core Components\n\n#### 1. LLM Class\n\nThe `LLM` class in `src/llm/llm.py` serves as the main interface for generating responses:\n\n```python\nclass LLM:\n def __init__(self):\n self.provider = settings.LLM_PROVIDER\n \n async def generate_response(self, messages, **kwargs):\n # Add system message with agent's personality and goal if not present\n if not messages or messages[0].get(\"role\") != \"system\":\n system_message = {\n \"role\": \"system\",\n \"content\": f\"{settings.AGENT_PERSONALITY}\\n\\n{settings.AGENT_GOAL}\",\n }\n messages = [system_message] + messages\n \n # Route to appropriate provider\n if self.provider == LLMProviderType.OPENAI:\n return await call_openai(messages, **kwargs)\n elif self.provider == LLMProviderType.ANTHROPIC:\n return await call_anthropic(messages, **kwargs)\n # ... other providers\n```\n\n#### 2. Embeddings\n\nFor memory storage, the agent uses embedding models to generate vector representations of memories. These vectors are stored in a vector database (ChromaDB or Qdrant) for efficient retrieval and semantic search.\n\nNevron supports multiple embedding providers:\n\n- **OpenAI** - Using text-embedding-3-small/large models\n- **Llama API** - Using Llama models via API\n- **Local Llama** - Using locally deployed Llama models\n\n## Configuration\n\n### Basic Provider Selection\n\nTo select your LLM provider, set the `LLM_PROVIDER` environment variable in your `.env` file:\n\n```bash\n# Choose one of: openai, anthropic, xai, llama, deepseek, qwen, venice\nLLM_PROVIDER=openai\n```\n\n### Provider-Specific Configuration\n\n#### OpenAI\n\n```bash\n# Required\nOPENAI_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n```\n\n**Recommended Models:**\n- `gpt-4o` - Best performance, higher cost\n- `gpt-4o-mini` - Good balance of performance and cost\n- `gpt-3.5-turbo` - Fastest, lowest cost\n\n#### Anthropic\n\n```bash\n# Required\nANTHROPIC_API_KEY=your_api_key_here\n\n# Optional (default shown)\nANTHROPIC_MODEL=claude-2\n```\n\n**Recommended Models:**\n- `claude-3-opus-20240229` - Highest capability\n- `claude-3-sonnet-20240229` - Good balance\n- `claude-2` - Faster, lower cost\n\n#### xAI (Grok)\n\n```bash\n# Required\nXAI_API_KEY=your_api_key_here\n\n# Optional (default shown)\nXAI_MODEL=grok-2-latest\n```\n\n#### DeepSeek\n\n```bash\n# Required\nDEEPSEEK_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nDEEPSEEK_MODEL=deepseek-reasoner\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n```\n\n#### Qwen\n\n```bash\n# Required\nQWEN_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nQWEN_MODEL=qwen-max\nQWEN_API_BASE_URL=https://dashscope-intl.aliyuncs.com/compatible-mode/v1\n```\n\n#### Venice\n\n```bash\n# Required\nVENICE_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n```\n\n#### Llama\n\nLlama models can be accessed through various providers. First, set the main provider:\n\n```bash\nLLM_PROVIDER=llama\n```\n\nThen, configure the specific Llama provider:\n\n##### Option 1: Llama API\n\n```bash\n# Required\nLLAMA_PROVIDER=llama-api\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_API_BASE_URL=https://api.llama-api.com\nLLAMA_API_MODEL=llama3.1-70b\n```\n\n##### Option 2: OpenRouter\n\n```bash\n# Required\nLLAMA_PROVIDER=openrouter\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_OPENROUTER_URL=https://openrouter.ai/api/v1\nLLAMA_OPENROUTER_MODEL=meta-llama/llama-3.2-1b-instruct\n\n# Optional for rankings\nLLAMA_OPENROUTER_SITE_URL=your_site_url\nLLAMA_OPENROUTER_SITE_NAME=your_site_name\n```\n\n##### Option 3: Fireworks\n\n```bash\n# Required\nLLAMA_PROVIDER=fireworks\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_FIREWORKS_URL=https://api.fireworks.ai/inference\nLLAMA_MODEL_NAME=llama3-8b-8192\n```\n\n##### Option 4: Ollama (Local Deployment)\n\n```bash\n# Required\nLLAMA_PROVIDER=ollama\n\n# Optional (defaults shown)\nLLAMA_OLLAMA_URL=http://localhost:11434\nLLAMA_OLLAMA_MODEL=llama3.2:latest\n```\n\nFor Ollama, you'll need to:\n1. Install Ollama from [ollama.ai](https://ollama.ai)\n2. Pull your desired model: `ollama pull llama3:8b-instruct`\n3. Ensure Ollama is running before starting Nevron\n\n### Embedding Configuration\n\nFor memory storage, you need to configure the embedding provider:\n\n```bash\n# Choose one of: openai, llama_local, llama_api\nEMBEDDING_PROVIDER=openai\n```\n\n#### OpenAI Embeddings\n\n```bash\nEMBEDDING_PROVIDER=openai\nOPENAI_API_KEY=your_api_key_here\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n```\n\n#### Llama API Embeddings\n\n```bash\nEMBEDDING_PROVIDER=llama_api\nLLAMA_API_KEY=your_api_key_here\nLLAMA_API_BASE_URL=https://api.llama-api.com\n```\n\n#### Local Llama Embeddings\n\n```bash\nEMBEDDING_PROVIDER=llama_local\nLLAMA_MODEL_PATH=/path/to/your/local/llama/model\nLLAMA_EMBEDDING_MODEL=llama3.1-8b\nEMBEDDING_POOLING_TYPE=MEAN # Options: NONE, MEAN, CLS, LAST, RANK\n```\n\n## Docker Setup\n\nWhen using Docker Compose, you can easily configure Ollama as your LLM provider:\n\n```bash\n# In your .env file\nLLM_PROVIDER=llama\nLLAMA_PROVIDER=ollama\nLLAMA_OLLAMA_MODEL=llama3:8b-instruct\n```\n\nThe Docker Compose setup includes an Ollama container with a volume for model storage:\n\n```yaml\nollama:\n image: ollama/ollama:latest\n container_name: nevron-ollama\n hostname: nevron-ollama\n ports:\n - \"11434:11434\"\n volumes:\n - type: bind\n source: ${volumes_basedir:-./volumes}/ollama/models\n target: /root/.ollama\n```\n\n## Best Practices\n\n### 1. Provider Selection\n\n- **Development**: Use Ollama for local development to avoid API costs\n- **Production**: Use OpenAI or Anthropic for highest reliability and performance\n- **Cost-sensitive**: Consider Llama models via OpenRouter or Fireworks\n\n### 2. Token Management\n\n- Monitor and track token consumption across API calls\n- Implement rate limiting mechanisms to prevent exceeding quotas\n- Establish proper API quota management systems to maintain service availability\n\n### 3. Error Handling\n\n- Implement graceful fallback mechanisms when API calls fail\n- Set up automatic retry logic with exponential backoff\n- Maintain comprehensive error logging to track and debug issues\n\n### 4. Cost Optimization\n\n- Select appropriate model tiers based on task requirements\n- Implement response caching for frequently requested prompts\n- Track and analyze API usage patterns to optimize costs\n\n### 5. Security\n\n- Never commit API keys to version control\n- Use environment variables or secrets management for API keys\n- Regularly rotate API keys following security best practices\n\n## Troubleshooting\n\n### Common Issues\n\n1. **API Key Issues**\n - Ensure your API key is correctly set in the `.env` file\n - Verify the API key has the necessary permissions and quota\n\n2. **Connection Problems**\n - Check your network connection\n - Verify the API endpoint is accessible from your environment\n\n3. **Ollama Issues**\n - Ensure Ollama is running: `ollama list`\n - Verify the model is downloaded: `ollama pull llama3:8b-instruct`\n - Check Ollama logs: `docker logs nevron-ollama`\n\n4. **Model Selection**\n - Ensure you're using a model that exists for your chosen provider\n - Check for typos in model names\n\n## Future Enhancements\n\nWe're planning to add:\n- Support for additional LLM providers\n- Advanced prompt engineering capabilities\n- Fine-tuning support for custom models\n- Enhanced error handling and fallback mechanisms\n- Streaming responses for real-time interaction\n\n-----\n\nIf you have any questions or need further assistance, please refer to the [GitHub Discussions](https://github.com/axioma-ai-labs/nevron/discussions).\n"}, "7899b1b7770aeb6cdc4559e7795bacd5dbff1d7a": {"t": 1785764982.5077736, "n": 8975, "h": "ea486a9881a7734c", "c": "# **LLM Integration**\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language, make decisions, and learn from feedback.\n\n## Overview\n\nNevron supports multiple LLM providers, giving you flexibility to choose the model that best fits your needs, budget, and performance requirements. The framework is designed with a modular architecture that allows easy switching between different providers.\n\n### Supported Providers\n\nNevron currently supports the following LLM providers:\n\n1. **OpenAI** - GPT-4o, GPT-4, GPT-3.5-Turbo models\n2. **Anthropic** - Claude 3 Opus, Claude 3 Sonnet, Claude 2 models\n3. **xAI** - Grok models\n4. **Llama** - Via multiple deployment options:\n - API (api.llama-api.com)\n - OpenRouter\n - Fireworks\n - Local deployment with Ollama\n5. **DeepSeek** - DeepSeek models\n6. **Qwen** - Qwen models\n7. **Venice** - Venice models\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` directory, which provides:\n\n- A unified interface for all LLM providers\n- Provider-specific API interaction modules\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n### Core Components\n\n#### 1. LLM Class\n\nThe `LLM` class in `src/llm/llm.py` serves as the main interface for generating responses:\n\n```python\nclass LLM:\n def __init__(self):\n self.provider = settings.LLM_PROVIDER\n \n async def generate_response(self, messages, **kwargs):\n # Add system message with agent's personality and goal if not present\n if not messages or messages[0].get(\"role\") != \"system\":\n system_message = {\n \"role\": \"system\",\n \"content\": f\"{settings.AGENT_PERSONALITY}\\n\\n{settings.AGENT_GOAL}\",\n }\n messages = [system_message] + messages\n \n # Route to appropriate provider\n if self.provider == LLMProviderType.OPENAI:\n return await call_openai(messages, **kwargs)\n elif self.provider == LLMProviderType.ANTHROPIC:\n return await call_anthropic(messages, **kwargs)\n # ... other providers\n```\n\n#### 2. Embeddings\n\nFor memory storage, the agent uses embedding models to generate vector representations of memories. These vectors are stored in a vector database (ChromaDB or Qdrant) for efficient retrieval and semantic search.\n\nNevron supports multiple embedding providers:\n\n- **OpenAI** - Using text-embedding-3-small/large models\n- **Llama API** - Using Llama models via API\n- **Local Llama** - Using locally deployed Llama models\n\n## Configuration\n\n### Basic Provider Selection\n\nTo select your LLM provider, set the `LLM_PROVIDER` environment variable in your `.env` file:\n\n```bash\n# Choose one of: openai, anthropic, xai, llama, deepseek, qwen, venice\nLLM_PROVIDER=openai\n```\n\n### Provider-Specific Configuration\n\n#### OpenAI\n\n```bash\n# Required\nOPENAI_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n```\n\n**Recommended Models:**\n- `gpt-4o` - Best performance, higher cost\n- `gpt-4o-mini` - Good balance of performance and cost\n- `gpt-3.5-turbo` - Fastest, lowest cost\n\n#### Anthropic\n\n```bash\n# Required\nANTHROPIC_API_KEY=your_api_key_here\n\n# Optional (default shown)\nANTHROPIC_MODEL=claude-2\n```\n\n**Recommended Models:**\n- `claude-3-opus-20240229` - Highest capability\n- `claude-3-sonnet-20240229` - Good balance\n- `claude-2` - Faster, lower cost\n\n#### xAI (Grok)\n\n```bash\n# Required\nXAI_API_KEY=your_api_key_here\n\n# Optional (default shown)\nXAI_MODEL=grok-2-latest\n```\n\n#### DeepSeek\n\n```bash\n# Required\nDEEPSEEK_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nDEEPSEEK_MODEL=deepseek-reasoner\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n```\n\n#### Qwen\n\n```bash\n# Required\nQWEN_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nQWEN_MODEL=qwen-max\nQWEN_API_BASE_URL=https://dashscope-intl.aliyuncs.com/compatible-mode/v1\n```\n\n#### Venice\n\n```bash\n# Required\nVENICE_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n```\n\n#### Llama\n\nLlama models can be accessed through various providers. First, set the main provider:\n\n```bash\nLLM_PROVIDER=llama\n```\n\nThen, configure the specific Llama provider:\n\n##### Option 1: Llama API\n\n```bash\n# Required\nLLAMA_PROVIDER=llama-api\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_API_BASE_URL=https://api.llama-api.com\nLLAMA_API_MODEL=llama3.1-70b\n```\n\n##### Option 2: OpenRouter\n\n```bash\n# Required\nLLAMA_PROVIDER=openrouter\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_OPENROUTER_URL=https://openrouter.ai/api/v1\nLLAMA_OPENROUTER_MODEL=meta-llama/llama-3.2-1b-instruct\n\n# Optional for rankings\nLLAMA_OPENROUTER_SITE_URL=your_site_url\nLLAMA_OPENROUTER_SITE_NAME=your_site_name\n```\n\n##### Option 3: Fireworks\n\n```bash\n# Required\nLLAMA_PROVIDER=fireworks\nLLAMA_API_KEY=your_api_key_here\n\n# Optional (defaults shown)\nLLAMA_FIREWORKS_URL=https://api.fireworks.ai/inference\nLLAMA_MODEL_NAME=llama3-8b-8192\n```\n\n##### Option 4: Ollama (Local Deployment)\n\n```bash\n# Required\nLLAMA_PROVIDER=ollama\n\n# Optional (defaults shown)\nLLAMA_OLLAMA_URL=http://localhost:11434\nLLAMA_OLLAMA_MODEL=llama3.2:latest\n```\n\nFor Ollama, you'll need to:\n1. Install Ollama from [ollama.ai](https://ollama.ai)\n2. Pull your desired model: `ollama pull llama3:8b-instruct`\n3. Ensure Ollama is running before starting Nevron\n\n### Embedding Configuration\n\nFor memory storage, you need to configure the embedding provider:\n\n```bash\n# Choose one of: openai, llama_local, llama_api\nEMBEDDING_PROVIDER=openai\n```\n\n#### OpenAI Embeddings\n\n```bash\nEMBEDDING_PROVIDER=openai\nOPENAI_API_KEY=your_api_key_here\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n```\n\n#### Llama API Embeddings\n\n```bash\nEMBEDDING_PROVIDER=llama_api\nLLAMA_API_KEY=your_api_key_here\nLLAMA_API_BASE_URL=https://api.llama-api.com\n```\n\n#### Local Llama Embeddings\n\n```bash\nEMBEDDING_PROVIDER=llama_local\nLLAMA_MODEL_PATH=/path/to/your/local/llama/model\nLLAMA_EMBEDDING_MODEL=llama3.1-8b\nEMBEDDING_POOLING_TYPE=MEAN # Options: NONE, MEAN, CLS, LAST, RANK\n```\n\n## Docker Setup\n\nWhen using Docker Compose, you can easily configure Ollama as your LLM provider:\n\n```bash\n# In your .env file\nLLM_PROVIDER=llama\nLLAMA_PROVIDER=ollama\nLLAMA_OLLAMA_MODEL=llama3:8b-instruct\n```\n\nThe Docker Compose setup includes an Ollama container with a volume for model storage:\n\n```yaml\nollama:\n image: ollama/ollama:latest\n container_name: nevron-ollama\n hostname: nevron-ollama\n ports:\n - \"11434:11434\"\n volumes:\n - type: bind\n source: ${volumes_basedir:-./volumes}/ollama/models\n target: /root/.ollama\n```\n\n## Best Practices\n\n### 1. Provider Selection\n\n- **Development**: Use Ollama for local development to avoid API costs\n- **Production**: Use OpenAI or Anthropic for highest reliability and performance\n- **Cost-sensitive**: Consider Llama models via OpenRouter or Fireworks\n\n### 2. Token Management\n\n- Monitor and track token consumption across API calls\n- Implement rate limiting mechanisms to prevent exceeding quotas\n- Establish proper API quota management systems to maintain service availability\n\n### 3. Error Handling\n\n- Implement graceful fallback mechanisms when API calls fail\n- Set up automatic retry logic with exponential backoff\n- Maintain comprehensive error logging to track and debug issues\n\n### 4. Cost Optimization\n\n- Select appropriate model tiers based on task requirements\n- Implement response caching for frequently requested prompts\n- Track and analyze API usage patterns to optimize costs\n\n### 5. Security\n\n- Never commit API keys to version control\n- Use environment variables or secrets management for API keys\n- Regularly rotate API keys following security best practices\n\n## Troubleshooting\n\n### Common Issues\n\n1. **API Key Issues**\n - Ensure your API key is correctly set in the `.env` file\n - Verify the API key has the necessary permissions and quota\n\n2. **Connection Problems**\n - Check your network connection\n - Verify the API endpoint is accessible from your environment\n\n3. **Ollama Issues**\n - Ensure Ollama is running: `ollama list`\n - Verify the model is downloaded: `ollama pull llama3:8b-instruct`\n - Check Ollama logs: `docker logs nevron-ollama`\n\n4. **Model Selection**\n - Ensure you're using a model that exists for your chosen provider\n - Check for typos in model names\n\n## Future Enhancements\n\nWe're planning to add:\n- Support for additional LLM providers\n- Advanced prompt engineering capabilities\n- Fine-tuning support for custom models\n- Enhanced error handling and fallback mechanisms\n- Streaming responses for real-time interaction\n\n-----\n\nIf you have any questions or need further assistance, please refer to the [GitHub Discussions](https://github.com/axioma-ai-labs/nevron/discussions).\n"}, "8e6aef3eae60cc525687a852d7fbddc8231f32f2": {"t": 1785764984.027539, "n": 3001, "h": "9fb80d237fc11392", "c": "# **LLM Integration**\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language.\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` directory, which provides:\n\n- API interaction with OpenAI/Anthropic/xAI models\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n## Overview\n\n### 1. Embeddings\n\nFor memory storage, the agent uses OpenAI's embedding models to generate vector representations of the memories. These vectors are then stored in a vector database for efficient retrieval and semantic search. To generate embeddings, the agent uses the `src/llm/embeddings.py` module.\n\nFor embeddings generation we recommend using OpenAI's [`text-embedding-3-large`](https://openai.com/index/new-embedding-models-and-api-updates/) model.\n\n### 2. Response Processing & Generation\n\nThe agent uses the LLM class to generate responses through different providers. The `src/llm/llm.py` module provides:\n\n- Unified interface for multiple LLM providers through the `LLM` class\n- Automatic system message injection with agent personality and goals\n- Async response generation via `generate_response()` method\n- Support for additional parameters like model and temperature\n- OpenAI client initialization helper via `get_oai_client()`\n\n-----\n\n## Configuration\n\nCurrently, the agent is configured to use OpenAI's `gpt-4o` model, but it can be easily configured to use other models (e.g. `gpt-4o-mini`, `gpt-4`, Anthropic's models like `claude-3-5-sonnet` or xAI's `grok-2-latest` model).\n\n### Environment Variables\nTo choose model of your choice, set the following environment variables:\n```\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4 # or other supported models (e.g. gpt-4o-mini, gpt-4o, claude-3-5-sonnet, grok-2-latest)\nOPENAI_EMBEDDING_MODEL=text-embedding-3-large # or other supported embedding models\n```\n\n-----\n\n## Best Practices\n\n1. **Token Management**\n Monitor and track token consumption across API calls. Implement rate limiting mechanisms to prevent exceeding quotas. Establish proper API quota management systems to maintain service availability.\n\n2. **Error Handling**\n Implement graceful fallback mechanisms when API calls fail. Set up automatic retry logic with exponential backoff. Maintain comprehensive error logging to track and debug issues.\n\n3. **Cost Optimization**\n Select appropriate model tiers based on task requirements. Implement response caching for frequently requested prompts. Track and analyze API usage patterns to optimize costs.\n\n-----\n\n## Future Enhancements\n\nWe're planning to add support for additional LLM providers, advanced prompt engineering, fine-tuning capabilities, and enhanced error handling in the nearest future.\n\n-----\n\nIf you have any questions or need further assistance, please refer to the [GitHub Discussions](https://github.com/axioma-ai-labs/nevron/discussions).\n"}, "b3c9fc735b194bfa6dcb11a614e34c45e1e07433": {"t": 1785764985.2199736, "n": 2965, "h": "f6fc481da5f27383", "c": "# **LLM Integration**\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language.\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` directory, which provides:\n\n- API interaction with OpenAI/Anthropic models\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n## Overview\n\n### 1. Embeddings\n\nFor memory storage, the agent uses OpenAI's embedding models to generate vector representations of the memories. These vectors are then stored in a vector database for efficient retrieval and semantic search. To generate embeddings, the agent uses the `src/llm/embeddings.py` module.\n\nFor embeddings generation we recommend using OpenAI's [`text-embedding-3-large`](https://openai.com/index/new-embedding-models-and-api-updates/) model.\n\n### 2. Response Processing & Generation\n\nThe agent uses the LLM class to generate responses through different providers (currently supported: OpenAI or Anthropic). The `src/llm/llm.py` module provides:\n\n- Unified interface for multiple LLM providers through the `LLM` class\n- Automatic system message injection with agent personality and goals\n- Async response generation via `generate_response()` method\n- Support for additional parameters like model and temperature\n- OpenAI client initialization helper via `get_oai_client()`\n\n-----\n\n## Configuration\n\nCurrently, the agent is configured to use OpenAI's `gpt-4o` model, but it can be easily configured to use other models (e.g. `gpt-4o-mini`, `gpt-4`, as well as Anthropic's models like `claude-3-5-sonnet` model).\n\n### Environment Variables\nTo choose model of your choice, set the following environment variables:\n```\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4 # or other supported models\nOPENAI_EMBEDDING_MODEL=text-embedding-3-large # or other supported embedding models\n```\n\n-----\n\n## Best Practices\n\n1. **Token Management**\n Monitor and track token consumption across API calls. Implement rate limiting mechanisms to prevent exceeding quotas. Establish proper API quota management systems to maintain service availability.\n\n2. **Error Handling**\n Implement graceful fallback mechanisms when API calls fail. Set up automatic retry logic with exponential backoff. Maintain comprehensive error logging to track and debug issues.\n\n3. **Cost Optimization**\n Select appropriate model tiers based on task requirements. Implement response caching for frequently requested prompts. Track and analyze API usage patterns to optimize costs.\n\n-----\n\n## Future Enhancements\n\nWe're planning to add support for additional LLM providers, advanced prompt engineering, fine-tuning capabilities, and enhanced error handling in the nearest future.\n\n-----\n\nIf you have any questions or need further assistance, please refer to the [GitHub Discussions](https://github.com/axioma-ai-labs/nevron/discussions).\n"}, "11877c55da9410653927a3e86a9700821cba917b": {"t": 1785764986.8146987, "n": 3035, "h": "9305c3b19b6da037", "c": "# **LLM Integration**\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language.\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` module, which provides:\n\n- API interaction with OpenAI/Anthropic models\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n## Overview\n\n### 1. Embeddings\n\nFor memory storage, the agent uses OpenAI's embedding models to generate vector representations of the memories. These vectors are then stored in a vector database for efficient retrieval and semantic search. To generate embeddings, the agent uses the `src/llm/embeddings.py` module.\n\nFor embeddings generation we recommend using OpenAI's [`text-embedding-3-large`](https://openai.com/index/new-embedding-models-and-api-updates/) model.\n\n### 2. Response Processing & Generation\n\nThe agent uses the LLM class to generate responses through different providers (currently supported: OpenAI or Anthropic). The `src/llm/llm.py` module provides:\n\n- Unified interface for multiple LLM providers through the `LLM` class\n- Automatic system message injection with agent personality and goals\n- Async response generation via `generate_response()` method\n- Support for additional parameters like model and temperature\n- OpenAI client initialization helper via `get_oai_client()`\n\n-----\n\n## Configuration\n\nCurrently, the agent is configured to use OpenAI's `gpt-4o` model, but it can be easily configured to use other models (e.g. `gpt-4o-mini`, `gpt-4`, as well as Anthropic's models like `claude-3-5-sonnet` model).\n\n### Environment Variables\nTo choose model of your choice, set the following environment variables:\n```\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4 # or other supported models\nOPENAI_EMBEDDING_MODEL=text-embedding-3-large # or other supported embedding models\n```\n\n-----\n\n## Best Practices\n\n1. **Token Management**\n Monitor and track token consumption across API calls. Implement rate limiting mechanisms to prevent exceeding quotas. Establish proper API quota management systems to maintain service availability.\n\n2. **Error Handling**\n Implement graceful fallback mechanisms when API calls fail. Set up automatic retry logic with exponential backoff. Maintain comprehensive error logging to track and debug issues.\n\n3. **Cost Optimization**\n Select appropriate model tiers based on task requirements. Implement response caching for frequently requested prompts. Track and analyze API usage patterns to optimize costs.\n\n-----\n\n## Future Enhancements\n\nWe're planning to add support for additional LLM providers, advanced prompt engineering, fine-tuning capabilities, and enhanced error handling in the nearest future.\n\nStay tuned for updates! ⚡️\n\n-----\n\nIf you have any questions or need further assistance, please refer to the [FAQ](faq.md) or initiate a discussion on our [GitHub Discussions](https://github.com/axioma-ai-labs/nevron/discussions)."}, "51feadbbcd1d27ff46b0d0e545a72302a7a27e3f": {"t": 1785764988.378356, "n": 2828, "h": "dd37c4a910110e64", "c": "# LLM Integration\n\nLarge Language Models are the backbone of the Autonomous Agent. They are the core component that allows the agent to understand and respond to natural language.\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` module, which provides:\n\n- API interaction with OpenAI/Anthropic models\n- Embeddings generation for memory storage\n- Context management\n- Response processing & generation\n\n## Overview\n\n### 1. Embeddings\n\nFor memory storage, the agent uses OpenAI's embedding models to generate vector representations of the memories. These vectors are then stored in a vector database for efficient retrieval and semantic search. To generate embeddings, the agent uses the `src/llm/embeddings.py` module.\n\nFor embeddings generation we recommend using OpenAI's [`text-embedding-3-large`](https://openai.com/index/new-embedding-models-and-api-updates/) model.\n\n### 2. Response Processing & Generation\n\nThe agent uses the LLM class to generate responses through different providers (currently supported: OpenAI or Anthropic). The `src/llm/llm.py` module provides:\n\n- Unified interface for multiple LLM providers through the `LLM` class\n- Automatic system message injection with agent personality and goals\n- Async response generation via `generate_response()` method\n- Support for additional parameters like model and temperature\n- OpenAI client initialization helper via `get_oai_client()`\n\n-----\n\n## Configuration\n\nCurrently, the agent is configured to use OpenAI's `gpt-4o` model, but it can be easily configured to use other models (e.g. `gpt-4o-mini`, `gpt-4`, as well as Anthropic's models like `claude-3-5-sonnet` model).\n\n### Environment Variables\nTo choose model of your choice, set the following environment variables:\n```\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4 # or other supported models\nOPENAI_EMBEDDING_MODEL=text-embedding-3-large # or other supported embedding models\n```\n\n-----\n\n## Best Practices\n\n1. **Token Management**\n Monitor and track token consumption across API calls. Implement rate limiting mechanisms to prevent exceeding quotas. Establish proper API quota management systems to maintain service availability.\n\n2. **Error Handling**\n Implement graceful fallback mechanisms when API calls fail. Set up automatic retry logic with exponential backoff. Maintain comprehensive error logging to track and debug issues.\n\n3. **Cost Optimization**\n Select appropriate model tiers based on task requirements. Implement response caching for frequently requested prompts. Track and analyze API usage patterns to optimize costs.\n\n-----\n\n## Future Enhancements\n\nWe're planning to add support for additional LLM providers, advanced prompt engineering, fine-tuning capabilities, and enhanced error handling in the nearest future.\n\nStay tuned for updates! ⚡️\n"}, "159ab99cfe29a9e562d63f55550a9975d13e5c86": {"t": 1785764990.376757, "n": 1753, "h": "7825dee36219be4f", "c": "# LLM Integration\n\n## Overview\n\nThe autonomous agent uses OpenAI's language models for intelligent decision-making and natural language processing capabilities.\n\n## Implementation\n\nThe LLM integration is primarily handled through the `src/llm` module, which provides:\n- API interaction with OpenAI\n- Embeddings generation\n- Context management\n- Response processing\n\n## Key Features\n\n### Embeddings\n- Uses OpenAI's embedding models\n- Generates vector representations for memory storage\n- Enables semantic search in the memory module\n- Located in `src/llm/embeddings.py`\n\n### Context Management\n- Maintains conversation history\n- Handles token limits\n- Manages prompt engineering\n- Ensures consistent agent behavior\n\n## Usage in Components\n\n### Memory Module\n- Generates embeddings for storing memories\n- Enables semantic similarity search\n- Helps in context retrieval\n\n### Workflows\n- Natural language understanding\n- Task interpretation\n- Response generation\n- Decision support\n\n## Configuration\n\n### Environment Variables\nRequired environment variables for LLM integration:\n```\nOPENAI_API_KEY=your-api-key\nOPENAI_MODEL=gpt-4 # or other supported models\n```\n\n### Model Selection\n- Default: GPT-4\n- Configurable through environment variables\n- Supports different OpenAI models\n\n## Best Practices\n\n1. **Token Management**\n - Monitor token usage\n - Implement rate limiting\n - Handle API quotas\n\n2. **Error Handling**\n - Graceful fallbacks\n - Retry mechanisms\n - Error logging\n\n3. **Cost Optimization**\n - Use appropriate model tiers\n - Implement caching where possible\n - Monitor API usage\n\n## Future Enhancements\n\n- Support for additional LLM providers\n- Advanced prompt engineering\n- Fine-tuning capabilities\n- Enhanced error handling\n"}}, ".env.dev": {"76200c353a0556362965591faebe26ca160b01df": {"t": 1785746726.4582226, "n": 1929, "h": "a5db6beb57540fb4", "c": "# === General settings ===\n\nENVIRONMENT=development\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\nDEEPSEEK_API_KEY=\nDEEPSEEK_MODEL=deepseek-chat\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n\nVENICE_API_KEY=\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n\nEMBEDDING_PROVIDER=\nLLAMA_MODEL_PATH=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_MODEL=\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "600951b01715fb7e9b7bdd513d15af32e50ec39f": {"t": 1785764983.0724857, "n": 1929, "h": "a5db6beb57540fb4", "c": "# === General settings ===\n\nENVIRONMENT=development\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\nDEEPSEEK_API_KEY=\nDEEPSEEK_MODEL=deepseek-chat\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n\nVENICE_API_KEY=\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n\nEMBEDDING_PROVIDER=\nLLAMA_MODEL_PATH=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_MODEL=\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "b5896b4b3e51ab2d695fcb02cc579a3aa8a1eee4": {"t": 1785764985.087701, "n": 1930, "h": "23f4e895daab502d", "c": "# === General settings ===\n\nENVIRONMENT=development\n\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\nDEEPSEEK_API_KEY=\nDEEPSEEK_MODEL=deepseek-chat\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n\nVENICE_API_KEY=\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n\nEMBEDDING_PROVIDER=\nLLAMA_MODEL_PATH=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_MODEL=\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "7899b1b7770aeb6cdc4559e7795bacd5dbff1d7a": {"t": 1785764986.5061715, "n": 2157, "h": "b7f2dfe0000fda8b", "c": "# === General settings ===\n\nENVIRONMENT=development\n\n\n<<<<<<< HEAD\n\n\n\n=======\n>>>>>>> e4f134c (Integrate llama embeddings (#116))\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\nDEEPSEEK_API_KEY=\nDEEPSEEK_MODEL=deepseek-chat\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n\n<<<<<<< HEAD\nVENICE_API_KEY=\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n\n\n=======\n>>>>>>> e4f134c (Integrate llama embeddings (#116))\n\nEMBEDDING_PROVIDER=\nLLAMA_MODEL_PATH=\n\n\n<<<<<<< HEAD\n\n=======\n>>>>>>> e4f134c (Integrate llama embeddings (#116))\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_MODEL=\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "2a453656d0a2ee8e7b41925a2f8b13c2fd4e70c1": {"t": 1785764987.9915981, "n": 1938, "h": "2bd8896f634989a3", "c": "# === General settings ===\n\nENVIRONMENT=development\n\n\n\n\n\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\nDEEPSEEK_API_KEY=\nDEEPSEEK_MODEL=deepseek-chat\nDEEPSEEK_API_BASE_URL=https://api.deepseek.com\n\nVENICE_API_KEY=\nVENICE_MODEL=venice-2-13b\nVENICE_API_BASE_URL=https://api.venice.ai/api/v1\n\n\n\nEMBEDDING_PROVIDER=\nLLAMA_MODEL_PATH=\n\n\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_MODEL=\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "b92da0063cfae715477a202c94c2bb29ef61de6e": {"t": 1785764989.7620645, "n": 1795, "h": "e53783167fe5970e", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID=\n\n# Github\nGITHUB_TOKEN="}, "8836bb6f3c9cf09770d69e63b61219ff9b6996e7": {"t": 1785764991.520979, "n": 1771, "h": "ff29460d35184bcf", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI=\n\n# Lens protocol settings\nLENS_API_KEY=\nLENS_PROFILE_ID="}, "874d11b32baaeca3687d38bcf4b8632540c07a39": {"t": 1785764993.1772797, "n": 1714, "h": "5d0f68583d17a467", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= \n\n# Spotify settings\nSPOTIFY_CLIENT_ID=\nSPOTIFY_CLIENT_SECRET=\nSPOTIFY_REDIRECT_URI="}, "d6f7f8e475adfb90d506ad877137668d08dee04a": {"t": 1785764994.9233134, "n": 1630, "h": "179873d6d7a3ede1", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY=\n\n# Slack settings\nSLACK_BOT_TOKEN=\nSLACK_APP_TOKEN= "}, "1bf3d90477e32b64c8c2ae82907f19cd313f762f": {"t": 1785764996.2677035, "n": 1577, "h": "0eb9ce0caed3775a", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME=\n\n# Tavily settings\nTAVILY_API_KEY="}, "b685c7492cb505e4685506aeecc4d287a9f06acb": {"t": 1785764998.1319509, "n": 1542, "h": "804bc2be7caff7d2", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n\n# Discord settings\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n# YouTube settings\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n# WhatsApp settings\nWHATSAPP_API_KEY=\nWHATSAPP_PHONE_NUMBER=\n\n# Shopify settings\nSHOPIFY_API_KEY=\nSHOPIFY_PASSWORD=\nSHOPIFY_STORE_NAME="}, "d9cd5076a5f442b5e78e88913daff6c9ded13285": {"t": 1785764999.879734, "n": 1415, "h": "55155a3f4ebe9cad", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=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\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Discord\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n\n#: YouTube\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n\n#: WhatsApp \nWHATSAPP_ID_INSTANCE=\nWHATSAPP_API_TOKEN=\n"}, "e10ecea34add5792711f1c2f18c390baa0f1a8ae": {"t": 1785765001.4500513, "n": 1359, "h": "b054a444fe7be837", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=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\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Discord\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n\n\n#: YouTube\nYOUTUBE_API_KEY=\nYOUTUBE_PLAYLIST_ID=\n"}, "4c7364a9e981d6fc7bd5b543c8ef9a9dd65ffb04": {"t": 1785765002.8356369, "n": 1308, "h": "625059a793bebd01", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=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\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Discord\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=0\n"}, "aa73ad91867f5cdae51ade9e4fe1063698df8dbc": {"t": 1785765004.082722, "n": 1307, "h": "524d2ae2fa973e98", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=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\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Discord\nDISCORD_BOT_TOKEN=\nDISCORD_CHANNEL_ID=\n"}, "8e6aef3eae60cc525687a852d7fbddc8231f32f2": {"t": 1785765005.7894516, "n": 1287, "h": "7c370ad5ccbf9a62", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\nXAI_MODEL=grok-2-latest\nXAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "f5f5f01ef975187d710c6c874904df4dee7bdc35": {"t": 1785765007.2909882, "n": 1249, "h": "9cc48beb08adb93c", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a Nevron, a financial analyst in crypto space. You are excellent in crypto and blockchain technology and your goal is to help people understand the crypto space better and avoid scams. You are very friendly, approachable and helpful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_API_KEY=\n\n# === Third-party services settings ===\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Nevron\n\n# Coinstats\nCOINSTATS_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "5af9b4b6138b07f3069e7e73c0b36660dc9e7ce8": {"t": 1785765009.348748, "n": 1172, "h": "22233c511cae257c", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\nAGENT_REST_TIME=300\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\n\nOPENAI_API_KEY=\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\nNEWS_CATEGORY_LIST=[Finance, Regulatory, Market capitalzation, Technical analysis, Price movements]\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "bb18c2774b50d574ac579ac4e203b51fe0c90dd6": {"t": 1785765011.5374892, "n": 1263, "h": "e71e25fab079a23b", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\nPERPLEXITY_NEWS_PROMPT=Search for the latest cryptocurrency news: Neurobro\nNEWS_CATEGORY_LIST=[Finance, Regulatory, Market capitalzation, Technical analysis, Price movements]\n\nOPENAI_API_KEY=\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=[]\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Agent\nAGENT_PERSONALITY=\nAGENT_GOAL=\nAGENT_REST_TIME=\n"}, "be9d1fcf140fdf784b9b6a03c2cf80f68ece5894": {"t": 1785765013.5205564, "n": 315, "h": "a398c2e388a079fa", "c": "ENVIRONMENT=production\n\n# OpenAI\nOPENAI_API_KEY=\n\n# Perplexity\nPERPLEXITY_API_KEY=\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n\n# Agent\nAGENT_PERSONALITY=\nAGENT_GOAL=\nAGENT_REST_TIME=\n"}, "af0cc2a463ea01ca95fe5f9bce0ff58b01373950": {"t": 1785765014.8157043, "n": 346, "h": "a01dfc7a7cd9b229", "c": "ENVIRONMENT=production\n\n# OpenAI\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\n\n# Perplexity\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=https://api.perplexity.ai/chat/completions\n\n# Telegram\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\n\n# Twitter\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "9f5db0b9ec586eba855f9fc5e5feb3e1e86f97d7": {"t": 1785765016.0803185, "n": 1087, "h": "03c730b93c59f6b0", "c": "# === General settings ===\n\nENVIRONMENT=development\n\nPERSISTENT_Q_TABLE_PATH=persistent_q_table.json\n\nPLANNING_ALPHA=0.1\nPLANNING_GAMMA=0.95\nPLANNING_EPSILON=0.1\n\n# === Memory module settings ===\n\nMEMORY_COLLECTION_NAME=agent_memory\nMEMORY_HOST=localhost\nMEMORY_PORT=6333\nMEMORY_VECTOR_SIZE=1536\n\n# === Agent Personality settings ===\n\nAGENT_PERSONALITY=You are a financial analyst. You are given a news article and some context. You need to analyze the news and provide insights. You are very naive and trustful. You are very optimistic and believe in the future of humanity.\nAGENT_GOAL=Your goal is to analyze the news and provide insights.\n\n# === LLMs settings ===\n\nLLM_PROVIDER=openai\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "263d10ffad40456b899b046f6597b7523b777339": {"t": 1785765017.6073625, "n": 423, "h": "a958765c4b00b5ab", "c": "ENVIRONMENT=development\n\nOPENAI_API_KEY=\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_EMBEDDING_MODEL=text-embedding-3-small\n\nANTHROPIC_API_KEY=\nANTHROPIC_MODEL=claude-3-5-sonnet-20240620\n\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "a6aaea863f637773b3fbb3f1cec52d862f1bad4e": {"t": 1785765018.971484, "n": 303, "h": "66ba607be70f0265", "c": "ENVIRONMENT=development\n\nOPENAI_API_KEY=\nOPENAI_MODEL=\n\nPERPLEXITY_API_KEY=\nPERPLEXITY_ENDPOINT=\n\nTELEGRAM_BOT_TOKEN=\nTELEGRAM_CHAT_ID=\nTELEGRAM_ADMIN_CHAT_ID=\nTELEGRAM_REVIEWER_CHAT_IDS=\n\nTWITTER_BEARER_TOKEN=\nTWITTER_API_KEY=\nTWITTER_API_SECRET_KEY=\nTWITTER_ACCESS_TOKEN=\nTWITTER_ACCESS_TOKEN_SECRET=\n"}, "361c8b7f59fc8f91c457d4c8ad5a1f4bd4182239": {"t": 1785765020.2313683, "n": 8, "h": "ebb3ed541e1f08cd", "c": "DEBUG=1\n"}}}}