Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.7.0
-
None
-
Unknown
Description
Currently, our implementation of function calling requires potential consumers of those routes to be directly linked to those producers. This means that there is an exclusive 1-to-MANY relationship between the producer and the consumers.
This implementation brings limitations and problems:
- The consumer routes are not reusable.
- Each of them is directly linked to the producer. Which means that it makes it much harder to link them to more than one producer.
- Having different producers associated with different tools.
- It makes observability and route management more difficult and confusing
- Because of similar route URLs and equal base URIs (i.e.; "langchain4j-chat:chatId").
- If searching logs, management interfaces, by URL, then multiple routes might match.
- Error handling is more complex
- Having the tools feature as part of the chat component, also makes it a bit confusing and hard to find.