Jatin Mehra commited on
Commit
3da73e5
Β·
1 Parent(s): ba907cd

Refactor FastAPI application structure and update test imports for backward compatibility

Browse files
app_refactored.py β†’ app.py RENAMED
@@ -100,7 +100,7 @@ def main():
100
  """
101
  Main entry point for running the application.
102
  """
103
- uvicorn.run("app_refactored:app", host="0.0.0.0", port=8000, reload=True)
104
 
105
 
106
  if __name__ == "__main__":
 
100
  """
101
  Main entry point for running the application.
102
  """
103
+ uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)
104
 
105
 
106
  if __name__ == "__main__":
preprocessing_refactored.py DELETED
@@ -1,78 +0,0 @@
1
- """
2
- Refactored preprocessing module for PDF Insight Beta.
3
-
4
- This module provides the core preprocessing functionality with improved organization.
5
- The original logic has been preserved while breaking it into more maintainable components.
6
-
7
- This module maintains backward compatibility with the original preprocessing.py interface.
8
- """
9
-
10
- # Re-export everything from the new modular structure for backward compatibility
11
- from configs.config import Config
12
- from services import (
13
- create_llm_model as model_selection,
14
- create_tavily_search_tool,
15
- rag_service
16
- )
17
- from utils import (
18
- process_pdf_file,
19
- chunk_text,
20
- create_embeddings,
21
- build_faiss_index,
22
- retrieve_similar_chunks,
23
- estimate_tokens
24
- )
25
-
26
- # Create global tools for backward compatibility
27
- def create_global_tools():
28
- """Create global tools list for backward compatibility."""
29
- tavily_tool = create_tavily_search_tool()
30
- return [tavily_tool] if tavily_tool else []
31
-
32
- # Global tools instance (for backward compatibility)
33
- tools = create_global_tools()
34
-
35
- # Alias for the main RAG function to maintain original interface
36
- def agentic_rag(llm, agent_specific_tools, query, context_chunks, memory, Use_Tavily=False):
37
- """
38
- Main RAG function with original interface for backward compatibility.
39
-
40
- Args:
41
- llm: Language model instance
42
- agent_specific_tools: List of tools for the agent
43
- query: User query
44
- context_chunks: Context chunks from retrieval
45
- memory: Conversation memory
46
- Use_Tavily: Whether to use web search
47
-
48
- Returns:
49
- Dictionary with 'output' key containing the response
50
- """
51
- # Convert parameters to work with new RAG service
52
- return rag_service.generate_response(
53
- llm=llm,
54
- query=query,
55
- context_chunks=context_chunks,
56
- faiss_index=None, # Will be handled internally by tools
57
- document_chunks=[], # Will be handled internally by tools
58
- embedding_model=None, # Will be handled internally by tools
59
- memory=memory,
60
- use_tavily=Use_Tavily
61
- )
62
-
63
- # Re-export the vector search tool creator for backward compatibility
64
- from services.rag_service import create_vector_search_tool
65
-
66
- # Maintain all original exports
67
- __all__ = [
68
- 'model_selection',
69
- 'process_pdf_file',
70
- 'chunk_text',
71
- 'create_embeddings',
72
- 'build_faiss_index',
73
- 'retrieve_similar_chunks',
74
- 'agentic_rag',
75
- 'tools',
76
- 'create_vector_search_tool',
77
- 'estimate_tokens'
78
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
test_refactored.py CHANGED
@@ -39,7 +39,7 @@ def test_imports():
39
  print("βœ“ API module imported successfully")
40
 
41
  # Test backward compatibility
42
- from preprocessing_refactored import model_selection, chunk_text, agentic_rag
43
  print("βœ“ Backward compatibility import successful")
44
 
45
  return True
@@ -85,7 +85,7 @@ def test_backward_compatibility():
85
 
86
  try:
87
  # Test original preprocessing interface
88
- from preprocessing_refactored import model_selection, tools, estimate_tokens
89
 
90
  # These should work without errors
91
  assert callable(model_selection)
@@ -95,7 +95,7 @@ def test_backward_compatibility():
95
  print("βœ“ Original preprocessing interface preserved")
96
 
97
  # Test that we can still access the original functions
98
- from preprocessing_refactored import (
99
  process_pdf_file, chunk_text, create_embeddings,
100
  build_faiss_index, retrieve_similar_chunks, agentic_rag
101
  )
@@ -114,7 +114,7 @@ def test_app_creation():
114
  print("\nTesting app creation...")
115
 
116
  try:
117
- from app_refactored import create_app
118
 
119
  app = create_app()
120
  assert app is not None
 
39
  print("βœ“ API module imported successfully")
40
 
41
  # Test backward compatibility
42
+ from preprocessing import model_selection, chunk_text, agentic_rag
43
  print("βœ“ Backward compatibility import successful")
44
 
45
  return True
 
85
 
86
  try:
87
  # Test original preprocessing interface
88
+ from preprocessing import model_selection, tools, estimate_tokens
89
 
90
  # These should work without errors
91
  assert callable(model_selection)
 
95
  print("βœ“ Original preprocessing interface preserved")
96
 
97
  # Test that we can still access the original functions
98
+ from preprocessing import (
99
  process_pdf_file, chunk_text, create_embeddings,
100
  build_faiss_index, retrieve_similar_chunks, agentic_rag
101
  )
 
114
  print("\nTesting app creation...")
115
 
116
  try:
117
+ from app import create_app
118
 
119
  app = create_app()
120
  assert app is not None