-
Notifications
You must be signed in to change notification settings - Fork 9
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
Feat/setup talk2cells #60
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work 💪. I don't have any major comments on the code. A major concern was already addressed by the new issue of using Hydra for configs. Another concern is the addition of langsmith and observability. I would recommend having this added in early on. If you agree, I would recommend adding another issue for observability.
Thanks for the comments, @dmccloskey. Initially, I was planning to add tracers when we connect all the agents later. However, I think having separate tracers for each agent makes sense (we can always refactor them later/still have one for the main agent). I have updated the PR:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice 🤩.
The addition application logging, Tracing, and Feedback will provide a solid template for the other agents and a good working example for onboarding potential contributors
ERROR_FLAG = False | ||
with collect_runs() as cb: | ||
# Add Langsmith tracer | ||
tracer = LangChainTracer( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
# Get the app | ||
app = st.session_state.app | ||
|
||
def _submit_feedback(user_response): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
🎉 This PR is included in version 1.6.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
For authors
T2CellsDemo.mp4
Description
Talk2Cells Agent Initial Implementation
This PR introduces the initial implementation of the
talk2cells
agentic workflow using Langgraph. The current implementation defines a graph with a single node, the Single-Cell Protocol Agent (scp_agent
), and includes two tools. The graph has a state containing one key:search_table
.Tools
1.
search_studies
This tool searches for studies based on specific search terms in the Single-Cell Protocol database. It demonstrates how a tool can modify the graph's state.
Upon retrieving results, the tool updates the graph's state by writing the results to the key
search_table
.The tool uses the
Command
object in its return statement to perform this state update.2.
display_studies
This tool reads the contents of the state (key
search_table
) and displays the data back to the user on the front end. It serves as an example of how to share the graph's state with another tool.The state is passed as an argument using Langgraph's prebuilt module
InjectedState
. This argument is hidden from the LLM.The tool accesses the existing state, processes it, and delivers the data for display without altering the state.
Additional Notes:
scp_agent
, but this will eventually handled by Hydra in a different issue.Revision:
Fixes # (issue) NA
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests you conducted to verify your changes. These may involve creating new test scripts or updating existing ones.
tests
foldertests/testX.py
)Checklist
tests
folder) that prove my fix is effective or that my feature worksFor reviewers
Checklist pre-approval
Checklist post-approval
develop
intomain
? If so, please make sure to add a prefix (feat/fix/chore) and/or a suffix BREAKING CHANGE (if it's a major release) to your commit message.Checklist post-merge
develop
intomain
and is it suppose to run an automated release workflow (if applicable)? If so, please make sure to check under the "Actions" tab to see if the workflow has been initiated, and return later to verify that it has completed successfully.