Metadata-Version: 2.1
Name: vital-llm-reasoner
Version: 0.0.9
Summary: Vital LLM Reasoner
Home-page: https://github.com/vital-ai/vital-llm-reasoner
Author: Marc Hadfield
Author-email: marc@vital.ai
License: Apache License 2.0
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: vital-agentbox>=0.0.2
Requires-Dist: kgraphlang>=0.0.9
Requires-Dist: lark
Requires-Dist: langchain-openai==0.2.1
Requires-Dist: openai==1.52.0
Requires-Dist: langchain==0.3.9
Requires-Dist: langchain_openai
Requires-Dist: langchain_core
Requires-Dist: pyahocorasick>=2.1.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: torch
Requires-Dist: transformers
Requires-Dist: sentencepiece
Requires-Dist: tqdm
Requires-Dist: nltk
Requires-Dist: bs4
Requires-Dist: pdfplumber
Requires-Dist: scrapy
Requires-Dist: scrapy-playwright
Requires-Dist: playwright
Requires-Dist: markitdown
Requires-Dist: black
Requires-Dist: google-search-results>=2.4.2
Requires-Dist: requests
Requires-Dist: vital-logic>=0.1.0
Requires-Dist: vital-ai-vitalsigns>=0.1.27
Requires-Dist: vital-ai-domain>=0.1.4
Requires-Dist: pyyaml
Requires-Dist: vital-ai-haley-kg>=0.1.24
Requires-Dist: kgraphservice>=0.0.6
Requires-Dist: sentence_transformers>=3.3.1
Requires-Dist: llama-cpp-python>=0.2.20
Provides-Extra: llamacpp
Requires-Dist: llama-cpp-python>=0.2.20; extra == "llamacpp"
Provides-Extra: vllm
Requires-Dist: vllm>=0.7.0; extra == "vllm"

# vital-llm-reasoner

Very much work in progress

Needs to do:
playwright install 

# Ensemble Reasoning

Implementation to address deployment in:
Llama.cpp: CPU and GPU
vLLM: GPU
transformers (huggingface): GPU, baseline for ensemble attention implementation?

Initially all ensemble calls are synchronous and initiated by the LLM Reasoner

# Version 1 Magic Tokens

start ensemble call
end ensemble call

start ensemble result
end ensemble result

# Version 1 Tags

<ensemble:member_request>
</ensemble:member_request>

<ensemble:member_response>
</ensemble:member_response>

member is one of:
web_search
wikidata_search
kgraph_search
kgraph_traverse
logic_query
code_executor
llm

logic_query terms for testing:
friend(?Friend)
search_friends('search term', ?Friend)
get_friend('friend_uri', ?Friend)
traverse('uri', ?Node)
traverse_incoming('uri', ?Node)
traverse_outgoing('uri', ?Node)

# Version 2 Tags
# Use JSON Schema
 include request id
 
Potentially handle async cases with:
1) initial ensemble call
2) acknowledgement
3) result 
