ws-bom-robot-app 0.0.46__tar.gz → 0.0.48__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. {ws_bom_robot_app-0.0.46/ws_bom_robot_app.egg-info → ws_bom_robot_app-0.0.48}/PKG-INFO +2 -2
  2. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/setup.py +1 -1
  3. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/agent.py +6 -1
  4. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/sitemap.py +4 -1
  5. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48/ws_bom_robot_app.egg-info}/PKG-INFO +2 -2
  6. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/MANIFEST.in +0 -0
  7. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/README.md +0 -0
  8. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/pyproject.toml +0 -0
  9. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/requirements.txt +0 -0
  10. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/setup.cfg +0 -0
  11. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/__init__.py +0 -0
  12. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/auth.py +0 -0
  13. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/config.py +0 -0
  14. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/cron_manager.py +0 -0
  15. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/__init__.py +0 -0
  16. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/agent_description.py +0 -0
  17. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/agent_handler.py +0 -0
  18. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/agent_lcel.py +0 -0
  19. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/api.py +0 -0
  20. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/defaut_prompt.py +0 -0
  21. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/main.py +0 -0
  22. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/models/__init__.py +0 -0
  23. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/models/api.py +0 -0
  24. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/models/base.py +0 -0
  25. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/models/kb.py +0 -0
  26. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/providers/__init__.py +0 -0
  27. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/providers/llm_manager.py +0 -0
  28. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/settings.py +0 -0
  29. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/__init__.py +0 -0
  30. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/models/__init__.py +0 -0
  31. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/models/main.py +0 -0
  32. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/tool_builder.py +0 -0
  33. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/tool_manager.py +0 -0
  34. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/tools/utils.py +0 -0
  35. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/__init__.py +0 -0
  36. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/chunker.py +0 -0
  37. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/download.py +0 -0
  38. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/kb.py +0 -0
  39. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/print.py +0 -0
  40. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/secrets.py +0 -0
  41. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/utils/webhooks.py +0 -0
  42. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/__init__.py +0 -0
  43. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/__init__.py +0 -0
  44. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/base.py +0 -0
  45. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/chroma.py +0 -0
  46. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/faiss.py +0 -0
  47. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/manager.py +0 -0
  48. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/db/qdrant.py +0 -0
  49. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/generator.py +0 -0
  50. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/__init__.py +0 -0
  51. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/azure.py +0 -0
  52. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/base.py +0 -0
  53. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/confluence.py +0 -0
  54. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/dropbox.py +0 -0
  55. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/gcs.py +0 -0
  56. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/github.py +0 -0
  57. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/googledrive.py +0 -0
  58. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/jira.py +0 -0
  59. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/manager.py +0 -0
  60. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/s3.py +0 -0
  61. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/sftp.py +0 -0
  62. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/sharepoint.py +0 -0
  63. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/integration/slack.py +0 -0
  64. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/loader/__init__.py +0 -0
  65. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/loader/base.py +0 -0
  66. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/loader/docling.py +0 -0
  67. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/llm/vector_store/loader/json_loader.py +0 -0
  68. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/main.py +0 -0
  69. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/task_manager.py +0 -0
  70. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app/util.py +0 -0
  71. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app.egg-info/SOURCES.txt +0 -0
  72. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app.egg-info/dependency_links.txt +0 -0
  73. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app.egg-info/requires.txt +0 -0
  74. {ws_bom_robot_app-0.0.46 → ws_bom_robot_app-0.0.48}/ws_bom_robot_app.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.46
3
+ Version: 0.0.48
4
4
  Summary: A FastAPI application serving ws bom/robot/llm platform ai.
5
5
  Home-page: https://github.com/websolutespa/bom
6
6
  Author: Websolute Spa
@@ -4,7 +4,7 @@ _requirements = [line.split('#')[0].strip() for line in open("requirements.txt")
4
4
 
5
5
  setup(
6
6
  name="ws_bom_robot_app",
7
- version="0.0.46",
7
+ version="0.0.48",
8
8
  description="A FastAPI application serving ws bom/robot/llm platform ai.",
9
9
  long_description=open("README.md", encoding='utf-8').read(),
10
10
  long_description_content_type="text/markdown",
@@ -5,11 +5,16 @@ from ws_bom_robot_app.llm.utils.print import HiddenPrints
5
5
  from ws_bom_robot_app.llm.vector_store.db.manager import VectorDbManager
6
6
  import warnings
7
7
 
8
- async def get_rules(embeddings: Embeddings, rules: LlmRules, input: str) -> str:
8
+ async def get_rules(embeddings: Embeddings, rules: LlmRules, input: str | list) -> str:
9
9
  with warnings.catch_warnings():
10
10
  warnings.simplefilter("ignore", category=Warning)
11
+ # check if the input is multimodal and convert it to text
12
+ if isinstance(input, list):
13
+ input = " ".join(obj.get("text", "") for obj in input)
14
+ # check if the input is empty or the rules are not provided
11
15
  if any([input=="",rules is None,rules and rules.vector_db == "",rules and not os.path.exists(rules.vector_db)]):
12
16
  return ""
17
+ # get the rules from the vector db and return prompt with rules
13
18
  rules_prompt = ""
14
19
  rules_doc = await VectorDbManager.get_strategy(rules.vector_type).invoke(embeddings, rules.vector_db,input,search_type="similarity_score_threshold", search_kwargs={"score_threshold": rules.threshold}) #type: ignore
15
20
  if len(rules_doc) > 0:
@@ -20,6 +20,7 @@ class Sitemap(IntegrationStrategy):
20
20
  data["excludeTag"] (list[str]): default to ["script", "noscript", "style", "head", "header","nav","footer", "iframe"]
21
21
  data["excludeClass"] (list[str]): ["class1", "class2"]
22
22
  data["excludeId"] (list[str]): ["id1", "id2"]
23
+ data["restrictDomain"] (bool): if True, only urls from the same domain will be loaded, default to True
23
24
  """
24
25
  def __init__(self, knowledgebase_path: str, data: dict[str, Any]):
25
26
  super().__init__(knowledgebase_path, data)
@@ -30,6 +31,7 @@ class Sitemap(IntegrationStrategy):
30
31
  self.__exclude_tag: list[str] = self.data.get("excludeTag",[]) # type: ignore
31
32
  self.__exclude_class: list[str] = self.data.get("excludeClass",[]) # type: ignore
32
33
  self.__exclude_id: list[str] = self.data.get("excludeId",[]) # type: ignore
34
+ self.__restrict_to_same_domain: bool = self.data.get("restrictDomain", True) # type: ignore
33
35
  def working_subdirectory(self) -> str:
34
36
  return ""
35
37
  def _extract(self, tag: Tag) -> str:
@@ -75,7 +77,8 @@ class Sitemap(IntegrationStrategy):
75
77
  web_path=self._remap_if_local(self.__sitemap_url),
76
78
  filter_urls=self.__filter_urls,
77
79
  parsing_function=self._parse,
78
- is_local=self._is_local(self.__sitemap_url)
80
+ is_local=self._is_local(self.__sitemap_url),
81
+ restrict_to_same_domain=self.__restrict_to_same_domain
79
82
  )
80
83
  _docs = self._output([document async for document in self.alazy_load(_loader)])
81
84
  if self._is_local(self.__sitemap_url):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.46
3
+ Version: 0.0.48
4
4
  Summary: A FastAPI application serving ws bom/robot/llm platform ai.
5
5
  Home-page: https://github.com/websolutespa/bom
6
6
  Author: Websolute Spa