Replies: 4 comments
-
Hi @vbandi, Thanks a lot. Utilities are the best place because I want to keep the main project with similar capabilities to the API (like a simple wrapper). Anything additional should go to Utilities. Unit tests are great, and I am hoping to add unit tests in the future. I am more familiar with xUnit, so please use xUnit if possible. If not, other options are also acceptable. I have a question that is puzzling me: why use gpt in the naming convention (GptFunctionDescriptionAttribute)? Previously, I used Gpt3 in the library name and regretted it. Furthermore, I don't think your methods will be dependent on any specific model (like GPT); rather, they will be descriptions/reflections of functions. Therefore, a name without GPT would be better. What do you think? |
Beta Was this translation helpful? Give feedback.
-
Awesome, Utilities it is. I have no experience with xUnit, but the basics are the same for all, so that shouldn't be a problem either. Do you want me to create a separate unit test project? (I'd do that for my own stuff, but this is yours :) ). Also, I prefer Should or Shouldly for unit tests. As for naming: I wanted to keep it separate from the System.ComponentModel namespace's own approach (which is not suitable for this), but I agree, GPT may not be needed. Would you be OK with |
Beta Was this translation helpful? Give feedback.
-
Creating a separate unit test project is fine; please put it under the Test folder. I may move it in the future. |
Beta Was this translation helpful? Give feedback.
-
I've ended up using Shouldly as it's much newer (2023 vs 2013). Take a look at the PR (coming right up), and if you don't like it, I can switch to Should, they are pretty similar. |
Beta Was this translation helpful? Give feedback.
-
Hi,
Thank you for the great library. To give back, I'd like to contribute.
I have the following working in my project with the latest version:
FunctionCallingHelper.GetFunctionDefinition(MethodInfo methodInfo)
- This builds aFunctionDefinition
using reflection and custom attributes:GptFunctionDescriptionAttribute
GptParameterDescriptionAttribute
FunctionCallingHelper.GetFunctionDefinitions(object obj)
- using the above, it returns a list of FunctionDefinitions for a given objectT? FunctionCallingHelper.CallFunction<T>(FunctionCall functionCall, object obj)
- invokes the function specified by the LLM.I'd like to contribute this to the project, but I'd need some pointers before creating a PR.
Beta Was this translation helpful? Give feedback.
All reactions