Open wejick opened 1 year ago
Chain right now is the top abstraction we have in gchain, while behind it there are retrieval and model which has different option. Yet we use modeloption to specify chain option.
Later we may have agent, so we may also need to have agent option. this unnecessary nested is bothering me, how to do this properly.
On LangChain there is the kwargs where it's passed from front to back, with the nature of Python's dynamic typing this kwargs can be reused by many layers from agent, to chain until model. However, to have an idiomatic Go developer experience, that model is not ideal. If we talk about the perfect way, it should use a functional option pattern.
Need more research on how this model will looks like.