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

Updates to PR #31 #42

Closed

Conversation

smurching
Copy link
Collaborator

@smurching smurching commented Nov 1, 2024

Related Issues/PRs

#31

What changes are proposed in this pull request?

Applies updates to #31. In particular:

  1. Modularizes and shares more code under Python files in utils. This has the advantage of enabling unit testing in the future and improving overall maintainability, but does make some notebooks less self-contained
  2. Cleans up dead code
  3. Modularizes tool definitions and introduces a BaseTool base class for tool definitions that allows for more-automatic serialization and deserialization (though still not perfect) of the tool definition. This updated serialization approach supports buildling up a set of shared / common tools in Python modules and reusing them across agents (no more need to manually specify the fully-qualified classname of tools in agent configs), and shifts the complexity of specifying agent tools from specifying classname strings to extending a base class.

TODOs:

  • I still haven't gotten the time to uncomment and test the commented-out OpenAI client code in [Cookbook improvement] Working PR #31.
  • There seem to be some issues with multi-turn conversation that need some debugging/investigation; in particular, conversation history is ignored

How is this PR tested?

Manually tested all notebooks

epec254 and others added 30 commits September 27, 2024 16:00
Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>
1) Dogfood seems to have an issue where tool calling is returning a nonexistent function name. See trace in https://e2-dogfood.staging.cloud.databricks.com/editor/notebooks/2948323364468680?o=6051921418418893#command/397386389372146
2) For RAG only agent, getting 'AttributeError: 'LLMConfig' object has no attribute 'tools'' because RAG agent config object doesn't have a tools field. See https://e2-dogfood.staging.cloud.databricks.com/editor/notebooks/2948323364468746?o=6051921418418893#command/397386389372955

Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>
* utils modules are not importable when agent notebooks are run directly
* Need to fix logging util
* Autologged traces and manual traces in langchain don't interleave properly

Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>
* Restore ModelConfig across examples
* Switch back to OAI SDK
* Document tools class

Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>
Signed-off-by: Sid Murching <[email protected]>

# COMMAND ----------

# from datapipeline_utils.file_loading import load_files_to_df
Copy link
Collaborator

@epec254 epec254 Nov 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from utils.data_pipeline.file_loading ...

@smurching smurching closed this Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants