Coverage for src / idx_api / embeddings / __init__.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2025-12-28 11:09 -0700

1"""Embeddings module using sqlite-rembed and sqlite-vec. 

2 

3This module provides vector search capabilities for semantic search across 

4different entity types. It's organized into submodules by entity type. 

5 

6Structure: 

7- base: Core functions (init, generate, ensure_client, table creation) 

8- brokerages: Brokerage firm search/indexing 

9- broker_contacts: Broker contact person search/indexing 

10- agents: Agent search/indexing 

11- properties: Property listing search/indexing 

12- images: Property image multi-modal search and inverse footnotes 

13- blog_posts: Blog content search/indexing 

14""" 

15 

16# Core functions 

17from idx_api.embeddings.base import ( 

18 init_embedding_client, 

19 ensure_embedding_client, 

20 generate_embedding, 

21 create_vector_tables, 

22 create_image_tables, 

23) 

24 

25# Brokerage functions 

26from idx_api.embeddings.brokerages import ( 

27 build_brokerage_text, 

28 index_brokerage, 

29 search_brokerages, 

30 reindex_all_brokerages, 

31 # Legacy aliases 

32 build_brokerage_text_legacy, 

33 index_brokerage_legacy, 

34 search_brokerages_legacy, 

35 reindex_all_brokerages_legacy, 

36) 

37 

38# Broker contact functions 

39from idx_api.embeddings.broker_contacts import ( 

40 build_broker_contact_text, 

41 index_broker_contact, 

42 search_broker_contacts, 

43 reindex_all_broker_contacts, 

44) 

45 

46# Agent functions 

47from idx_api.embeddings.agents import ( 

48 build_agent_text, 

49 index_agent, 

50 search_agents, 

51 reindex_all_agents, 

52) 

53 

54# Property functions 

55from idx_api.embeddings.properties import ( 

56 build_property_text, 

57 index_property, 

58 search_properties, 

59 reindex_all_properties, 

60) 

61 

62# Property image functions (multi-modal search) 

63from idx_api.embeddings.images import ( 

64 index_property_image, 

65 index_property_image_visual, 

66 search_image_descriptions, 

67 search_image_visuals, 

68 get_unindexed_property_images, 

69 get_image_index_stats, 

70 # Feature tags (inverse footnotes) 

71 index_image_feature_tags, 

72 find_images_by_feature, 

73 get_inverse_footnotes, 

74) 

75 

76# Blog post functions 

77from idx_api.embeddings.blog_posts import ( 

78 build_blog_post_text, 

79 index_blog_post, 

80 search_blog_posts, 

81 index_blog_posts_from_data, 

82) 

83 

84# Backward compatibility aliases 

85search_brokers = search_brokerages_legacy 

86index_broker = index_brokerage_legacy 

87build_broker_text = build_brokerage_text_legacy 

88reindex_all_brokers = reindex_all_brokerages_legacy 

89 

90__all__ = [ 

91 # Core 

92 "init_embedding_client", 

93 "ensure_embedding_client", 

94 "generate_embedding", 

95 "create_vector_tables", 

96 "create_image_tables", 

97 # Brokerages 

98 "build_brokerage_text", 

99 "index_brokerage", 

100 "search_brokerages", 

101 "reindex_all_brokerages", 

102 # Broker contacts 

103 "build_broker_contact_text", 

104 "index_broker_contact", 

105 "search_broker_contacts", 

106 "reindex_all_broker_contacts", 

107 # Agents 

108 "build_agent_text", 

109 "index_agent", 

110 "search_agents", 

111 "reindex_all_agents", 

112 # Properties 

113 "build_property_text", 

114 "index_property", 

115 "search_properties", 

116 "reindex_all_properties", 

117 # Property images 

118 "index_property_image", 

119 "index_property_image_visual", 

120 "search_image_descriptions", 

121 "search_image_visuals", 

122 "get_unindexed_property_images", 

123 "get_image_index_stats", 

124 "index_image_feature_tags", 

125 "find_images_by_feature", 

126 "get_inverse_footnotes", 

127 # Blog posts 

128 "build_blog_post_text", 

129 "index_blog_post", 

130 "search_blog_posts", 

131 "index_blog_posts_from_data", 

132 # Legacy aliases 

133 "search_brokers", 

134 "index_broker", 

135 "build_broker_text", 

136 "reindex_all_brokers", 

137]