Skip to content

ArpitRajputGithub/AI_searchFeature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LabBuddy AI Search Service

A production-grade semantic search microservice for healthcare diagnostics data, powered by FastAPI, OpenAI embeddings, and Pinecone vector database.

Features

  • Semantic search for lab tests and diagnostics data
  • Real-time filtering by location, price, and rating
  • Redis caching for high-performance queries
  • Fully async API endpoints with FastAPI
  • Production-ready with monitoring, logging, and security

Tech Stack

  • Framework: FastAPI + Pydantic
  • Databases: MySQL, Redis, Pinecone Vector DB
  • ML/AI: OpenAI Embeddings API
  • Infrastructure: Docker, Terraform
  • Monitoring: Prometheus + Grafana
  • Testing: Pytest

Project Structure

ai-search-service/
├── app/
│   ├── api/            # API routes and endpoints
│   ├── core/           # Core functionality, config
│   ├── db/             # Database models and connections
│   ├── models/         # Pydantic models/schemas
│   ├── services/       # Business logic
│   └── utils/          # Utility functions
├── tests/              # Test suite
├── scripts/            # Utility scripts
└── infrastructure/     # IaC and deployment configs

Getting Started

  1. Clone the repository:

    git clone https://github.com/labbuddy/ai-search-service.git
    cd ai-search-service
  2. Set up virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: .\venv\Scripts\activate
    pip install -r requirements.txt
  3. Configure environment:

    cp .env.example .env
    # Edit .env with your configuration
  4. Start the development server:

    uvicorn app.main:app --reload
  5. Visit the API documentation:

    http://localhost:8000/docs
    

Development

Running Tests

pytest

Code Quality

flake8 app tests
mypy app

Database Migrations

alembic upgrade head

API Documentation

Search Endpoint

GET /api/v1/search

Query Parameters:

  • q (string): Search query
  • location (string, optional): Filter by location
  • min_price (float, optional): Minimum price
  • max_price (float, optional): Maximum price
  • min_rating (float, optional): Minimum rating
  • page (int, optional): Page number
  • page_size (int, optional): Results per page

Monitoring

  • Prometheus metrics available at /metrics
  • Grafana dashboards for monitoring system health

Contributing

  1. Create a feature branch
  2. Make your changes
  3. Run tests
  4. Submit a pull request

License

Copyright © 2024 LabBuddy. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors