alita-sdk 0.3.221__tar.gz → 0.3.223__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.
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/PKG-INFO +1 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/artifact.py +0 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/vectorstore.py +4 -4
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/repos/__init__.py +7 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/test_plan/__init__.py +10 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/wiki/__init__.py +10 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/work_item/__init__.py +6 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/__init__.py +5 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/__init__.py +6 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elitea_base.py +30 -56
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/figma/__init__.py +5 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/__init__.py +5 -2
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/__init__.py +5 -2
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/jira/__init__.py +11 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/__init__.py +5 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testrail/__init__.py +4 -0
- alita_sdk-0.3.223/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +91 -0
- alita_sdk-0.3.223/alita_sdk/tools/vector_adapters/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/xray/__init__.py +11 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/__init__.py +5 -2
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +63 -20
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/__init__.py +5 -2
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/PKG-INFO +1 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/SOURCES.txt +2 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/pyproject.toml +1 -1
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/LICENSE +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/README.md +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/artifact.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/datasource.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/prompt.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/assistant.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/constants.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/indexer.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/store_manager.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/llms/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/llms/preloaded.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/application.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/artifact.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/tools.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/agent.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/application.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/datasource.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/echo.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/function.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/llm.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/loop.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/loop_output.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/prompt.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/router.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/constants.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/evaluate.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/logging.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/streamlit.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/base/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/base/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/tools.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/crawler.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/google_search_rag.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/wiki.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/tools.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/constants.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/models.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/linter/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/sonar/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/loader.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elastic/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/figma/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/github_client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/schemas.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/tool_prompts.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/tools.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google_places/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/jira/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/keycloak/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/img_utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/llm_utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/local_git.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/memory/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/text_detection.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/openapi/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/postman_analysis.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pptx/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/tool.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/rally/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/rally/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/model.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/utils.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/slack/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/slack/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/models.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testio/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testio/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/utils/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/utils/content_parser.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/xray/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/yagmail/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/rest_client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/requires.txt +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/top_level.txt +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/setup.cfg +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_ado_analysis.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_github_analysis.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_gitlab_analysis.py +0 -0
- {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_jira_analysis.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.223
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
5
5
|
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
|
6
6
|
License-Expression: Apache-2.0
|
@@ -90,7 +90,6 @@ class ArtifactWrapper(BaseVectorStoreToolApiWrapper):
|
|
90
90
|
yield Document(page_content=str(value), metadata=metadata)
|
91
91
|
else:
|
92
92
|
document.page_content = json.dumps(str(page_content))
|
93
|
-
yield document
|
94
93
|
|
95
94
|
@extend_with_vector_tools
|
96
95
|
def get_available_tools(self):
|
@@ -532,10 +532,10 @@ class VectorStoreWrapper(BaseToolApiWrapper):
|
|
532
532
|
|
533
533
|
def search_documents(self, query:str, doctype: str = 'code',
|
534
534
|
filter:dict|str={}, cut_off: float=0.5,
|
535
|
-
search_top:int=10,
|
536
|
-
|
537
|
-
reranking_config: Optional[Dict[str, Dict[str, Any]]] = None
|
538
|
-
|
535
|
+
search_top:int=10, full_text_search: Optional[Dict[str, Any]] = None,
|
536
|
+
extended_search: Optional[List[str]] = None,
|
537
|
+
reranker: dict = {}, reranking_config: Optional[Dict[str, Dict[str, Any]]] = None
|
538
|
+
):
|
539
539
|
"""Enhanced search documents method using JSON configurations for full-text search and reranking"""
|
540
540
|
from alita_sdk.tools.code.loaders.codesearcher import search_format as code_format
|
541
541
|
|
@@ -65,6 +65,13 @@ class AzureDevOpsReposToolkit(BaseToolkit):
|
|
65
65
|
connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
|
66
66
|
default=None,
|
67
67
|
json_schema_extra={'secret': True})),
|
68
|
+
|
69
|
+
# embedder settings
|
70
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
|
71
|
+
default="HuggingFaceEmbeddings")),
|
72
|
+
embedding_model_params=(dict, Field(
|
73
|
+
description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
|
74
|
+
default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
68
75
|
|
69
76
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
70
77
|
__config__={'json_schema_extra': {'metadata':
|
@@ -33,6 +33,16 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
|
|
33
33
|
project=(str, Field(title="Project", description="ADO project", json_schema_extra={'configuration': True})),
|
34
34
|
limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
|
35
35
|
token=(SecretStr, Field(description="ADO token", json_schema_extra={'secret': True, 'configuration': True})),
|
36
|
+
# indexer settings
|
37
|
+
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
38
|
+
default=None,
|
39
|
+
json_schema_extra={'secret': True})),
|
40
|
+
# embedder settings
|
41
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
|
42
|
+
default="HuggingFaceEmbeddings")),
|
43
|
+
embedding_model_params=(dict, Field(
|
44
|
+
description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
|
45
|
+
default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
36
46
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
37
47
|
__config__={'json_schema_extra': {'metadata':
|
38
48
|
{
|
@@ -37,6 +37,16 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
|
|
37
37
|
Field(description="ADO token",
|
38
38
|
json_schema_extra={'secret': True, 'configuration': True }
|
39
39
|
)),
|
40
|
+
# indexer settings
|
41
|
+
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
42
|
+
default=None,
|
43
|
+
json_schema_extra={'secret': True})),
|
44
|
+
# embedder settings
|
45
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
|
46
|
+
default="HuggingFaceEmbeddings")),
|
47
|
+
embedding_model_params=(dict, Field(
|
48
|
+
description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
|
49
|
+
default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
40
50
|
selected_tools=(List[Literal[tuple(selected_tools)]],
|
41
51
|
Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
42
52
|
__config__={
|
@@ -41,6 +41,12 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
|
|
41
41
|
connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
|
42
42
|
default=None,
|
43
43
|
json_schema_extra={'secret': True})),
|
44
|
+
# embedder settings
|
45
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
|
46
|
+
default="HuggingFaceEmbeddings")),
|
47
|
+
embedding_model_params=(dict, Field(
|
48
|
+
description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
|
49
|
+
default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
44
50
|
__config__={
|
45
51
|
'json_schema_extra': {
|
46
52
|
'metadata': {
|
@@ -27,7 +27,7 @@ def get_tools(tool):
|
|
27
27
|
llm=tool['settings'].get('llm', None),
|
28
28
|
alita=tool['settings'].get('alita', None),
|
29
29
|
connection_string=tool['settings'].get('connection_string', None),
|
30
|
-
collection_name=str(tool['
|
30
|
+
collection_name=str(tool['toolkit_name']),
|
31
31
|
doctype='code',
|
32
32
|
embedding_model="HuggingFaceEmbeddings",
|
33
33
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
@@ -60,6 +60,10 @@ class AlitaBitbucketToolkit(BaseToolkit):
|
|
60
60
|
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
61
61
|
default=None,
|
62
62
|
json_schema_extra={'secret': True})),
|
63
|
+
|
64
|
+
# embedder settings
|
65
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
66
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
63
67
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
64
68
|
__config__=ConfigDict(json_schema_extra=
|
65
69
|
{
|
@@ -27,7 +27,7 @@ def get_tools(tool):
|
|
27
27
|
toolkit_name=tool.get('toolkit_name'),
|
28
28
|
# indexer settings
|
29
29
|
connection_string = tool['settings'].get('connection_string', None),
|
30
|
-
collection_name=str(tool['
|
30
|
+
collection_name=str(tool['toolkit_name']),
|
31
31
|
doctype='doc',
|
32
32
|
embedding_model="HuggingFaceEmbeddings",
|
33
33
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
@@ -84,6 +84,11 @@ class ConfluenceToolkit(BaseToolkit):
|
|
84
84
|
connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
|
85
85
|
default=None,
|
86
86
|
json_schema_extra={'secret': True})),
|
87
|
+
|
88
|
+
# embedder settings
|
89
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
90
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
91
|
+
|
87
92
|
__config__=ConfigDict(json_schema_extra={
|
88
93
|
'metadata': {
|
89
94
|
"label": "Confluence",
|
@@ -12,6 +12,7 @@ from pydantic import BaseModel, create_model, Field, SecretStr
|
|
12
12
|
from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
|
13
13
|
from .chunkers import markdown_chunker
|
14
14
|
from .utils import TOOLKIT_SPLITTER
|
15
|
+
from .vector_adapters.VectorStoreAdapter import VectorStoreAdapterFactory
|
15
16
|
from ..runtime.utils.utils import IndexerKeywords
|
16
17
|
|
17
18
|
logger = logging.getLogger(__name__)
|
@@ -59,22 +60,22 @@ BaseSearchParams = create_model(
|
|
59
60
|
)),
|
60
61
|
cut_off=(Optional[float], Field(description="Cut-off score for search results", default=0.5)),
|
61
62
|
search_top=(Optional[int], Field(description="Number of top results to return", default=10)),
|
62
|
-
reranker=(Optional[dict], Field(
|
63
|
-
description="Reranker configuration. Can be a dictionary with reranking parameters.",
|
64
|
-
default={}
|
65
|
-
)),
|
66
63
|
full_text_search=(Optional[Dict[str, Any]], Field(
|
67
64
|
description="Full text search parameters. Can be a dictionary with search options.",
|
68
65
|
default=None
|
69
66
|
)),
|
70
|
-
reranking_config=(Optional[Dict[str, Dict[str, Any]]], Field(
|
71
|
-
description="Reranking configuration. Can be a dictionary with reranking settings.",
|
72
|
-
default=None
|
73
|
-
)),
|
74
67
|
extended_search=(Optional[List[str]], Field(
|
75
68
|
description="List of additional fields to include in the search results.",
|
76
69
|
default=None
|
77
70
|
)),
|
71
|
+
reranker=(Optional[dict], Field(
|
72
|
+
description="Reranker configuration. Can be a dictionary with reranking parameters.",
|
73
|
+
default={}
|
74
|
+
)),
|
75
|
+
reranking_config=(Optional[Dict[str, Dict[str, Any]]], Field(
|
76
|
+
description="Reranking configuration. Can be a dictionary with reranking settings.",
|
77
|
+
default=None
|
78
|
+
)),
|
78
79
|
)
|
79
80
|
|
80
81
|
BaseStepbackSearchParams = create_model(
|
@@ -111,7 +112,7 @@ BaseStepbackSearchParams = create_model(
|
|
111
112
|
BaseIndexDataParams = create_model(
|
112
113
|
"indexData",
|
113
114
|
__base__=BaseIndexParams,
|
114
|
-
progress_step=(Optional[int], Field(default=
|
115
|
+
progress_step=(Optional[int], Field(default=10, ge=0, le=100,
|
115
116
|
description="Optional step size for progress reporting during indexing")),
|
116
117
|
clean_index=(Optional[bool], Field(default=False,
|
117
118
|
description="Optional flag to enforce clean existing index before indexing new data")),
|
@@ -219,6 +220,10 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
|
|
219
220
|
embedding_model_params: Optional[Dict[str, Any]] = {"model_name": "sentence-transformers/all-MiniLM-L6-v2"}
|
220
221
|
vectorstore_type: Optional[str] = "PGVector"
|
221
222
|
|
223
|
+
def __init__(self, **kwargs):
|
224
|
+
super().__init__(**kwargs)
|
225
|
+
self._adapter = VectorStoreAdapterFactory.create_adapter(self.vectorstore_type)
|
226
|
+
|
222
227
|
def _index_tool_params(self, **kwargs) -> dict[str, tuple[type, Field]]:
|
223
228
|
"""
|
224
229
|
Returns a list of fields for index_data args schema.
|
@@ -329,36 +334,24 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
|
|
329
334
|
|
330
335
|
# TODO: init store once and re-use the instance
|
331
336
|
def _init_vector_store(self, collection_suffix: str = "", embeddings: Optional[Any] = None):
|
332
|
-
"""
|
337
|
+
"""Initializes the vector store wrapper with the provided parameters."""
|
333
338
|
try:
|
334
339
|
from alita_sdk.runtime.tools.vectorstore import VectorStoreWrapper
|
335
340
|
except ImportError:
|
336
341
|
from alita_sdk.runtime.tools.vectorstore import VectorStoreWrapper
|
337
|
-
|
342
|
+
|
338
343
|
# Validate collection_suffix length
|
339
344
|
if collection_suffix and len(collection_suffix.strip()) > 7:
|
340
345
|
raise ToolException("collection_suffix must be 7 characters or less")
|
341
|
-
|
346
|
+
|
342
347
|
# Create collection name with suffix if provided
|
343
348
|
collection_name = str(self.collection_name)
|
344
349
|
if collection_suffix and collection_suffix.strip():
|
345
350
|
collection_name = f"{self.collection_name}_{collection_suffix.strip()}"
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
"collection_name": collection_name,
|
351
|
-
"create_extension": True,
|
352
|
-
"alita_sdk_options": {
|
353
|
-
"target_schema": collection_name,
|
354
|
-
},
|
355
|
-
"connection_string": self.connection_string.get_secret_value()
|
356
|
-
}
|
357
|
-
elif self.vectorstore_type == 'Chroma':
|
358
|
-
vectorstore_params = {
|
359
|
-
"collection_name": collection_name,
|
360
|
-
"persist_directory": "./indexer_db"
|
361
|
-
}
|
351
|
+
|
352
|
+
# Get database-specific parameters using adapter
|
353
|
+
connection_string = self.connection_string.get_secret_value() if self.connection_string else None
|
354
|
+
vectorstore_params = self._adapter.get_vectorstore_params(collection_name, connection_string)
|
362
355
|
|
363
356
|
return VectorStoreWrapper(
|
364
357
|
llm=self.llm,
|
@@ -371,36 +364,17 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
|
|
371
364
|
)
|
372
365
|
|
373
366
|
def remove_index(self, collection_suffix: str = ""):
|
374
|
-
"""
|
375
|
-
|
376
|
-
""
|
377
|
-
|
378
|
-
|
367
|
+
"""Cleans the indexed data in the collection."""
|
368
|
+
vectorstore_wrapper = self._init_vector_store(collection_suffix)
|
369
|
+
collection_name = f"{self.collection_name}_{collection_suffix}" if collection_suffix else str(self.collection_name)
|
370
|
+
self._adapter.remove_collection(vectorstore_wrapper, collection_name)
|
371
|
+
return (f"Collection '{collection_name}' has been removed from the vector store.\n"
|
372
|
+
f"Available collections: {self.list_collections()}")
|
379
373
|
|
380
374
|
def list_collections(self):
|
381
|
-
"""
|
382
|
-
|
383
|
-
|
384
|
-
if self.vectorstore_type.lower() == 'PGVector'.lower():
|
385
|
-
from sqlalchemy import text
|
386
|
-
from sqlalchemy.orm import Session
|
387
|
-
|
388
|
-
# schema_name = self.vectorstore.collection_name
|
389
|
-
with Session(self._init_vector_store().vectorstore.session_maker.bind) as session:
|
390
|
-
get_collections = text("""
|
391
|
-
SELECT table_schema
|
392
|
-
FROM information_schema.columns
|
393
|
-
WHERE udt_name = 'vector';
|
394
|
-
""")
|
395
|
-
|
396
|
-
# Execute the raw SQL query
|
397
|
-
result = session.execute(get_collections)
|
398
|
-
|
399
|
-
# Fetch all rows from the result
|
400
|
-
docs = result.fetchall()
|
401
|
-
return str(docs)
|
402
|
-
vector_client = self._init_vector_store().vectoradapter.vectorstore._client
|
403
|
-
return ','.join([collection.name for collection in vector_client.list_collections()])
|
375
|
+
"""Lists all collections in the vector store."""
|
376
|
+
vectorstore_wrapper = self._init_vector_store()
|
377
|
+
return self._adapter.list_collections(vectorstore_wrapper)
|
404
378
|
|
405
379
|
def search_index(self,
|
406
380
|
query: str,
|
@@ -22,7 +22,7 @@ def get_tools(tool):
|
|
22
22
|
# indexer settings
|
23
23
|
llm=tool['settings'].get('llm', None),
|
24
24
|
connection_string = tool['settings'].get('connection_string', None),
|
25
|
-
collection_name=str(tool['
|
25
|
+
collection_name=str(tool['toolkit_name']),
|
26
26
|
doctype='doc',
|
27
27
|
embedding_model="HuggingFaceEmbeddings",
|
28
28
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
@@ -57,6 +57,10 @@ class FigmaToolkit(BaseToolkit):
|
|
57
57
|
connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
|
58
58
|
default=None,
|
59
59
|
json_schema_extra={'secret': True})),
|
60
|
+
|
61
|
+
# embedder settings
|
62
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
63
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
60
64
|
__config__=ConfigDict(
|
61
65
|
json_schema_extra={
|
62
66
|
"metadata": {
|
@@ -25,7 +25,7 @@ def _get_toolkit(tool) -> BaseToolkit:
|
|
25
25
|
llm=tool['settings'].get('llm', None),
|
26
26
|
alita=tool['settings'].get('alita', None),
|
27
27
|
connection_string=tool['settings'].get('connection_string', None),
|
28
|
-
collection_name=str(tool['
|
28
|
+
collection_name=str(tool['toolkit_name']),
|
29
29
|
doctype='code',
|
30
30
|
embedding_model="HuggingFaceEmbeddings",
|
31
31
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
@@ -96,6 +96,10 @@ class AlitaGitHubToolkit(BaseToolkit):
|
|
96
96
|
default=None,
|
97
97
|
json_schema_extra={'secret': True})),
|
98
98
|
|
99
|
+
# embedder settings
|
100
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
101
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
102
|
+
|
99
103
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools}))
|
100
104
|
)
|
101
105
|
|
@@ -123,4 +127,3 @@ class AlitaGitHubToolkit(BaseToolkit):
|
|
123
127
|
|
124
128
|
def get_tools(self):
|
125
129
|
return self.tools
|
126
|
-
|
@@ -7,7 +7,6 @@ from pydantic import create_model, BaseModel, ConfigDict, SecretStr
|
|
7
7
|
from pydantic.fields import Field
|
8
8
|
|
9
9
|
from .api_wrapper import GitLabAPIWrapper
|
10
|
-
# from .tools import __all__
|
11
10
|
from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
|
12
11
|
|
13
12
|
name = "gitlab"
|
@@ -24,7 +23,7 @@ def get_tools(tool):
|
|
24
23
|
llm=tool['settings'].get('llm', None),
|
25
24
|
alita=tool['settings'].get('alita', None),
|
26
25
|
connection_string=tool['settings'].get('connection_string', None),
|
27
|
-
collection_name=
|
26
|
+
collection_name=str(tool['toolkit_name']),
|
28
27
|
doctype='code',
|
29
28
|
embedding_model="HuggingFaceEmbeddings",
|
30
29
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
@@ -51,6 +50,10 @@ class AlitaGitlabToolkit(BaseToolkit):
|
|
51
50
|
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
52
51
|
default=None,
|
53
52
|
json_schema_extra={'secret': True})),
|
53
|
+
|
54
|
+
# embedder settings
|
55
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
56
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
54
57
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
55
58
|
__config__=ConfigDict(json_schema_extra={
|
56
59
|
'metadata': {
|
@@ -25,7 +25,7 @@ def get_tools(tool):
|
|
25
25
|
llm=tool['settings'].get('llm', None),
|
26
26
|
alita=tool['settings'].get('alita', None),
|
27
27
|
connection_string=tool['settings'].get('connection_string', None),
|
28
|
-
collection_name=
|
28
|
+
collection_name=str(tool['toolkit_name']),
|
29
29
|
embedding_model="HuggingFaceEmbeddings",
|
30
30
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
31
31
|
vectorstore_type="PGVector",
|
@@ -81,6 +81,16 @@ class JiraToolkit(BaseToolkit):
|
|
81
81
|
)),
|
82
82
|
verify_ssl=(bool, Field(description="Verify SSL", default=True)),
|
83
83
|
additional_fields=(Optional[str], Field(description="Additional fields", default="")),
|
84
|
+
|
85
|
+
# indexer settings
|
86
|
+
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
87
|
+
default=None,
|
88
|
+
json_schema_extra={'secret': True})),
|
89
|
+
|
90
|
+
# embedder settings
|
91
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
92
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
93
|
+
|
84
94
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
85
95
|
__config__=ConfigDict(json_schema_extra={
|
86
96
|
'metadata': {
|
@@ -18,7 +18,7 @@ def get_tools(tool):
|
|
18
18
|
llm=tool['settings'].get('llm'),
|
19
19
|
# indexer settings
|
20
20
|
connection_string=tool['settings'].get('connection_string', None),
|
21
|
-
collection_name=
|
21
|
+
collection_name=str(tool['toolkit_name']),
|
22
22
|
embedding_model="HuggingFaceEmbeddings",
|
23
23
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
24
24
|
vectorstore_type="PGVector")
|
@@ -43,6 +43,10 @@ class SharepointToolkit(BaseToolkit):
|
|
43
43
|
connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
|
44
44
|
default=None,
|
45
45
|
json_schema_extra={'secret': True})),
|
46
|
+
|
47
|
+
# embedder settings
|
48
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
49
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
46
50
|
__config__=ConfigDict(json_schema_extra={
|
47
51
|
'metadata': {
|
48
52
|
"label": "Sharepoint", "icon_url": "sharepoint.svg",
|
@@ -172,7 +172,6 @@ class SharepointApiWrapper(BaseVectorStoreToolApiWrapper):
|
|
172
172
|
yield Document(page_content=str(content), metadata=new_metadata)
|
173
173
|
else:
|
174
174
|
document.page_content = str(doc_content)
|
175
|
-
yield document
|
176
175
|
|
177
176
|
@extend_with_vector_tools
|
178
177
|
def get_available_tools(self):
|
@@ -55,6 +55,10 @@ class TestrailToolkit(BaseToolkit):
|
|
55
55
|
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
56
56
|
default=None,
|
57
57
|
json_schema_extra={'secret': True})),
|
58
|
+
|
59
|
+
# embedder settings
|
60
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
61
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
58
62
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
59
63
|
__config__=ConfigDict(json_schema_extra={'metadata':
|
60
64
|
{"label": "Testrail", "icon_url": "testrail-icon.svg",
|
@@ -0,0 +1,91 @@
|
|
1
|
+
from abc import ABC, abstractmethod
|
2
|
+
from typing import Any, Dict, Optional
|
3
|
+
|
4
|
+
|
5
|
+
class VectorStoreAdapter(ABC):
|
6
|
+
"""Abstract base class for vector store adapters."""
|
7
|
+
|
8
|
+
@abstractmethod
|
9
|
+
def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
|
10
|
+
"""Get vector store specific parameters."""
|
11
|
+
pass
|
12
|
+
|
13
|
+
@abstractmethod
|
14
|
+
def list_collections(self, vectorstore_wrapper) -> str:
|
15
|
+
"""List all collections in the vector store."""
|
16
|
+
pass
|
17
|
+
|
18
|
+
@abstractmethod
|
19
|
+
def remove_collection(self, vectorstore_wrapper, collection_name: str):
|
20
|
+
"""Remove a collection from the vector store."""
|
21
|
+
pass
|
22
|
+
|
23
|
+
|
24
|
+
class PGVectorAdapter(VectorStoreAdapter):
|
25
|
+
"""Adapter for PGVector database operations."""
|
26
|
+
|
27
|
+
def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
|
28
|
+
return {
|
29
|
+
"use_jsonb": True,
|
30
|
+
"collection_name": collection_name,
|
31
|
+
"create_extension": True,
|
32
|
+
"alita_sdk_options": {
|
33
|
+
"target_schema": collection_name,
|
34
|
+
},
|
35
|
+
"connection_string": connection_string
|
36
|
+
}
|
37
|
+
|
38
|
+
def list_collections(self, vectorstore_wrapper) -> str:
|
39
|
+
from sqlalchemy import text
|
40
|
+
from sqlalchemy.orm import Session
|
41
|
+
|
42
|
+
with Session(vectorstore_wrapper.vectorstore.session_maker.bind) as session:
|
43
|
+
get_collections = text("""
|
44
|
+
SELECT table_schema
|
45
|
+
FROM information_schema.columns
|
46
|
+
WHERE udt_name = 'vector';
|
47
|
+
""")
|
48
|
+
result = session.execute(get_collections)
|
49
|
+
docs = result.fetchall()
|
50
|
+
return str(docs)
|
51
|
+
|
52
|
+
def remove_collection(self, vectorstore_wrapper, collection_name: str):
|
53
|
+
vectorstore_wrapper._remove_collection()
|
54
|
+
|
55
|
+
|
56
|
+
class ChromaAdapter(VectorStoreAdapter):
|
57
|
+
"""Adapter for Chroma database operations."""
|
58
|
+
|
59
|
+
def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
|
60
|
+
return {
|
61
|
+
"collection_name": collection_name,
|
62
|
+
"persist_directory": "./indexer_db"
|
63
|
+
}
|
64
|
+
|
65
|
+
def list_collections(self, vectorstore_wrapper) -> str:
|
66
|
+
vector_client = vectorstore_wrapper.vectoradapter.vectorstore._client
|
67
|
+
return ','.join([collection.name for collection in vector_client.list_collections()])
|
68
|
+
|
69
|
+
def remove_collection(self, vectorstore_wrapper, collection_name: str):
|
70
|
+
vectorstore_wrapper.vectoradapter.vectorstore.delete_collection()
|
71
|
+
|
72
|
+
|
73
|
+
class VectorStoreAdapterFactory:
|
74
|
+
"""Factory for creating vector store adapters."""
|
75
|
+
|
76
|
+
_adapters = {
|
77
|
+
'PGVector': PGVectorAdapter,
|
78
|
+
'Chroma': ChromaAdapter,
|
79
|
+
}
|
80
|
+
|
81
|
+
@classmethod
|
82
|
+
def create_adapter(cls, vectorstore_type: str) -> VectorStoreAdapter:
|
83
|
+
adapter_class = cls._adapters.get(vectorstore_type)
|
84
|
+
if not adapter_class:
|
85
|
+
raise ValueError(f"Unsupported vectorstore type: {vectorstore_type}")
|
86
|
+
return adapter_class()
|
87
|
+
|
88
|
+
@classmethod
|
89
|
+
def register_adapter(cls, vectorstore_type: str, adapter_class: type):
|
90
|
+
"""Register a new adapter for a vector store type."""
|
91
|
+
cls._adapters[vectorstore_type] = adapter_class
|
File without changes
|
@@ -24,7 +24,7 @@ def get_tools(tool):
|
|
24
24
|
|
25
25
|
# indexer settings
|
26
26
|
connection_string=tool['settings'].get('connection_string', None),
|
27
|
-
collection_name=
|
27
|
+
collection_name=str(tool['toolkit_name']),
|
28
28
|
embedding_model="HuggingFaceEmbeddings",
|
29
29
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
30
30
|
vectorstore_type="PGVector"
|
@@ -45,6 +45,16 @@ class XrayToolkit(BaseToolkit):
|
|
45
45
|
client_id=(str, Field(description="Client ID")),
|
46
46
|
client_secret=(SecretStr, Field(description="Client secret", json_schema_extra={'secret': True})),
|
47
47
|
limit=(Optional[int], Field(description="Limit", default=100)),
|
48
|
+
|
49
|
+
# indexer settings
|
50
|
+
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
51
|
+
default=None,
|
52
|
+
json_schema_extra={'secret': True})),
|
53
|
+
|
54
|
+
# embedder settings
|
55
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
56
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
57
|
+
|
48
58
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
49
59
|
__config__={'json_schema_extra':
|
50
60
|
{
|
@@ -18,7 +18,7 @@ def get_tools(tool):
|
|
18
18
|
|
19
19
|
# indexer settings
|
20
20
|
connection_string=tool['settings'].get('connection_string', None),
|
21
|
-
collection_name=
|
21
|
+
collection_name=str(tool['toolkit_name']),
|
22
22
|
embedding_model="HuggingFaceEmbeddings",
|
23
23
|
embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
|
24
24
|
vectorstore_type="PGVector"
|
@@ -41,6 +41,10 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
|
|
41
41
|
connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
|
42
42
|
default=None,
|
43
43
|
json_schema_extra={'secret': True})),
|
44
|
+
|
45
|
+
# embedder settings
|
46
|
+
embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
|
47
|
+
embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
|
44
48
|
selected_tools=(List[Literal[tuple(selected_tools)]], []),
|
45
49
|
__config__=ConfigDict(json_schema_extra={
|
46
50
|
'metadata': {
|
@@ -71,4 +75,3 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
|
|
71
75
|
|
72
76
|
def get_tools(self) -> List[BaseTool]:
|
73
77
|
return self.tools
|
74
|
-
|