symbolicai 0.20.2__tar.gz → 0.21.0__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.
- {symbolicai-0.20.2 → symbolicai-0.21.0}/.gitignore +2 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/.symai/symsh.config.json +1 -2
- {symbolicai-0.20.2 → symbolicai-0.21.0}/PKG-INFO +1 -1
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/local_engine.md +8 -9
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/__init__.py +1 -1
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/embedding/engine_llama_cpp.py +8 -7
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_llama_cpp.py +78 -7
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/functional.py +5 -2
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/PKG-INFO +1 -1
- {symbolicai-0.20.2 → symbolicai-0.21.0}/.gitbook.yaml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/.github/FUNDING.yml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/CITATION.cff +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/Dockerfile +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/LICENSE +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/MANIFEST.in +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/README.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/app.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/banner.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/cat.jpg +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/cat.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/contract_flow.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img1.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img10.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img2.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img3.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img4.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img5.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img6.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img7.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img8.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/img9.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/preview.gif +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/screen1.jpeg +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/symai_logo.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/symsh.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid1.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid2.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid3.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid4.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid5.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/images/vid6.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/results/news.html +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/results/news.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/assets/results/news_prev.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/bin/install.ps1 +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/bin/install.sh +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/build.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docker-compose.yml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/clip_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/custom_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/drawing_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/file_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/indexing_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/neurosymbolic_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/ocr_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/search_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/speech_to_text_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/symbolic_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/ENGINES/webscraping_engine.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/contracts.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/error_handling.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/expressions.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/import.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/operations.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/FEATURES/primitives.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/INSTALLATION.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/INTRODUCTION.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/QUICKSTART.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/SUMMARY.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TOOLS/chatbot.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TOOLS/packages.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TOOLS/shell.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TUTORIALS/chatbot.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TUTORIALS/context.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TUTORIALS/data_query.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/docs/source/TUTORIALS/video_tutorials.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/environment.yml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/examples/contracts.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/examples/primitives.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/icon_converter.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/installer.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/Basics.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/ChatBot.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/Conversation.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/Indexer.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/News.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/Queries.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/TTS_Persona.ipynb +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/Lean engine.png +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/a_star.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/abstract.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/audio.mp3 +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/dbpedia_samples.jsonl +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/dbpedia_samples_prepared_train.jsonl +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/dbpedia_samples_prepared_valid.jsonl +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/demo.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/demo_strategy.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/docs.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/einsteins_puzzle.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/file.json +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/lean.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/news.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/paper.pdf +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/paper.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/legacy/notebooks/examples/sql.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/public/eai.svg +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/pyproject.toml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/pytest.ini +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/setup.cfg +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/setup.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/TERMS_OF_SERVICE.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/base.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/driver/webclient.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/drawing/engine_bfl.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/drawing/engine_gpt_image.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/embedding/engine_openai.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/embedding/engine_plugin_embeddings.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/execute/engine_python.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/files/engine_io.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/imagecaptioning/engine_blip2.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/imagecaptioning/engine_llavacpp_client.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/index/engine_pinecone.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/index/engine_vectordb.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/lean/engine_lean4.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_anthropic_claudeX_chat.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_anthropic_claudeX_reasoning.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_deepseekX_reasoning.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_google_geminiX_reasoning.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_groq.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_huggingface.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_openai_gptX_chat.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_openai_gptX_reasoning.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/ocr/engine_apilayer.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/output/engine_stdout.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/search/engine_openai.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/search/engine_perplexity.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/search/engine_serpapi.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/speech_to_text/engine_local_whisper.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/symbolic/engine_wolframalpha.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/text_to_speech/engine_openai.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/text_vision/engine_clip.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/userinput/engine_console.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/webscraping/engine_requests.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/anthropic.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/deepseek.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/google.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/groq.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/mixin/openai.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/settings.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/chat.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/collect/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/collect/dynamic.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/collect/pipeline.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/collect/stats.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/components.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/constraints.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/context.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/core.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/core_ext.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/endpoints/__init__py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/endpoints/api.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/exceptions.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/api_builder.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/arxiv_pdf_parser.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/bibtex_parser.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/conversation.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/document.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/file_merger.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/graph.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/html_style_template.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/blip_2.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/clip.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/console.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/dall_e.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/file.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/flux.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/gpt_image.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/input.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/llava.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/naive_vectordb.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/naive_webscraping.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/ocr.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/openai_search.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/perplexity.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/pinecone.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/python.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/serpapi.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/terminal.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/tts.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/whisper.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/interfaces/wolframalpha.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/metrics/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/metrics/similarity.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/os_command.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/packages/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/packages/symdev.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/packages/sympkg.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/packages/symrun.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/builder.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/dialogue.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/persona.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/research/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/research/yann_lecun.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/sales/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/sales/erik_james.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/student/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/personas/student/max_tenner.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/repo_cloner.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/seo_query_optimizer.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/solver.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/strategies/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/strategies/cot.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/summarizer.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/taypan_interpreter.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/extended/vectordb.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/formatter/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/formatter/emoji.pytxt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/formatter/formatter.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/formatter/regex.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/imports.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/interfaces.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/memory.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/menu/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/menu/screen.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/misc/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/misc/console.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/misc/loader.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/models/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/models/base.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/models/errors.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/ops/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/ops/measures.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/ops/primitives.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/post_processors.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/pre_processors.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/processor.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/prompts.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/server/__init__.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/server/huggingface_server.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/server/llama_cpp_server.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/shell.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/shellsv.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/strategy.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/symbol.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/symsh.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symai/utils.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/SOURCES.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/dependency_links.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/entry_points.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/requires.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/symbolicai.egg-info/top_level.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/tests/README.md +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/tests/data/audio.mp3 +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/tests/data/pg1727.txt +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/tests/engines/search/openai_engine.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/tests/engines/search/perplexity_engine.py +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/trusted_repos.yml +0 -0
- {symbolicai-0.20.2 → symbolicai-0.21.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: symbolicai
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.21.0
|
|
4
4
|
Summary: A Neurosymbolic Perspective on Large Language Models
|
|
5
5
|
Author-email: Marius-Constantin Dinu <marius@extensity.ai>, Leoveanu-Condrei Claudiu <leo@extensity.ai>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -3,16 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
You can use a locally hosted instance for the Neuro-Symbolic Engine. We build on top of:
|
|
5
5
|
- [llama.cpp](https://github.com/ggerganov/llama.cpp/tree/master) either through:
|
|
6
|
-
> ❗️**NOTE**❗️ Latest `llama.cpp` commit on `master` branch that we tested `symai` with is `
|
|
6
|
+
> ❗️**NOTE**❗️ Latest `llama.cpp` commit on `master` branch on November 5th, 2025 that we tested `symai` with is `a5c07dcd7b49`. We used the build [setup](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md).
|
|
7
7
|
- Direct C++ server from llama.cpp
|
|
8
8
|
- [llama-cpp-python](https://github.com/abetlen/llama-cpp-python?tab=readme-ov-file)
|
|
9
9
|
- [huggingface/transformers](https://huggingface.co/docs/transformers/en/index) through a custom FastAPI server.
|
|
10
10
|
|
|
11
11
|
### llama.cpp backend
|
|
12
|
-
For instance, let's suppose you want to set
|
|
13
|
-
```bash
|
|
14
|
-
huggingface-cli download TheBloke/LLaMA-Pro-8B-Instruct-GGUF llama-pro-8b-instruct.Q4_K_M.gguf --local-dir .
|
|
15
|
-
```
|
|
12
|
+
For instance, let's suppose you want to set up the Neuro-Symbolic Engine with the `gpt-oss-120b` model. Download the GGUF shards you need (e.g. the `Q4_1` variant).
|
|
16
13
|
|
|
17
14
|
With `symai`, first set the `NEUROSYMBOLIC_ENGINE_MODEL` to `llamacpp`:
|
|
18
15
|
|
|
@@ -33,15 +30,17 @@ symserver --env python --model ./llama-pro-8b-instruct.Q4_K_M.gguf --n_gpu_layer
|
|
|
33
30
|
|
|
34
31
|
2. Using C++ server directly:
|
|
35
32
|
```bash
|
|
36
|
-
symserver --env cpp --cpp-server-path /path/to/llama.cpp/server -m
|
|
33
|
+
symserver --env cpp --cpp-server-path /path/to/llama.cpp/llama-server -ngl -1 -m gpt-oss-120b/Q4_1/gpt-oss-120b-Q4_1-00001-of-00002.gguf -fa 'on' -b 8092 -ub 1024 --port 8000 --host localhost -c 0 -n 4096 -t 14 --jinja
|
|
37
34
|
```
|
|
38
35
|
|
|
39
36
|
To see all available options, run:
|
|
40
37
|
```bash
|
|
41
38
|
symserver --env python --help # for Python bindings
|
|
42
|
-
symserver --env cpp --cpp-server-path /path/to/llama.cpp/server --help # for C++ server
|
|
39
|
+
symserver --env cpp --cpp-server-path /path/to/llama.cpp/llama-server --help # for C++ server
|
|
43
40
|
```
|
|
44
41
|
|
|
42
|
+
The Neuro-Symbolic Engine now supports tool execution and structured JSON responses out of the box. For concrete examples, review the tests in `tests/engines/neurosymbolic/test_nesy_engine.py::test_tool_usage` and `tests/contract/test_contract.py`.
|
|
43
|
+
|
|
45
44
|
### HuggingFace backend
|
|
46
45
|
Let's suppose we want to use `dolphin-2.9.3-mistral-7B-32k` from HuggingFace. First, download the model with the HuggingFace CLI:
|
|
47
46
|
```bash
|
|
@@ -109,7 +108,7 @@ symserver --env python --model nomic-embed-text-v1.5.Q8_0.gguf --embedding True
|
|
|
109
108
|
|
|
110
109
|
C++ server:
|
|
111
110
|
```bash
|
|
112
|
-
symserver --env cpp --cpp-server-path /path/to/llama.cpp/server
|
|
111
|
+
symserver --env cpp --cpp-server-path /path/to/llama.cpp/llama-server -ngl -1 -m nomic-embed-text-v1.5.Q8_0.gguf --embedding -b 8092 -ub 1024 --port 8000 --host localhost -t 14 --mlock --no-mmap
|
|
113
112
|
```
|
|
114
113
|
|
|
115
114
|
The server supports batch processing for embeddings. Here's how to use it with `symai`:
|
|
@@ -123,5 +122,5 @@ embedding = Symbol(some_text).embed() # returns a list (1 x dim)
|
|
|
123
122
|
|
|
124
123
|
# Batch processing
|
|
125
124
|
some_batch_of_texts = ["Hello, world!"] * 32
|
|
126
|
-
embeddings = Symbol(some_batch_of_texts).embed() # returns a list (32 x dim)
|
|
125
|
+
embeddings = Symbol(some_batch_of_texts).embed() # returns a list (32 x 1 x dim)
|
|
127
126
|
```
|
|
@@ -84,7 +84,7 @@ class LlamaCppEmbeddingEngine(Engine):
|
|
|
84
84
|
asyncio.set_event_loop(new_loop)
|
|
85
85
|
return new_loop
|
|
86
86
|
|
|
87
|
-
async def _arequest(self, text: str) -> dict:
|
|
87
|
+
async def _arequest(self, text: str, embd_normalize: str) -> dict:
|
|
88
88
|
"""Makes an async HTTP request to the llama.cpp server."""
|
|
89
89
|
@retry(**self.retry_params)
|
|
90
90
|
async def _make_request():
|
|
@@ -95,7 +95,7 @@ class LlamaCppEmbeddingEngine(Engine):
|
|
|
95
95
|
async with aiohttp.ClientSession(timeout=timeout) as session:
|
|
96
96
|
async with session.post(
|
|
97
97
|
f"{self.server_endpoint}/v1/embeddings",
|
|
98
|
-
json={"
|
|
98
|
+
json={"content": text, "embd_normalize": embd_normalize}
|
|
99
99
|
) as res:
|
|
100
100
|
if res.status != 200:
|
|
101
101
|
raise ValueError(f"Request failed with status code: {res.status}")
|
|
@@ -108,21 +108,22 @@ class LlamaCppEmbeddingEngine(Engine):
|
|
|
108
108
|
kwargs = argument.kwargs
|
|
109
109
|
|
|
110
110
|
inp = prepared_input if isinstance(prepared_input, list) else [prepared_input]
|
|
111
|
+
embd_normalize = kwargs.get('embd_normalize', -1) # -1 = no normalization
|
|
112
|
+
|
|
111
113
|
new_dim = kwargs.get('new_dim')
|
|
114
|
+
if new_dim:
|
|
115
|
+
raise NotImplementedError("new_dim is not yet supported")
|
|
112
116
|
|
|
113
117
|
nest_asyncio.apply()
|
|
114
118
|
loop = self._get_event_loop()
|
|
115
119
|
|
|
116
120
|
try:
|
|
117
|
-
res = loop.run_until_complete(self._arequest(inp))
|
|
121
|
+
res = loop.run_until_complete(self._arequest(inp, embd_normalize))
|
|
118
122
|
except Exception as e:
|
|
119
123
|
raise ValueError(f"Request failed with error: {str(e)}")
|
|
120
124
|
|
|
121
|
-
if new_dim:
|
|
122
|
-
raise NotImplementedError("new_dim is not yet supported")
|
|
123
|
-
|
|
124
125
|
if res is not None:
|
|
125
|
-
output = [r["embedding"] for r in res
|
|
126
|
+
output = [r["embedding"] for r in res] # B x 1 x D
|
|
126
127
|
else:
|
|
127
128
|
output = None
|
|
128
129
|
metadata = {'raw_output': res}
|
{symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/neurosymbolic/engine_llama_cpp.py
RENAMED
|
@@ -26,8 +26,8 @@ class LlamaCppTokenizer:
|
|
|
26
26
|
@staticmethod
|
|
27
27
|
async def _encode(text: str) -> list[int]:
|
|
28
28
|
async with aiohttp.ClientSession() as session:
|
|
29
|
-
async with session.post(f"{LlamaCppTokenizer._server_endpoint}/
|
|
30
|
-
"
|
|
29
|
+
async with session.post(f"{LlamaCppTokenizer._server_endpoint}/tokenize", json={
|
|
30
|
+
"content": text,
|
|
31
31
|
}) as res:
|
|
32
32
|
if res.status != 200:
|
|
33
33
|
CustomUserWarning(f"Request failed with status code: {res.status}", raise_with=ValueError)
|
|
@@ -46,13 +46,13 @@ class LlamaCppTokenizer:
|
|
|
46
46
|
@staticmethod
|
|
47
47
|
async def _decode(tokens: list[int]) -> str:
|
|
48
48
|
async with aiohttp.ClientSession() as session:
|
|
49
|
-
async with session.post(f"{LlamaCppTokenizer._server_endpoint}/
|
|
49
|
+
async with session.post(f"{LlamaCppTokenizer._server_endpoint}/detokenize", json={
|
|
50
50
|
"tokens": tokens,
|
|
51
51
|
}) as res:
|
|
52
52
|
if res.status != 200:
|
|
53
53
|
CustomUserWarning(f"Request failed with status code: {res.status}", raise_with=ValueError)
|
|
54
54
|
res = await res.json()
|
|
55
|
-
return res['
|
|
55
|
+
return res['content']
|
|
56
56
|
|
|
57
57
|
@staticmethod
|
|
58
58
|
def decode(tokens: list[int]) -> str:
|
|
@@ -148,7 +148,7 @@ class LlamaCppEngine(Engine):
|
|
|
148
148
|
def _prepare_request_payload(self, argument: Argument) -> dict:
|
|
149
149
|
"""Prepares the request payload from the argument."""
|
|
150
150
|
kwargs = argument.kwargs
|
|
151
|
-
|
|
151
|
+
payload = {
|
|
152
152
|
"messages": argument.prop.prepared_input,
|
|
153
153
|
"temperature": kwargs.get('temperature', 0.6),
|
|
154
154
|
"frequency_penalty": kwargs.get('frequency_penalty', 0),
|
|
@@ -162,12 +162,28 @@ class LlamaCppEngine(Engine):
|
|
|
162
162
|
"repeat_penalty": kwargs.get('repeat_penalty', 1),
|
|
163
163
|
"logits_bias": kwargs.get('logits_bias'),
|
|
164
164
|
"logprobs": kwargs.get('logprobs', False),
|
|
165
|
-
"functions": kwargs.get('functions'),
|
|
166
|
-
"function_call": kwargs.get('function_call'),
|
|
167
165
|
"grammar": kwargs.get('grammar'),
|
|
168
166
|
"response_format": kwargs.get('response_format'),
|
|
169
167
|
}
|
|
170
168
|
|
|
169
|
+
model = SYMSERVER_CONFIG.get('-m') or SYMSERVER_CONFIG.get('--model')
|
|
170
|
+
if model:
|
|
171
|
+
payload["model"] = model
|
|
172
|
+
|
|
173
|
+
tools = kwargs.get('tools')
|
|
174
|
+
if tools:
|
|
175
|
+
payload["tools"] = tools
|
|
176
|
+
|
|
177
|
+
tool_choice = kwargs.get('tool_choice')
|
|
178
|
+
if tool_choice is not None:
|
|
179
|
+
payload["tool_choice"] = tool_choice
|
|
180
|
+
|
|
181
|
+
extra_body = kwargs.get('extra_body')
|
|
182
|
+
if isinstance(extra_body, dict):
|
|
183
|
+
payload.update(extra_body)
|
|
184
|
+
|
|
185
|
+
return payload
|
|
186
|
+
|
|
171
187
|
async def _arequest(self, payload: dict) -> dict:
|
|
172
188
|
"""Makes an async HTTP request to the llama.cpp server."""
|
|
173
189
|
@retry(**self.retry_params)
|
|
@@ -187,6 +203,19 @@ class LlamaCppEngine(Engine):
|
|
|
187
203
|
|
|
188
204
|
return await _make_request()
|
|
189
205
|
|
|
206
|
+
@classmethod
|
|
207
|
+
def _extract_thinking(cls, response):
|
|
208
|
+
"""Extract reasoning traces from llama.cpp responses."""
|
|
209
|
+
if not isinstance(response, dict):
|
|
210
|
+
return None
|
|
211
|
+
choices = response.get('choices', [])
|
|
212
|
+
if not isinstance(choices, list) or not choices:
|
|
213
|
+
return None
|
|
214
|
+
for choice in choices:
|
|
215
|
+
if isinstance(choice, dict) and isinstance(choice.get('message'), dict):
|
|
216
|
+
return choice['message'].get('reasoning_content')
|
|
217
|
+
return None
|
|
218
|
+
|
|
190
219
|
def forward(self, argument):
|
|
191
220
|
payload = self._prepare_request_payload(argument)
|
|
192
221
|
|
|
@@ -200,11 +229,53 @@ class LlamaCppEngine(Engine):
|
|
|
200
229
|
|
|
201
230
|
metadata = {'raw_output': res}
|
|
202
231
|
|
|
232
|
+
if payload.get('tools'):
|
|
233
|
+
metadata = self._process_tool_calls(res, metadata)
|
|
234
|
+
|
|
235
|
+
thinking = self._extract_thinking(res)
|
|
236
|
+
if thinking:
|
|
237
|
+
metadata['thinking'] = thinking
|
|
238
|
+
|
|
203
239
|
output = [r['message']['content'] for r in res['choices']]
|
|
204
240
|
output = output if isinstance(argument.prop.prepared_input, list) else output[0]
|
|
205
241
|
|
|
206
242
|
return output, metadata
|
|
207
243
|
|
|
244
|
+
@staticmethod
|
|
245
|
+
def _process_tool_calls(res, metadata):
|
|
246
|
+
choices = res.get('choices') if isinstance(res, dict) else None
|
|
247
|
+
if not choices:
|
|
248
|
+
return metadata
|
|
249
|
+
hit = False
|
|
250
|
+
for choice in choices:
|
|
251
|
+
if not isinstance(choice, dict):
|
|
252
|
+
continue
|
|
253
|
+
message = choice.get('message') or {}
|
|
254
|
+
tool_calls = message.get('tool_calls') or []
|
|
255
|
+
if not tool_calls:
|
|
256
|
+
continue
|
|
257
|
+
for tool_call in tool_calls:
|
|
258
|
+
if not isinstance(tool_call, dict):
|
|
259
|
+
continue
|
|
260
|
+
function = tool_call.get('function') or {}
|
|
261
|
+
if hit:
|
|
262
|
+
CustomUserWarning("Multiple function calls detected in the response but only the first one will be processed.")
|
|
263
|
+
return metadata
|
|
264
|
+
arguments = function.get('arguments')
|
|
265
|
+
try:
|
|
266
|
+
args_dict = json.loads(arguments) if isinstance(arguments, str) else arguments or {}
|
|
267
|
+
except json.JSONDecodeError:
|
|
268
|
+
args_dict = {}
|
|
269
|
+
metadata['function_call'] = {
|
|
270
|
+
'name': function.get('name'),
|
|
271
|
+
'arguments': args_dict or {}
|
|
272
|
+
}
|
|
273
|
+
hit = True
|
|
274
|
+
break
|
|
275
|
+
if hit:
|
|
276
|
+
break
|
|
277
|
+
return metadata
|
|
278
|
+
|
|
208
279
|
def _prepare_raw_input(self, argument):
|
|
209
280
|
if not argument.prop.processed_input:
|
|
210
281
|
CustomUserWarning('Need to provide a prompt instruction to the engine if raw_input is enabled.', raise_with=ValueError)
|
|
@@ -171,7 +171,10 @@ def _execute_query_fallback(func, instance, argument, error=None, stack_trace=No
|
|
|
171
171
|
This matches the fallback logic used in _process_query by handling errors consistently,
|
|
172
172
|
providing error context to the fallback function, and maintaining the same return format.
|
|
173
173
|
"""
|
|
174
|
-
|
|
174
|
+
try:
|
|
175
|
+
rsp = func(instance, error=error, stack_trace=stack_trace, *argument.args, **argument.signature_kwargs)
|
|
176
|
+
except Exception:
|
|
177
|
+
raise error # re-raise the original error
|
|
175
178
|
if rsp is not None:
|
|
176
179
|
# fallback was implemented
|
|
177
180
|
rsp = dict(data=rsp, error=error, stack_trace=stack_trace)
|
|
@@ -242,7 +245,7 @@ def _process_query(
|
|
|
242
245
|
func: Callable,
|
|
243
246
|
constraints: List[Callable] = [],
|
|
244
247
|
default: Optional[object] = None,
|
|
245
|
-
limit: int =
|
|
248
|
+
limit: int | None = None,
|
|
246
249
|
trials: int = 1,
|
|
247
250
|
pre_processors: Optional[List[PreProcessor]] = None,
|
|
248
251
|
post_processors: Optional[List[PostProcessor]] = None,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: symbolicai
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.21.0
|
|
4
4
|
Summary: A Neurosymbolic Perspective on Large Language Models
|
|
5
5
|
Author-email: Marius-Constantin Dinu <marius@extensity.ai>, Leoveanu-Condrei Claudiu <leo@extensity.ai>
|
|
6
6
|
License: BSD 3-Clause License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/embedding/engine_plugin_embeddings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{symbolicai-0.20.2 → symbolicai-0.21.0}/symai/backend/engines/imagecaptioning/engine_blip2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|