Skip to content

Repository files navigation

3GPP Research Agent πŸ”¬

AI-powered research assistant for 3GPP standards and telecommunications professionals. Get expert-level responses on 5G/6G technologies, 3GPP specifications, and telecom standards. image

AWS License Open Source

✨ Features

  • 🧠 Smart Query Suggestions - AI-powered prompt recommendations for better results
  • πŸ”’ User Privacy - Isolated conversations per user with authentication
  • πŸ’° Cost Optimized - ~$0.0015 per query with budget protection
  • πŸ“Š Professional Formatting - Markdown-formatted responses with clear structure
  • 🎯 Expert Responses - Powered by Amazon Nova Pro for technical accuracy
  • πŸ‘₯ User Management - Admin dashboard with usage tracking

πŸš€ Quick Start

Deploy on Your AWS Account

One-Command Deployment:

git clone https://github.com/Indianinnovation/ask3gpp-com.git
cd ask3gpp-com
chmod +x deploy.sh
./deploy.sh

Prerequisites:

  • AWS Account with Bedrock access
  • AWS CLI configured
  • Python 3.11+

See DEPLOYMENT_GUIDE.md for detailed instructions.

πŸ—οΈ Architecture

User β†’ Streamlit UI β†’ API Gateway β†’ Lambda β†’ Bedrock (Nova Pro)
                                      ↓
                                   S3 Documents

Tech Stack:

  • Frontend: Streamlit
  • Backend: AWS Lambda (Python 3.11)
  • AI Model: Amazon Bedrock Nova Pro
  • Storage: AWS S3
  • API: AWS API Gateway
  • Database: DynamoDB (optional)

πŸ’‘ Use Cases

  • πŸ“± Telecom Engineers - Research 5G/6G standards
  • πŸ—οΈ Network Architects - Explore 3GPP specifications
  • πŸŽ“ Students - Learn mobile network technologies
  • πŸ’Ό Industry Professionals - Quick technical insights

πŸ“‹ Example Queries

  • "What are 5G NR MIMO configurations in TS 38.211?"
  • "Explain 5G security architecture per TS 33.501"
  • "Compare 3GPP Release 15 vs Release 16 features"
  • "What is network slicing in 5G?"

πŸ’° Cost Breakdown

Per Query: ~$0.0015 Monthly (1000 queries):

  • Lambda: $0.50
  • API Gateway: $3.50
  • S3: $0.10
  • Bedrock: $1.50
  • Total: ~$5.85/month

Built-in Cost Protection:

  • $50 monthly limit
  • $5 daily limit
  • $1 per user daily limit

πŸ“¦ What's Included

ask3gpp-com/
β”œβ”€β”€ beta_research_agent.py              # Streamlit UI
β”œβ”€β”€ chat_api_cost_optimized_fixed.py    # Lambda function
β”œβ”€β”€ requirements.txt                     # Python dependencies
β”œβ”€β”€ deploy.sh                           # Automated deployment
β”œβ”€β”€ DEPLOYMENT_GUIDE.md                 # Detailed setup guide
└── README.md                           # This file

πŸ”§ Configuration

Update API Endpoint

Edit beta_research_agent.py line ~580:

response = requests.post(
    "https://YOUR_API_ID.execute-api.us-east-1.amazonaws.com/prod/chat",
    json={"query": query_input, "session_id": session_id},
    timeout=120
)

Environment Variables

BUCKET_NAME=3gpp-docs-YOUR_ACCOUNT_ID
CONVERSATION_TABLE=3gpp-conversations

πŸ› οΈ Development

Local Testing

# Install dependencies
pip install -r requirements.txt

# Run Streamlit app
streamlit run beta_research_agent.py

# Test Lambda function locally
python -c "from chat_api_cost_optimized_fixed import handler; print(handler({'body': '{\"query\":\"What is 5G?\"}'}, {}))"

Deploy Updates

# Update Lambda function
zip lambda-function.zip chat_api_cost_optimized_fixed.py
aws lambda update-function-code \
  --function-name 3gpp-chat-api \
  --zip-file fileb://lambda-function.zip

πŸ“Š Monitoring

CloudWatch Logs

# View Lambda logs
aws logs tail /aws/lambda/3gpp-chat-api --follow

# View metrics
aws cloudwatch get-metric-statistics \
  --namespace AWS/Lambda \
  --metric-name Invocations \
  --dimensions Name=FunctionName,Value=3gpp-chat-api \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-12-31T23:59:59Z \
  --period 3600 \
  --statistics Sum

πŸ”’ Security

  • βœ… User authentication with password hashing
  • βœ… CORS enabled for API Gateway
  • βœ… IAM roles with least privilege
  • βœ… S3 bucket versioning enabled
  • βœ… Cost limits to prevent abuse

🀝 Contributing

We welcome contributions from the community! This is an open-source project.

How to Contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Areas for Contribution:

  • πŸ› Bug fixes
  • ✨ New features
  • πŸ“ Documentation improvements
  • πŸ§ͺ Test coverage
  • 🌐 Internationalization

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License Summary:

  • βœ… Commercial use allowed
  • βœ… Modification allowed
  • βœ… Distribution allowed
  • βœ… Private use allowed
  • ⚠️ No warranty provided
  • ⚠️ No liability accepted

πŸ†˜ Support

πŸ™ Acknowledgments

πŸ“ˆ Roadmap

  • Add vector database for better document search
  • Implement conversation history persistence
  • Add support for document upload
  • Multi-language support
  • Advanced analytics dashboard
  • API rate limiting and authentication

Open Source Project for the Telecom Community

⭐ Star this repo if you find it useful!

🀝 Contributions welcome - Let's build together!

About

3GPP Research Solution

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages