- Added new llm parameter to Crew.test() that accepts string or LLM instance
- Maintained backward compatibility with openai_model_name parameter
- Updated CrewEvaluator to handle any LLM implementation
- Added comprehensive test coverage
Fixes#2081
Co-Authored-By: Joe Moura <joao@crewai.com>
* clean up. fix type safety. address memory config docs
* improve manager
* Include fix for o1 models not supporting system messages
* more broad with o1
* address fix: Typo in expected_output string #2045
* drop prints
* drop prints
* wip
* wip
* fix failing memory tests
* Fix memory provider issue
* clean up short term memory
* revert ltm
* drop
* clean up linting issues
* more linting
* Added functionality to have json format as well for the logs
* Added additional comments, refractored logging functionality
* Fixed documentation to include the new paramter
* Fixed typo
* Added a Pydantic Error Check between output_log_file and save_as_json parameter
* Removed the save_to_json parameter, incorporated the functionality directly with output_log_file
* Fixed typo
* Sorted the imports using isort
---------
Co-authored-by: Vidit Ostwal <vidit.ostwal@piramal.com>
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* Added reset memories function inside crew class
* Fixed typos
* Refractored the code
* Refactor memory reset functionality in Crew class
- Improved error handling and logging for memory reset operations
- Added private methods to modularize memory reset logic
- Enhanced type hints and docstrings
- Updated CLI reset memories command to use new Crew method
- Added utility function to get crew instance in CLI utils
* fix linting issues
* knowledge: Add null check in reset method for storage
* cli: Update memory reset tests to use Crew's reset_memories method
* cli: Enhance memory reset command with improved error handling and validation
---------
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* Fixing training while refactoring code
* improve prompts
* make sure to raise an error when missing training data
* Drop comment
* fix failing tests
* add clear
* drop bad code
* fix failing test
* Fix type issues pointed out by lorenze
* simplify training
* fix breakage when cloning agent/crew using knowledge_sources
* fixed typo
* better
* ensure use of other knowledge storage works
* fix copy and custom storage
* added tests
* normalized name
* updated cassette
* fix test
* remove fixture
* fixed test
* fix
* add fixture to this
* add fixture to this
* patch twice since
* fix again
* with fixtures
* better mocks
* fix
* simple
* try
* another
* hopefully fixes test
* hopefully fixes test
* this should fix it !
* WIP: test check with prints
* try this
* exclude knowledge
* fixes
* just drop clone for now
* rm print statements
* printing agent_copy
* checker
* linted
* cleanup
* better docs
---------
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* before kickoff breaks if inputs are none.
* improve none type
* Fix failing tests
* add tests for new code
* Fix failing test
* drop extra comments
* clean up based on eduardo feedback
* Improving tool calling to pass dictionaries instead of strings
* Fix issues with parsing none/null
* remove prints and unnecessary comments
* Fix crew_test issues with function calling
* improve prompting
* add back in support for add_image
* add tests for tool validation
* revert back to figure out why tests are timing out
* Update cassette
* trying to find what is timing out
* add back in guardrails
* add back in manager delegation tests
* Trying to fix tests
* Force test to pass
* Trying to fix tests
* add in more role tests
* add back old tool validation
* updating tests
* vcr
* Fix tests
* improve function llm logic
* vcr 2
* drop llm
* Failing test
* add more tests back in
* Revert tool validation
* worked on foundation for new conversational crews. Now going to work on chatting.
* core loop should be working and ready for testing.
* high level chat working
* its alive!!
* Added in Joaos feedback to steer crew chats back towards the purpose of the crew
* properly return tool call result
* accessing crew directly instead of through uv commands
* everything is working for conversation now
* Fix linting
* fix llm_utils.py and other type errors
* fix more type errors
* fixing type error
* More fixing of types
* fix failing tests
* Fix more failing tests
* adding tests. cleaing up pr.
* improve
* drop old functions
* improve type hintings
* apply agent ops changes and resolve merge conflicts
* Trying to fix tests
* add back in vcr
* update tools
* remove pkg_resources which was causing issues
* Fix tests
* experimenting to see if unique content is an issue with knowledge
* experimenting to see if unique content is an issue with knowledge
* update chromadb which seems to have issues with upsert
* generate new yaml for failing test
* Investigating upsert
* Drop patch
* Update casettes
* Fix duplicate document issue
* more fixes
* add back in vcr
* new cassette for test
---------
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
When using agentops, we have the option to pass the `skip_auto_end_session` parameter, which is supposed to not end the session if the `end_session` function is called by Crew.
Now the way it works is, the `agentops.end_session` accepts `is_auto_end` flag and crewai should have passed it as `True` (its `False` by default).
I have changed the code to pass is_auto_end=True
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* added knowledge to agent level
* linted
* added doc
* added from suggestions
* added test
* fixes from discussion
* fix docs
* fix test
* rm cassette for knowledge_sources test as its a mock and update agent doc string
* fix test
* rm unused
* linted
* initial knowledge
* WIP
* Adding core knowledge sources
* Improve types and better support for file paths
* added additional sources
* fix linting
* update yaml to include optional deps
* adding in lorenze feedback
* ensure embeddings are persisted
* improvements all around Knowledge class
* return this
* properly reset memory
* properly reset memory+knowledge
* consolodation and improvements
* linted
* cleanup rm unused embedder
* fix test
* fix duplicate
* generating cassettes for knowledge test
* updated default embedder
* None embedder to use default on pipeline cloning
* improvements
* fixed text_file_knowledge
* mypysrc fixes
* type check fixes
* added extra cassette
* just mocks
* linted
* mock knowledge query to not spin up db
* linted
* verbose run
* put a flag
* fix
* adding docs
* better docs
* improvements from review
* more docs
* linted
* rm print
* more fixes
* clearer docs
* added docstrings and type hints for cli
---------
Co-authored-by: João Moura <joaomdmoura@gmail.com>
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
* byom - short/entity memory
* better
* rm uneeded
* fix text
* use context
* rm dep and sync
* type check fix
* fixed test using new cassete
* fixing types
* fixed types
* fix types
* fixed types
* fixing types
* fix type
* cassette update
* just mock the return of short term mem
* remove print
* try catch block
* added docs
* dding error handling here
* rebuilding executor
* removing langchain
* Making all tests good
* fixing types and adding ability for nor using system prompts
* improving types
* pleasing the types gods
* pleasing the types gods
* fixing parser, tools and executor
* making sure all tests pass
* final pass
* fixing type
* Updating Docs
* preparing to cut new version
* WIP. Procedure appears to be working well. Working on mocking properly for tests
* All tests are passing now
* rshift working
* Add back in Gui's tool_usage fix
* WIP
* Going to start refactoring for pipeline_output
* Update terminology
* new pipeline flow with traces and usage metrics working. need to add more tests and make sure PipelineOutput behaves likew CrewOutput
* Fix pipelineoutput to look more like crewoutput and taskoutput
* Implemented additional tests for pipeline. One test is failing. Need team support
* Update docs for pipeline
* Update pipeline to properly process input and ouput dictionary
* Update Pipeline docs
* Add back in commentary at top of pipeline file
* Starting to work on router
* Drop router for now. will add in separately
* In the middle of fixing router. A ton of circular dependencies. Moving over to a new design.
* WIP.
* Fix circular dependencies and updated PipelineRouter
* Add in Eduardo feedback. Still need to add in more commentary describing the design decisions for pipeline
* Add developer notes to explain what is going on in pipelines.
* Add doc strings
* Fix missing rag datatype
* WIP. Converting usage metrics from a dict to an object
* Fix tests that were checking usage metrics
* Drop todo
* Fix 1 type error in pipeline
* Update pipeline to use UsageMetric
* Add missing doc string
* WIP.
* Change names
* Rename variables based on joaos feedback
* Fix critical circular dependency issues. Now needing to fix trace issue.
* Tests working now!
* Add more tests which showed underlying issue with traces
* Fix tests
* Remove overly complicated test
* Add router example to docs
* Clean up end of docs
* Clean up docs
* Working on creating Crew templates and pipeline templates
* WIP.
* WIP
* Fix poetry install from templates
* WIP
* Restructure
* changes for lorenze
* more todos
* WIP: create pipelines cli working
* wrapped up router
* ignore mypy src on templates
* ignored signature of copy
* fix all verbose
* rm print statements
* brought back correct folders
* fixes missing folders and then rm print statements
* fixed tests
* fixed broken test
* fixed type checker
* fixed type ignore
* ignore types for templates
* needed
* revert
* exclude only required
* rm type errors on templates
* rm excluding type checks for template files on github action
* fixed missing quotes
---------
Co-authored-by: Brandon Hancock <brandon@brandonhancock.io>
* WIP: hierarchical unblock for async tasks
* added better test
* update name change
* added more test and crew manager cleanup
* remove prints
* code cleanup, no need to pass manager