Open anakin87 opened 2 months ago
@anakin87 thanks for this write up; while at it, it would be nice to have a discussion about:
It will also be cool if we could use like a response parser component that worked with any generator and enriched responses, for example to use function calling or to extract keywords or something. This way we could both support OpenAIs models but also open source ones that may have different ways of function calling.
Specially as making the model say, for example:
Thought: $ Some text $
Action: $ Tool key $
Action Input: $ Input to the tool $
as in the ReAct Paper might be beneficial for model generation as it is more natural than writing json objects or similar. This way everyone can customize the parsing to their specific use case and model, asi if I am writting now an example to implement Chameleon on haystack and the Parser might be really different from the one at a normal React or with OpenAI functions.
Moving to P1 and Backlog as agreed with @shadeMe
One example of abstracting tools: https://github.com/deepset-ai/haystack/issues/7613
In the past, only OpenAI provided support for function calling. Today, many Language Model providers/libraries support this feature, using Tools specification or similar.
Also in the context of the upcoming work for Agents, we should:
ChatMessage
abstraction to support ToolsResources:
@vblagoje @julian-risch @mrm1001