-
Couldn't load subscription status.
- Fork 1
Connectivity metrics tool (obione) #556
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
base: main
Are you sure you want to change the base?
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.
I tried a couple of times with the question you gave in the eval, but I could not get the tool to work. It kept returning a non 200 status code from obi-one. Not sure if the issue is the input of the tools from the LLM of their endpoint.
| --- | ||
| description: Obi-One tools usage patterns | ||
| --- | ||
| # Obi-One Tool Guidelines | ||
|
|
||
| ## Tool Usage Sequence |
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.
Crazy that we have to add a new rule specifically to describe how to use obi-tools. Do you think they are intrinsically complicated and this is unavoidable, or the complexity comes from the decisions made in the repo ?
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.
I was guided by the /eval and just iterated until the Tool Correctness was 1 among other thing. Not claiming it is pretty. Honestly, we should definitely refactor all the circuit related tools in the near future because it is getting messy.
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.
I changed this rule file name to circuit-tools.mdc and explain all the different circuit related endpoints across entitycore and obi-one.
| - **`obione-circuitmetrics-getone`**: Circuit structure, populations, properties | ||
| - **`obione-circuitconnectivitymetrics-getone`**: Connection patterns and probabilities | ||
|
|
||
| ## Common Connectivity Analysis | ||
|
|
||
| For excitatory/inhibitory connectivity analysis: | ||
| - Use `pre_node_set="Excitatory"` and `post_node_set="Inhibitory"` | ||
| - Group by `mtype` for morphological analysis | ||
| - Use internal edge populations (e.g., `S1nonbarrel_neurons__S1nonbarrel_neurons__chemical`) |
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.
I guess you have tried before, but wasn't it enough to have these explanations in the tool description ?
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.
As mentioned in another comment, I was guided by the eval. But very likely it is possible to make things simpler. I just feel like we should rethink how we do these circuit related tools. Because right now there are so many of them.
backend/src/neuroagent/tools/obione_circuitconnectivitymetrics_getone.py
Show resolved
Hide resolved
backend/src/neuroagent/tools/obione_circuitconnectivitymetrics_getone.py
Show resolved
Hide resolved
…e selection default to empty dict
|
Just for reference, the EDIT: I handled it in |
…d since it is a default
Closes #550
TODO
nullvalues - decided not to do it