Davlin is a modern Go web application that aims to create an intelligent chat application based on deepresearch technology. It integrates with document analysis capabilities to answer user questions by leveraging relevant context from their documents. The project is currently under active development.
-
User Management
- Registration with email verification
- Login with password or verification code
- JWT-based authentication
-
Document-Assisted Chat System
- Document upload and analysis
- Contextual message handling based on document content
- Chat history with document references
-
Integrations
- Deep research-based LLM integration
- Document parsing and indexing
- Intelligent search capabilities
-
Infrastructure
- MySQL database for persistent storage
- Redis for caching and session management
- Email service for notifications
davlin/
├── cmd/ # Application entry points
├── internal/ # Internal application code
│ ├── config/ # Configuration handling
│ ├── controller/ # API controllers
│ ├── middleware/ # HTTP middleware
│ ├── model/ # Data models
│ ├── resource/ # External resources
│ ├── router/ # API routing
│ └── service/ # Business logic
├── docs/ # Documentation
│ └── swagger.yaml # API specification
└── scripts/ # Utility scripts
- Go 1.23.5 or higher
- Docker and Docker Compose
- MySQL
- Redis
-
Clone the repository:
git clone https://github.com/davlin-coder/davlin.git cd davlin
-
Create a configuration file:
cp config.template.yaml config.yaml
-
Edit
config.yaml
to set up your environment-specific configurations. -
Start the database services:
docker-compose up -d
-
Run the application:
go run cmd/main.go
docker build -t davlin .
docker run -p 8080:8080 davlin
This project is in active development. The following components are being implemented:
- Document parsing and indexing system
- Deep research-based LLM integration
- Document-context aware chat functionality
- User interface for document upload and management
go mod tidy
go test ./...
The application uses Viper for configuration management, supporting both YAML files and environment variables.
- 提供商网站: 七牛云
- 为本项目提供对象存储、CDN加速及文档处理服务
This project is licensed under the MIT License - see the LICENSE file for details.