Commit Graph

5 Commits

Author SHA1 Message Date
Danny b0211b944d feat: replace Redis with in-memory conversation storage
- Remove Redis dependency and redis_client.py
- Implement ConversationMemory with module-level dictionary
- Add TTL support via timestamp checking
- Remove redis_connected from health endpoint
- Add embeddings, intent classification, and RAG prompt modules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:34:47 -06:00
Danny c9336d1d84 feat: add GCP service-to-service authentication
Implement identity token verification for Cloud Run deployments:
- Add auth module with GCP identity token verification
- Add configurable auth settings (AUTH_ENABLED, AUTH_AUDIENCE)
- Add service account allowlist for access control
- Protect /chat and /chat/stream endpoints with auth dependency
- Add google-auth dependency for token verification

Auth can be disabled for local development via AUTH_ENABLED=false.
2026-01-19 11:06:59 -06:00
Danny 4c084d7668 feat: add AskSage LLM provider integration
Implement AskSageAdapter using the official asksageclient SDK to support
AskSage as an LLM provider option. This enables users to leverage
AskSage's API with configurable email, API key, and model settings.

- Add AskSageAdapter class with async support via thread pool
- Update Settings to include asksage_email, asksage_api_key, asksage_model
- Extend llm_mode literal to include "asksage" option
- Update dependency injection to instantiate AskSageAdapter when configured
- Remove completed OPENAI_INTEGRATION_PLAN.md
- Update requirements.txt with full dependency list including asksageclient
2026-01-16 12:16:34 -06:00
Danny 3324b6ac12 feat: add OpenAI integration with dependency injection support
- Add OpenAIAdapter class using official OpenAI SDK with async support
- Create custom exception hierarchy for LLM errors (authentication,
  rate limit, connection, configuration, response errors)
- Refactor adapter factory to use FastAPI Depends() for dependency injection
- Update configuration to support 'openai' mode with API key and model settings
- Add proper HTTP error mapping for all LLM exception types
- Update Dockerfile with default OPENAI_MODEL environment variable
- Update .env.example with OpenAI configuration options
2026-01-13 15:17:44 -06:00
Danny Garcia 84de9a02c8 feat: add FastAPI skeleton for LLM chat service
- POST /chat endpoint with message and conversation_id support
- GET /health endpoint for Cloud Run health checks
- Local and Remote LLM adapters with async httpx
- Pydantic schemas and environment-based config
- Dockerfile configured for Cloud Run deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:32:57 -06:00