lumis-ai 0.1.1a2__tar.gz → 0.1.1a3__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.
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/PKG-INFO +6 -9
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/tools/search.py +2 -3
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/search_engine_client.py +8 -1
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/pyproject.toml +6 -11
- lumis_ai-0.1.1a3/uv.lock +5215 -0
- lumis_ai-0.1.1a2/uv.lock +0 -3340
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/.github/workflows/publish.yml +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/.gitignore +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/.python-version +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/.vscode/settings.json +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/LICENSE +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/README.md +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/cookbook/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/cookbook/information_extraction.ipynb +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/cookbook/nlp.ipynb +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/cookbook/utils/config.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/cookbook/utils/helper.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/base/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/base/base_agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/base/core_agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/base/graph_based_agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/prompt_refinement_pipeline.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/qa_research_agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/react_agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/source_models.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/source_tracker.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/tools/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/research_agent/types.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/storm/agent.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/storm/interview_graph.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/storm/models/outline.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/agents/storm/models/survey_subjects.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/common/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/common/coloured_logger.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/common/logger_mixin.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/django/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/django/models/chat_memory.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/document.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/event_emitter.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/coroutine.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/helpers.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/inference.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/number.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/status_manager.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/string.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/thread_runner.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/thread_safe_cache.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/time.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/core/utils/types.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/embedding/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/embedding/base_embedding.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/embedding/huggingface_embedding.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/embedding/openai_embedding.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/evaluators/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/evaluators/conciseness_and_clarity_analyzer.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/evaluators/relevancy.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/graph.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/nodes/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/nodes/llm_chat_node.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/nodes/llm_node.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/nodes/llm_structured_node.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/kit/utils.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/base_llm.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/gemini_llm.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/ollama_llm.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/openai_llm.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/llm/perplexity_llm.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/memory/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/memory/base_memory.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/memory/simple_memory.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/information_extraction/FactExtractor.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/ner/config/entity_rel_extraction.cfg +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/ner/config/fill-config.cfg +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/ner/ner.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/semantic_parser.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/spacy_summarizer.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/summarizer.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/nlp/vector_similarity_retriever.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/reader/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/reader/pdf.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/storage/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/storage/base_vector_db.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/storage/chroma_vector_db.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/storage/faiss_vector_db.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/scraper.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/__init__.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/arxiv.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/pytrends.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/vector_search_retrieval_engine.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/wiki.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis/tools/search/yahoofinance.py +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/lumis.code-workspace +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/poetry.lock +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/poetry.toml +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/ruff.toml +0 -0
- {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a3}/tests/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lumis-ai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1a3
|
|
4
4
|
Summary: An AI agent framework for building LLM-powered applications
|
|
5
5
|
Project-URL: Homepage, https://github.com/tareksanger/lumis
|
|
6
6
|
Project-URL: Repository, https://github.com/tareksanger/lumis
|
|
@@ -24,6 +24,7 @@ Requires-Dist: asgiref>=3.8.1
|
|
|
24
24
|
Requires-Dist: beautifulsoup4>=4.12.0
|
|
25
25
|
Requires-Dist: deepmerge>=2.0.0
|
|
26
26
|
Requires-Dist: faiss-cpu>=1.7.0
|
|
27
|
+
Requires-Dist: google-genai>=1.61.0
|
|
27
28
|
Requires-Dist: googlesearch-python>=1.2.0
|
|
28
29
|
Requires-Dist: httpx>=0.27.0
|
|
29
30
|
Requires-Dist: huggingface-hub>=0.24.0
|
|
@@ -31,7 +32,6 @@ Requires-Dist: langchain-core>=0.3.13
|
|
|
31
32
|
Requires-Dist: langchain>=0.3.4
|
|
32
33
|
Requires-Dist: lxml>=4.9.0
|
|
33
34
|
Requires-Dist: minify-html>=0.11.0
|
|
34
|
-
Requires-Dist: neo4j>=5.25.0
|
|
35
35
|
Requires-Dist: nltk>=3.9.0
|
|
36
36
|
Requires-Dist: numpy>=1.24
|
|
37
37
|
Requires-Dist: ollama>=0.3.0
|
|
@@ -42,12 +42,11 @@ Requires-Dist: pymupdf>=1.22.0
|
|
|
42
42
|
Requires-Dist: pypdf2>=3.0.0
|
|
43
43
|
Requires-Dist: python-dateutil>=2.8.0
|
|
44
44
|
Requires-Dist: pyvis>=0.3.0
|
|
45
|
-
Requires-Dist: readability-lxml>=
|
|
45
|
+
Requires-Dist: readability-lxml>=0.8.0
|
|
46
46
|
Requires-Dist: redis>=5.0.0
|
|
47
47
|
Requires-Dist: requests>=2.28.0
|
|
48
48
|
Requires-Dist: scikit-learn>=1.0.0
|
|
49
49
|
Requires-Dist: sentence-transformers>=2.2.2
|
|
50
|
-
Requires-Dist: tavily-python>=0.3.0
|
|
51
50
|
Requires-Dist: tenacity>=9.0.0
|
|
52
51
|
Requires-Dist: textstat>=0.7.0
|
|
53
52
|
Requires-Dist: tiktoken>=0.5.0
|
|
@@ -59,13 +58,11 @@ Provides-Extra: django
|
|
|
59
58
|
Requires-Dist: django>=4.2; extra == 'django'
|
|
60
59
|
Provides-Extra: search
|
|
61
60
|
Requires-Dist: arxiv>=0.5.0; extra == 'search'
|
|
62
|
-
Requires-Dist: pytrends>=5.
|
|
61
|
+
Requires-Dist: pytrends>=4.5.0; extra == 'search'
|
|
62
|
+
Requires-Dist: tavily-python>=0.3.0; extra == 'search'
|
|
63
63
|
Requires-Dist: yfinance>=0.2.0; extra == 'search'
|
|
64
64
|
Provides-Extra: spacy
|
|
65
|
-
Requires-Dist:
|
|
66
|
-
Requires-Dist: coreferee>=1.3.0; extra == 'spacy'
|
|
67
|
-
Requires-Dist: en-core-web-lg<3.8.0,>=3.7.0; extra == 'spacy'
|
|
68
|
-
Requires-Dist: en-core-web-trf<3.8.0,>=3.7.0; extra == 'spacy'
|
|
65
|
+
Requires-Dist: pytextrank>=3.2.0; extra == 'spacy'
|
|
69
66
|
Requires-Dist: spacy-llm>=0.7.2; extra == 'spacy'
|
|
70
67
|
Requires-Dist: spacy<3.8.0,>=3.7.0; extra == 'spacy'
|
|
71
68
|
Description-Content-Type: text/markdown
|
|
@@ -7,8 +7,6 @@ from typing import Any, Optional
|
|
|
7
7
|
from lumis.llm import Gemini
|
|
8
8
|
from lumis.tools import WikipediaSearcher
|
|
9
9
|
from lumis.tools.search.arxiv import ArxivResult, ArxivSearcher
|
|
10
|
-
|
|
11
|
-
from arxiv import SortCriterion, SortOrder
|
|
12
10
|
from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_exponential
|
|
13
11
|
|
|
14
12
|
logger = logging.getLogger(__name__)
|
|
@@ -173,7 +171,8 @@ async def search_arxiv( # noqa: C901
|
|
|
173
171
|
summary_semaphore = asyncio.Semaphore(4)
|
|
174
172
|
|
|
175
173
|
try:
|
|
176
|
-
|
|
174
|
+
from arxiv import SortCriterion, SortOrder
|
|
175
|
+
|
|
177
176
|
sort_criterion = SortCriterion(sort_by)
|
|
178
177
|
sort_order_enum = SortOrder(sort_order)
|
|
179
178
|
|
|
@@ -8,9 +8,16 @@ from typing import Literal, Optional, Sequence
|
|
|
8
8
|
|
|
9
9
|
from googlesearch import search as google_search
|
|
10
10
|
import redis.asyncio as aioredis
|
|
11
|
-
from tavily import TavilyClient, UsageLimitExceededError
|
|
12
11
|
from typing_extensions import TypedDict
|
|
13
12
|
|
|
13
|
+
try:
|
|
14
|
+
from tavili import TavilyClient, UsageLimitExceededError
|
|
15
|
+
except ImportError:
|
|
16
|
+
TavilyClient = None # type: ignore[assignment,misc]
|
|
17
|
+
|
|
18
|
+
class UsageLimitExceededError(Exception): # type: ignore[no-redef]
|
|
19
|
+
pass
|
|
20
|
+
|
|
14
21
|
logger = logging.getLogger(__name__)
|
|
15
22
|
|
|
16
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lumis-ai"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1a3"
|
|
4
4
|
description = "An AI agent framework for building LLM-powered applications"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -33,7 +33,6 @@ dependencies = [
|
|
|
33
33
|
"langchain-core>=0.3.13",
|
|
34
34
|
"lxml>=4.9.0",
|
|
35
35
|
"minify-html>=0.11.0",
|
|
36
|
-
"neo4j>=5.25.0",
|
|
37
36
|
"nltk>=3.9.0",
|
|
38
37
|
"numpy>=1.24",
|
|
39
38
|
"ollama>=0.3.0",
|
|
@@ -44,12 +43,11 @@ dependencies = [
|
|
|
44
43
|
"pydantic>=2.9.2",
|
|
45
44
|
"python-dateutil>=2.8.0",
|
|
46
45
|
"pyvis>=0.3.0",
|
|
47
|
-
"readability-lxml>=
|
|
46
|
+
"readability-lxml>=0.8.0",
|
|
48
47
|
"redis>=5.0.0",
|
|
49
48
|
"requests>=2.28.0",
|
|
50
49
|
"scikit-learn>=1.0.0",
|
|
51
50
|
"sentence-transformers>=2.2.2",
|
|
52
|
-
"tavily-python>=0.3.0",
|
|
53
51
|
"tenacity>=9.0.0",
|
|
54
52
|
"textstat>=0.7.0",
|
|
55
53
|
"tiktoken>=0.5.0",
|
|
@@ -57,6 +55,7 @@ dependencies = [
|
|
|
57
55
|
"transformers>=4.0.0",
|
|
58
56
|
"typing-extensions>=4.0.0",
|
|
59
57
|
"wikipedia>=1.4.0",
|
|
58
|
+
"google-genai>=1.61.0",
|
|
60
59
|
]
|
|
61
60
|
|
|
62
61
|
[project.optional-dependencies]
|
|
@@ -65,14 +64,12 @@ django = [
|
|
|
65
64
|
]
|
|
66
65
|
search = [
|
|
67
66
|
"arxiv>=0.5.0",
|
|
68
|
-
"pytrends>=5.
|
|
67
|
+
"pytrends>=4.5.0",
|
|
68
|
+
"tavily-python>=0.3.0",
|
|
69
69
|
"yfinance>=0.2.0",
|
|
70
70
|
]
|
|
71
71
|
spacy = [
|
|
72
|
-
"
|
|
73
|
-
"coreferee-model-en>=1.0.0",
|
|
74
|
-
"en-core-web-lg>=3.7.0,<3.8.0",
|
|
75
|
-
"en-core-web-trf>=3.7.0,<3.8.0",
|
|
72
|
+
"pytextrank>=3.2.0",
|
|
76
73
|
"spacy>=3.7.0,<3.8.0",
|
|
77
74
|
"spacy-llm>=0.7.2",
|
|
78
75
|
]
|
|
@@ -96,8 +93,6 @@ dev = [
|
|
|
96
93
|
torch = [
|
|
97
94
|
{ index = "pytorch", marker = "sys_platform != 'darwin'" },
|
|
98
95
|
]
|
|
99
|
-
en-core-web-trf = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.7.1/en_core_web_trf-3.7.1-py3-none-any.whl" }
|
|
100
|
-
en-core-web-lg = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.7.0/en_core_web_lg-3.7.0-py3-none-any.whl" }
|
|
101
96
|
|
|
102
97
|
[[tool.uv.index]]
|
|
103
98
|
name = "pytorch"
|