Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge fea-sherlock feature branch into branch-23.11 #1359

Merged
merged 352 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
ca27f0d
Map in constructor overloads for InputMap and LLMContext
dagardner-nv Oct 19, 2023
02fb9c9
First pass at llm node helper
dagardner-nv Oct 20, 2023
01b55ef
Reorganizing the llm examples directory
mdemoret-nv Oct 20, 2023
a8c656d
Reorganizing many of the files in common
mdemoret-nv Oct 20, 2023
fceab4e
Linting cleanup
mdemoret-nv Oct 20, 2023
ed91a6a
Merge pull request #1292 from mdemoret-nv/mdd_sherlock-improve-corout…
mdemoret-nv Oct 20, 2023
3c625c0
Raise on unsopported template type
dagardner-nv Oct 20, 2023
8a934dd
Fix type hints
dagardner-nv Oct 20, 2023
27f4fbe
Tests for PromptTemplateNode
dagardner-nv Oct 20, 2023
8fecc5f
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 20, 2023
be6faf7
Remove default value
dagardner-nv Oct 20, 2023
8f4def4
Make the cache_dir configurable
dagardner-nv Oct 20, 2023
44ad554
Add mapping for LLMContext::push, add python argument names for LLMCo…
dagardner-nv Oct 20, 2023
aebe129
Update tests/_utils/llm.py
dagardner-nv Oct 20, 2023
30c330e
Merge branch 'david-fea-sherlock-restructure' of github.com:dagardner…
dagardner-nv Oct 20, 2023
48a8118
Add prealocator mixin
dagardner-nv Oct 20, 2023
2732535
More tests
dagardner-nv Oct 20, 2023
5dadb8b
Ensure that we return an empty object instead of a null when there ar…
dagardner-nv Oct 20, 2023
511579a
Ensure that templates without place-holders act as pass-thrus
dagardner-nv Oct 20, 2023
ba42a19
wip
dagardner-nv Oct 20, 2023
e1154c6
Fix docstring
dagardner-nv Oct 20, 2023
fcee53d
Improving the agents example to include kafka
mdemoret-nv Oct 21, 2023
647db25
Adding the VDB resource name as a CLI option
mdemoret-nv Oct 22, 2023
867fedb
wip
dagardner-nv Oct 23, 2023
875b248
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 23, 2023
5afaa18
Lint fixes
dagardner-nv Oct 23, 2023
56955bd
linting fixes
dagardner-nv Oct 23, 2023
5bae140
Merge branch 'david-fea-sherlock-restructure' into david-fea-sherlock…
dagardner-nv Oct 23, 2023
d8d693a
Revert temp logging
dagardner-nv Oct 23, 2023
f460bf5
Fix merge errors
dagardner-nv Oct 23, 2023
4ff7963
Merge pull request #1296 from dagardner-nv/david-fea-sherlock-restruc…
dagardner-nv Oct 23, 2023
dc79ed2
Fix inputs [no ci]
dagardner-nv Oct 23, 2023
be86fdf
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 23, 2023
b0613dd
Remove old comment
dagardner-nv Oct 23, 2023
b859ca5
Update concat_dataframes to support ControlMessage's
dagardner-nv Oct 23, 2023
3e2dcd7
Fix test to at least work for single values
dagardner-nv Oct 23, 2023
d4aaad1
Remove old comments
dagardner-nv Oct 23, 2023
08783b4
Sort imports
dagardner-nv Oct 23, 2023
f0f8e93
Merge pull request #1308 from dagardner-nv/david-fea-sherlock-prompt-…
dagardner-nv Oct 23, 2023
389d218
Move imports of packages not in the default environment into the body…
dagardner-nv Oct 23, 2023
5a57ec6
First tests for ArxivSource
dagardner-nv Oct 23, 2023
4d16f6c
Finished tests for _generate_frames
dagardner-nv Oct 24, 2023
7aabb7d
Finished tests for _generate_frames [no ci]
dagardner-nv Oct 24, 2023
f08ac26
Merge branch 'david-fea-sherlock-arxiv-source-stage' of github.com:da…
dagardner-nv Oct 24, 2023
c616190
vdb_upload pipeline updates. (#1309)
drobison00 Oct 24, 2023
68e070a
tests for _process_pages [no ci]
dagardner-nv Oct 24, 2023
785ef37
WIP [no ci]
dagardner-nv Oct 24, 2023
59333a2
Implement max_pages feature, and complete tests [no ci]
dagardner-nv Oct 24, 2023
9c93fc9
Finish pipeline test
dagardner-nv Oct 24, 2023
be7d7f7
Linting fixes
dagardner-nv Oct 24, 2023
455361d
Remove slow marker, this test executes in 0.05s
dagardner-nv Oct 24, 2023
25a3137
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 24, 2023
b33d949
Remove unused import
dagardner-nv Oct 24, 2023
5c64c13
Remove testing of public attributes
dagardner-nv Oct 25, 2023
4128ca8
Remove testing of private attributes
dagardner-nv Oct 25, 2023
fba79cd
Merge branch 'david-fea-sherlock-arxiv-source-stage' of github.com:da…
dagardner-nv Oct 25, 2023
c03bed8
Work-around for sphinx build errors
dagardner-nv Oct 25, 2023
98e2e83
Adopt updated doxygen to fix parsing errors
dagardner-nv Oct 25, 2023
183f106
Merge pull request #1310 from dagardner-nv/david-fea-sherlock-arxiv-s…
dagardner-nv Oct 25, 2023
da597d5
WIP: not working
dagardner-nv Oct 25, 2023
c20f0fe
Ignore the PYBIND11_NAMESPACE namespace
dagardner-nv Oct 25, 2023
44533cb
restore docstring
dagardner-nv Oct 25, 2023
6f89efa
Fix CR year, add titles to stub docs (required by sphinx), ensure doc…
dagardner-nv Oct 25, 2023
c4d576a
Revert temp changes
dagardner-nv Oct 25, 2023
81aaccc
Revert temp changes
dagardner-nv Oct 25, 2023
7f4ff27
Revert temp changes
dagardner-nv Oct 25, 2023
56a12ba
Add explicit docstrings to replace auto-generated pybind ones
dagardner-nv Oct 25, 2023
de02495
Mock langchain during doc builds
dagardner-nv Oct 25, 2023
77beb0c
Add comment
dagardner-nv Oct 25, 2023
5d84c24
Merge branch 'fea-sherlock' into david-fea-sherlock-docs
dagardner-nv Oct 25, 2023
83ff143
Merge pull request #1314 from dagardner-nv/david-fea-sherlock-docs
dagardner-nv Oct 26, 2023
9c95a43
Configure the logger named 'llm' not 'llm.cli' , allowing the logs of…
dagardner-nv Oct 26, 2023
13dec68
Fix responses to actually be the responses not a copy of the input, l…
dagardner-nv Oct 26, 2023
63df238
Tests for nemo llm
dagardner-nv Oct 26, 2023
678fd60
Remove setting of pipeline mode to other, as this is changed to NLP a…
dagardner-nv Oct 26, 2023
4c2da64
End to end test using NeMoLLMService in a pipeline
dagardner-nv Oct 26, 2023
6c0f044
Remove unused imports
dagardner-nv Oct 26, 2023
e0ed8a4
Formatting fixes
dagardner-nv Oct 26, 2023
b56e702
Fix type-o
dagardner-nv Oct 26, 2023
d2fe748
Better import error handling, add docstring for NeMoLLMService constr…
dagardner-nv Oct 26, 2023
ca2376b
Add docstrings [no ci]
dagardner-nv Oct 26, 2023
daddaad
Add NGC_API_KEY to env for tests, explictly eclude this value from be…
dagardner-nv Oct 26, 2023
b3528c1
Check response status for errors [no ci]
dagardner-nv Oct 26, 2023
3925f87
Check response status for errors
dagardner-nv Oct 26, 2023
6f6ef3f
Merge branch 'david-fea-sherlock-nemo-service' of github.com:dagardne…
dagardner-nv Oct 26, 2023
ba0ce54
Disable end-to-end test
dagardner-nv Oct 26, 2023
b23f231
Tests and docstrings
dagardner-nv Oct 26, 2023
2564a0a
workaround for https://github.com/nv-morpheus/Morpheus/issues/1317
dagardner-nv Oct 26, 2023
747eff9
workaround for https://github.com/nv-morpheus/Morpheus/issues/1317
dagardner-nv Oct 26, 2023
e07a35f
More docstrings
dagardner-nv Oct 26, 2023
4030e55
workaround for https://github.com/nv-morpheus/Morpheus/issues/1317
dagardner-nv Oct 26, 2023
5ce03d2
Add docstrings for base llm node class
dagardner-nv Oct 27, 2023
e5c1661
Docstrings for constructor
dagardner-nv Oct 27, 2023
4989980
Remove line-breaks from command allowing it to be easily copy/pasted
dagardner-nv Oct 27, 2023
78c6d78
Fix CR year
dagardner-nv Oct 27, 2023
48d6abc
Unittests for LLMGenerateNode
dagardner-nv Oct 27, 2023
986bb23
Remove pycoro in favor of mrc::pymrc::coro (#1313)
cwharris Oct 27, 2023
972e90a
Create an end-to-end test
dagardner-nv Oct 27, 2023
0ad850a
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 27, 2023
8e7b716
Formatting
dagardner-nv Oct 27, 2023
40e1b84
Merge pull request #1318 from dagardner-nv/david-fea-sherlock-llm-ser…
dagardner-nv Oct 27, 2023
b0cba5b
Move llm_engine_stage to morpheus/stages/llm/
dagardner-nv Oct 27, 2023
732b38a
Merge pull request #1321 from dagardner-nv/david-fea-sherlock-llm-gen…
dagardner-nv Oct 27, 2023
9d26514
Merge pull request #1315 from dagardner-nv/david-fea-sherlock-nemo-se…
dagardner-nv Oct 27, 2023
706209a
Update imports
dagardner-nv Oct 27, 2023
30a26e4
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 27, 2023
75c687a
Update imports
dagardner-nv Oct 27, 2023
9c44056
Add docstrings for constructor
dagardner-nv Oct 27, 2023
b3dcbf1
Formatting
dagardner-nv Oct 27, 2023
c4a8265
Tests for LLMEngineStage
dagardner-nv Oct 27, 2023
de2fa38
Lint fixes
dagardner-nv Oct 27, 2023
fb1603a
Lint fixes
dagardner-nv Oct 27, 2023
4e6a885
Add needed deps for agent pipeline
dagardner-nv Oct 27, 2023
c753120
Move imports of optional deps into a try/except block
dagardner-nv Oct 27, 2023
5130f07
First pass at re-working the openai chat node as a service, untested,…
dagardner-nv Oct 28, 2023
12c0b80
Improvements to MilvusVectorDB Service (#1294)
bsuryadevara Oct 30, 2023
32d8978
Disable cache by default since it doesn't work by default, add a defa…
dagardner-nv Oct 30, 2023
00b5f1a
Don't set a default model
dagardner-nv Oct 30, 2023
a5418a6
Disable cache by default
dagardner-nv Oct 30, 2023
830fd88
Fix output of llm engine, concat & log responses
dagardner-nv Oct 30, 2023
180cb6b
Optionally support openai backend in completion pipeline
dagardner-nv Oct 30, 2023
c295bb6
Merge pull request #1323 from dagardner-nv/david-fea-sherlock-llm-eng…
dagardner-nv Oct 30, 2023
5f34117
WIP
dagardner-nv Oct 30, 2023
d7074a6
Rough ideas
dagardner-nv Oct 30, 2023
0ff2b1b
Add docstrings for LLMTaskHandler
dagardner-nv Oct 30, 2023
79b05ee
Add docstrings
dagardner-nv Oct 30, 2023
c796ea2
Expose constructing an LLMContext with a task and a control message
dagardner-nv Oct 31, 2023
564e12d
Fix bug in non-default output_columns
dagardner-nv Oct 31, 2023
185f19f
Test helper for executing a task handler
dagardner-nv Oct 31, 2023
4f5a55f
Unittests for SimpleTaskHandler
dagardner-nv Oct 31, 2023
8ba2941
Add comment
dagardner-nv Oct 31, 2023
8424d5f
Add end to end pipeline test
dagardner-nv Oct 31, 2023
c7cf46c
Lint fixes
dagardner-nv Oct 31, 2023
9185ebb
Lint fixes
dagardner-nv Oct 31, 2023
80842a1
Lint fixes
dagardner-nv Oct 31, 2023
4a7a42d
Rag pipeline updates + misc docs fixes and improvments (#1311)
drobison00 Oct 31, 2023
3c4802e
Merge pull request #1324 from dagardner-nv/david-fea-sherlock-task-ha…
dagardner-nv Oct 31, 2023
9f87496
Add docstrings, lazily import AgentExecutor only on type-checking
dagardner-nv Oct 31, 2023
05c4afc
Add type hints
dagardner-nv Oct 31, 2023
f0a4a72
Tests for LangChainAgentNode
dagardner-nv Oct 31, 2023
d47cbe4
Move mock_agent_executor fixture to conftest
dagardner-nv Oct 31, 2023
b6168e5
Add end-to-end pipeline test
dagardner-nv Oct 31, 2023
1ed9f30
Merge branch 'branch-23.11' into david-fea-sherlock-23.11
dagardner-nv Oct 31, 2023
a66edc4
Update to build refactor
dagardner-nv Oct 31, 2023
e3f43c2
Add compute_schema method to fix control message support
dagardner-nv Oct 31, 2023
1801bfe
Remove duplicate entry for cuda-python
dagardner-nv Oct 31, 2023
4692529
Merge pull request #1327 from dagardner-nv/david-fea-sherlock-lang-ch…
dagardner-nv Oct 31, 2023
551b885
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Oct 31, 2023
ff48817
Merge pull request #1329 from dagardner-nv/david-fea-sherlock-23.11
dagardner-nv Nov 1, 2023
6d4336a
Add docstrings and expose the template_format parameter to the node=P…
dagardner-nv Nov 1, 2023
dcc629c
Remove extra end of line chars, making the command easier to copy/paste
dagardner-nv Nov 1, 2023
329905d
Remove unused attributes
dagardner-nv Nov 1, 2023
2a2cf08
Work-around for CppToPyAwaitable not being a coroutine
dagardner-nv Nov 1, 2023
2e24a1d
More comments
dagardner-nv Nov 1, 2023
a1dda8c
Tests for RAGNode
dagardner-nv Nov 1, 2023
9ea3e87
Slim down mocks
dagardner-nv Nov 1, 2023
df5e388
End to end pipeline test
dagardner-nv Nov 1, 2023
d5ac705
Define expected llm client output
dagardner-nv Nov 1, 2023
283bb74
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 1, 2023
7773779
Remove overload of 'add_node' this created problems for both stubgen …
dagardner-nv Nov 1, 2023
5f84203
Merge pull request #1333 from dagardner-nv/david-fea-sherlock-ragnode
dagardner-nv Nov 1, 2023
a9ddabb
Merge branch 'fea-sherlock' into david-fea-sherlock-openai-refactor
dagardner-nv Nov 1, 2023
7ca1f03
Merge pull request #1334 from dagardner-nv/david-fea-sherlock-docs-fix
dagardner-nv Nov 1, 2023
8195c5d
WIP refactoring llmclient and updating some tests
dagardner-nv Nov 1, 2023
4ff73b2
Return input names needed by the client
dagardner-nv Nov 1, 2023
3d590f1
Mocked client returns input names
dagardner-nv Nov 1, 2023
741ab60
Update expected call
dagardner-nv Nov 1, 2023
339ac48
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 1, 2023
2f5adb1
Update to match new api
dagardner-nv Nov 1, 2023
4beff6d
Add missing dep for beautifulsoup4, it's currently being pulled in as…
dagardner-nv Nov 1, 2023
54d7a51
Move dep to dev since its used by the rss feed source
dagardner-nv Nov 1, 2023
d6e7b17
Switch to using openai APIs rather than the lanchain wrappers per fee…
dagardner-nv Nov 2, 2023
23e25ba
Linting fixes
dagardner-nv Nov 2, 2023
9130b0c
Formatting fixes
dagardner-nv Nov 2, 2023
9f3f5cb
Formatting and tests
dagardner-nv Nov 2, 2023
d17bc8b
Unittests for client
dagardner-nv Nov 2, 2023
a845b1d
Tests for async methods
dagardner-nv Nov 2, 2023
0cdf1be
Add tests for constructor and get_input_names
dagardner-nv Nov 2, 2023
cff6f13
Re-work pipeline tests
dagardner-nv Nov 2, 2023
4e43179
formatting fixes
dagardner-nv Nov 2, 2023
9d4d96c
Move to parent dir
dagardner-nv Nov 2, 2023
47952ba
Clean up mocks
dagardner-nv Nov 2, 2023
54c9784
More tests
dagardner-nv Nov 2, 2023
4898425
Store temp files in a temp dir to prevent files from being left in th…
dagardner-nv Nov 2, 2023
a98c615
Add docstrings and type-hints
dagardner-nv Nov 2, 2023
7a02383
Add comment
dagardner-nv Nov 2, 2023
4f7b092
Update execute_node helper to optionally construct a context with a c…
dagardner-nv Nov 2, 2023
79a3807
Tests for extractor node
dagardner-nv Nov 2, 2023
c4c902f
Rename end-to-end test since you can't test ExtracterNode in a morphe…
dagardner-nv Nov 2, 2023
34d4def
Simpligy execute_node
dagardner-nv Nov 2, 2023
1e0b209
Remove unused method
dagardner-nv Nov 2, 2023
5deea26
Update morpheus/llm/nodes/extracter_node.py
dagardner-nv Nov 3, 2023
f9233cf
Merge pull request #1335 from dagardner-nv/david-fea-sherlock-openai-…
dagardner-nv Nov 3, 2023
1a7e940
Remove unused imports
dagardner-nv Nov 3, 2023
ae7d246
Merge pull request #1337 from dagardner-nv/david-fea-sherlock-extract…
dagardner-nv Nov 3, 2023
d7138cc
use asyncio runnable from mrc (#1338)
cwharris Nov 3, 2023
e3202fc
Completion README.md (#1332)
bsuryadevara Nov 6, 2023
05cd16b
RetrieverNode Tests and Docs (#1340)
bsuryadevara Nov 6, 2023
0b51512
Add missing definition of sink variable
dagardner-nv Nov 8, 2023
34df848
Move fixtures to parent scope but don't auto-use them, set them to au…
dagardner-nv Nov 8, 2023
186d829
Move fixtures to parent scope but don't auto-use them, set them to au…
dagardner-nv Nov 8, 2023
a985d2c
Cleanup country/capital fixtures
dagardner-nv Nov 8, 2023
32dc9d5
Add end-to-end pipeline mimicing the completion example pipeline
dagardner-nv Nov 8, 2023
17c6629
Add integration tests that communicate with live backend services
dagardner-nv Nov 8, 2023
895d915
Updated Milvus Tests and Exposed `release_resource` API (#1348)
bsuryadevara Nov 8, 2023
4ea6553
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 8, 2023
0e2a2dc
Log the output, don't report the number of messages, but the number o…
dagardner-nv Nov 8, 2023
4da5c5a
Optionally use the openai backend for rag pipeline [no ci]
dagardner-nv Nov 8, 2023
782c142
Add docs and tests for WebScraperStage (#1349)
cwharris Nov 8, 2023
08d213d
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 8, 2023
00a542a
Fix checking of stop_after value, since fetch_dataframes can return a…
dagardner-nv Nov 8, 2023
324dde6
`LLMContext` C++ unit tests and docs (#1316)
efajardo-nv Nov 9, 2023
11886dd
Docs for LLM C++ classes (#1330)
efajardo-nv Nov 9, 2023
652d586
C++ unit tests for LLMNodeRunner, LLMTaskHandlerRunner and LLMTask (#…
efajardo-nv Nov 9, 2023
6aeb0f9
Parsed data based on https://www.us-cert.gov/ncas/current-activity.xml
dagardner-nv Nov 9, 2023
3f3e820
Make embedding_size a command line flag, remove redundant setting of …
dagardner-nv Nov 9, 2023
ca2269f
WIP end to end test for rag standalone [no ci]
dagardner-nv Nov 9, 2023
2f9e34b
Integration tests for rag standalone
dagardner-nv Nov 9, 2023
0c53d60
misc cleanups
dagardner-nv Nov 9, 2023
fc900b0
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 9, 2023
fb29c71
Remove unused imports
dagardner-nv Nov 9, 2023
940d3fd
lint formatting
dagardner-nv Nov 9, 2023
c074a69
lint formatting
dagardner-nv Nov 9, 2023
c4413b0
Store the rss feed the df was built from, update df data to reflect n…
dagardner-nv Nov 9, 2023
3b9af30
Remove redundant mode setting
dagardner-nv Nov 9, 2023
4232829
WIP
dagardner-nv Nov 9, 2023
43c1bc1
WIP
dagardner-nv Nov 10, 2023
6ff4c9a
Saved content responses from links contained in cisa_rss_feed.xml, fe…
dagardner-nv Nov 13, 2023
557dbd6
Merge pull request #1353 from dagardner-nv/david-fea-sherlock-end-to-end
dagardner-nv Nov 13, 2023
3c8436d
Update test data when everything was fully mocked
dagardner-nv Nov 13, 2023
2b027b8
Finish up test for vdb upload
dagardner-nv Nov 13, 2023
05be12d
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 13, 2023
788658e
fix
dagardner-nv Nov 13, 2023
53d5188
Remove embedding comparisons
dagardner-nv Nov 13, 2023
5d1f815
Update LLM Agents Pipeline README.md (#1352)
bsuryadevara Nov 13, 2023
1fd8001
Add comparison/validation for the embedding values
dagardner-nv Nov 14, 2023
dc4ef36
Merge branch 'fea-sherlock' into david-fea-sherlock-end-to-end-vdb-up…
dagardner-nv Nov 14, 2023
264d950
Add `cache_path` arg to `WebScraperStage` (#1358)
cwharris Nov 14, 2023
5519980
Commit models to LFS (#1343)
cwharris Nov 14, 2023
a3fdd93
Merge pull request #1360 from dagardner-nv/david-fea-sherlock-end-to-…
dagardner-nv Nov 14, 2023
9ec6d7e
Agents Simple Pipeline E2E Test (#1363)
bsuryadevara Nov 15, 2023
6808acb
Add missing milvus mark for two tests which require milvus
dagardner-nv Nov 16, 2023
a1f2142
Merge pull request #1368 from dagardner-nv/david-milvus-marker
dagardner-nv Nov 17, 2023
9c31e43
Wait up to 30 seconds for the callback function to be invoked prior t…
dagardner-nv Nov 17, 2023
8f7f4a0
Merge branch-23.11 into fea-sherlock to resolve conflicts -- prep for…
drobison00 Nov 17, 2023
1b3f4ec
Merge branch 'fea-sherlock' of github.com:nv-morpheus/Morpheus into d…
dagardner-nv Nov 17, 2023
a940471
Merge pull request #1371 from dagardner-nv/david-fea-sherlock-http-te…
dagardner-nv Nov 18, 2023
a0e5b10
Merge branch-23.11 into fea-sherlock (#1374)
dagardner-nv Nov 18, 2023
dbcff14
Caching Flag Accessible as a Parameter (#1376)
bsuryadevara Nov 21, 2023
a343cd4
Merge branch 'branch-23.11' into fea-sherlock
mdemoret-nv Nov 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false # Allows placing breakpoint
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
# This is deprecated
AlwaysBreakAfterDefinitionReturnType: None
Expand Down Expand Up @@ -103,6 +104,7 @@ ObjCBinPackProtocolList: Never
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: CurrentLine
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
Expand Down
8 changes: 4 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
docs/source/developer_guide/guides/img/** filter=lfs diff=lfs merge=lfs -text
docs/source/img/* filter=lfs diff=lfs merge=lfs -text
examples/basic_usage/img/** filter=lfs diff=lfs merge=lfs -text
examples/data/** filter=lfs diff=lfs merge=lfs -text
examples/digital_fingerprinting/production/grafana/img/** filter=lfs diff=lfs merge=lfs -text
examples/digital_fingerprinting/visualization/img/** filter=lfs diff=lfs merge=lfs -text
git filter=lfs diff=lfs merge=lfs -text
morpheus/_version.py export-subst
status filter=lfs diff=lfs merge=lfs -text
tests/mock_triton_server/payloads/** filter=lfs diff=lfs merge=lfs -text
tests/tests_data/** filter=lfs diff=lfs merge=lfs -text
examples/basic_usage/img/** filter=lfs diff=lfs merge=lfs -text
docs/source/img/* filter=lfs diff=lfs merge=lfs -text
git filter=lfs diff=lfs merge=lfs -text
status filter=lfs diff=lfs merge=lfs -text
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ if(MORPHEUS_ENABLE_DEBUG_INFO)

morpheus_utils_print_target_properties(
TARGETS
morpheus
morpheus morpheus._lib.llm
WRITE_TO_FILE
)

Expand Down
3 changes: 2 additions & 1 deletion ci/iwyu/mappings.imp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
{ "include": [ "<google/protobuf/repeated_ptr_field.h>", private, "<google/protobuf/repeated_field.h>", "public" ] },

# pybind11
{ "include": [ "<pybind11/detail/common.h>", private, "<pybind11/pytypes.h>", "public" ] },
{ "include": [ "<pybind11/detail/common.h>", "private", "<pybind11/pytypes.h>", "public" ] },
{ "include": [ "<pybind11/cast.h>", "private", "<pybind11/pybind11.h>", "public" ] },

# rxcpp
# Hide includes that are exported by <rxcpp/rx.hpp>
Expand Down
6 changes: 4 additions & 2 deletions ci/scripts/cpp_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,10 @@ if [[ -n "${MORPHEUS_MODIFIED_FILES}" ]]; then

CLANG_TIDY_DIFF=$(find_clang_tidy_diff)

# Run using a clang-tidy wrapper to allow warnings-as-errors and to eliminate any output except errors (since clang-tidy-diff.py doesn't return the correct error codes)
CLANG_TIDY_OUTPUT=`get_unified_diff ${CPP_FILE_REGEX} | ${CLANG_TIDY_DIFF} -j 0 -path ${BUILD_DIR} -p1 -quiet 2>&1`
# Run using a clang-tidy wrapper to allow warnings-as-errors and to eliminate any output except errors (since
# clang-tidy-diff.py doesn't return the correct error codes)
CLANG_TIDY_OUTPUT=`get_unified_diff ${CPP_FILE_REGEX} | ${CLANG_TIDY_DIFF} \
-extra-arg="-Wno-ignored-optimization-argument" -j 0 -path ${BUILD_DIR} -p1 -quiet 2>&1`

if [[ -n "${CLANG_TIDY_OUTPUT}" && ${CLANG_TIDY_OUTPUT} != "No relevant changes found." ]]; then
CLANG_TIDY_RETVAL=1
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/github/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

function print_env_vars() {
rapids-logger "Environ:"
env | grep -v -E "AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|GH_TOKEN" | sort
env | grep -v -E "AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|GH_TOKEN|NGC_API_KEY" | sort
}

rapids-logger "Env Setup"
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/github/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ done
rapids-logger "Running Python tests"
set +e

python -I -m pytest --run_slow --run_kafka --fail_missing \
python -I -m pytest --run_slow --run_kafka --run_milvus --fail_missing \
--junit-xml=${REPORTS_DIR}/report_pytest.xml \
--cov=morpheus \
--cov-report term-missing \
Expand Down
19 changes: 15 additions & 4 deletions docker/conda/environments/cuda11.8_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ channels:
dependencies:
####### Morpheus Dependencies (keep sorted!) #######
- automake=1.16.5
- beautifulsoup4=4.12
- benchmark=1.6.1
- boost-cpp=1.82
- cachetools=5.0.0
Expand All @@ -34,8 +35,8 @@ dependencies:
- configargparse=1.5
- cuda-compiler=11.8
- cuda-nvml-dev=11.8
- cuda-python>=11.8,<11.8.3 # workaround for https://github.com/nv-morpheus/Morpheus/issues/1317
- cuda-toolkit=11.8
- cuda-python=11.8.2 # 11.8.3 breaks cuda helpers, pin to 11.8.2 for now.
- cudf=23.06
- cupy>=12.0.0
- cxx-compiler
Expand Down Expand Up @@ -69,7 +70,7 @@ dependencies:
- libwebp>=1.3.2 # Required for CVE mitigation: https://nvd.nist.gov/vuln/detail/CVE-2023-4863
- mlflow>=2.2.1,<3
- mrc=23.11
- networkx=3.1
- networkx>=2.8
- ninja=1.10
- nodejs=18.*
- numba>=0.56.2
Expand All @@ -85,6 +86,7 @@ dependencies:
- pydot
- pylint>=2.17.4,<2.18 # 2.17.4 contains a fix for toml support
- pytest
- pytest-asyncio
- pytest-benchmark>=4.0
- pytest-cov
- python-confluent-kafka=1.9.2
Expand All @@ -94,6 +96,7 @@ dependencies:
- pytorch=2.0.1
- rapidjson=1.1.0
- requests=2.31
- requests-cache=1.1
- scikit-build=0.17.1
- scikit-learn=1.2.2
- sphinx
Expand All @@ -106,10 +109,18 @@ dependencies:
- watchdog=2.1
- websockets
- yapf=0.40.1

####### Pip Transitive Dependencies (keep sorted!) #######
# These are dependencies that are available on conda, but are required by the pip packages listed below. Its much
# better to install them with conda than pip to allow for better dependency resolution.
- kafka-python=2.0
- port-for=0.7
- py4j=0.10

####### Morpheus Pip Dependencies (keep sorted!) #######
- pip:
# Add additional dev dependencies here
- databricks-connect
- pytest-kafka==0.6.0
- pymilvus==2.3.1
- milvus
- pymilvus==2.3.2
- milvus==2.3.2
25 changes: 25 additions & 0 deletions docker/conda/environments/cuda11.8_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,41 @@
channels:
- rapidsai
- nvidia
- huggingface
- conda-forge
- dglteam/label/cu118
dependencies:
- arxiv=1.4
- boto3
- cuml=23.06
- dask>=2023.1.1
- dgl=1.0.2
- dill=0.3.6
- distributed>=2023.1.1
- huggingface_hub=0.10.1 # work-around for https://github.com/UKPLab/sentence-transformers/issues/1762
- langchain=0.0.190
- libwebp>=1.3.2 # Required for CVE mitigation: https://nvd.nist.gov/vuln/detail/CVE-2023-4863
- mlflow>=2.2.1,<3
- newspaper3k=0.2
- openai=0.28
- papermill=2.3.4
- pypdf=3.16
- requests-cache=1.1
- s3fs>=2023.6
- sentence-transformers
- transformers

####### Pip Transitive Dependencies (keep sorted!) #######
# These are dependencies that are available on conda, but are required by the pip packages listed below. Its much
# better to install them with conda than pip to allow for better dependency resolution.
- environs=9.5
- minio=7.1
- python-dotenv=1.0
- ujson=5.8


####### Pip Dependencies (keep sorted!) #######
- pip:
- google-search-results==2.4
- grpcio-status==1.58 # To keep in sync with 1.58 grpcio which is installed for Morpheus
- nemollm
8 changes: 7 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@
BUILTIN_STL_SUPPORT = YES
DOT_IMAGE_FORMAT = svg
EXCLUDE_PATTERNS = */tests/* */include/nvtext/* */__pycache__/* */doca/*
EXCLUDE_SYMBOLS = "@*" "cudf*" "py::literals" "RdKafka" "mrc*" "std*"
EXCLUDE_SYMBOLS = "@*" "cudf*" "py::literals" "RdKafka" "mrc*" "std*" "PYBIND11_NAMESPACE*"
EXTENSION_MAPPING = cu=C++ cuh=C++
EXTRACT_ALL = YES
FILE_PATTERNS = *.c *.cc *.cpp *.h *.hpp *.cu *.cuh *.md
Expand All @@ -138,6 +138,11 @@
INPUT = ../../morpheus/_lib
INTERACTIVE_SVG = YES
SOURCE_BROWSER = YES
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
PREDEFINED = "MORPHEUS_EXPORT=" \
"DOXYGEN_SHOULD_SKIP_THIS=1"
''')
}

Expand Down Expand Up @@ -165,6 +170,7 @@
"cudf", # Avoid loading GPU libraries during the documentation build
"cupy", # Avoid loading GPU libraries during the documentation build
"databricks.connect",
"langchain",
"merlin",
"morpheus.cli.commands", # Dont document the CLI in Sphinx
"nvtabular",
Expand Down
5 changes: 5 additions & 0 deletions docs/source/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@ limitations under the License.
* [Example Ransomware Detection Morpheus Pipeline for AppShield Data](./examples/ransomware_detection/README.md)
* [Root Cause Analysis Acceleration & Predictive Maintenance Example](./examples/root_cause_analysis/README.md)
* [SID Visualization Example](./examples/sid_visualization/README.md)
* [Large Language Models (LLMs)](./examples/llm/README.md)
* [Agents](./examples/llm/agents/README.md)
* [Completion](./examples/llm/completion/README.md)
* [VDB Upload](./examples/llm/vdb_upload/README.md)
* [Retreival Augmented Generation (RAG)](./examples/llm/rag/README.md)
2 changes: 2 additions & 0 deletions docs/source/examples/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Examples
abp_nvsmi_detection/README.md
abp_pcap_detection/README.md
gnn_fraud_detection_pipeline/README.md
llm/index
log_parsing/README.md
nlp_si_detection/README.md
ransomware_detection/README.md
Expand All @@ -35,3 +36,4 @@ Examples
:hidden:

../examples

23 changes: 23 additions & 0 deletions docs/source/examples/llm/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# LLM

- [completion](./completion/README.md)
- [vdb_upload](./vdb_upload/README.md)
- [rag](./rag/README.md)
- [agents](./agents/README.md)
1 change: 1 addition & 0 deletions docs/source/examples/llm/agents/README.md
1 change: 1 addition & 0 deletions docs/source/examples/llm/completion/README.md
30 changes: 30 additions & 0 deletions docs/source/examples/llm/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
..
SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


===
LLM
===

.. toctree::
:maxdepth: 20

./README.md
./completion/README.md
./vdb_upload/README.md
./rag/README.md
./agents/README.md

18 changes: 18 additions & 0 deletions docs/source/examples/llm/rag/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# LLM RAG
18 changes: 18 additions & 0 deletions docs/source/examples/llm/vdb_upload/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# LLM VDB Upload
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@ def _polling_generate_frames_fsspec(self) -> typing.Iterable[fsspec.core.OpenFil
if file.full_name not in files_seen:
filtered_files.append(file)

# Replace files_seen with the new set of files. This prevents a memory leak that could occurr if files are
# deleted from the input directory. In addition if a file with a given name was created, seen/processed by
# Replace files_seen with the new set of files. This prevents a memory leak that could occur if files are
# deleted from the input directory. In addition, if a file with a given name was created, seen/processed by
# the stage, and then deleted, and a new file with the same name appeared sometime later, the stage will
# need to re-ingest that new file.
files_seen = file_set
Expand Down
Empty file added examples/llm/__init__.py
Empty file.
Loading