zarqa-ai / metta-motto

MIT License
6 stars 7 forks source link

Passing parameters to agents via llm-gate #16

Open Necr0x0Der opened 6 months ago

Necr0x0Der commented 6 months ago

It is useful to be able to pass parameters to the agent not at the moment of its initialization, but via llm. We already have keywords for different types of messages (user, assistant, system + Messages), for function calls (Functions, function), and for indicating the agent (Agent). We can add agent parameters keyword to the list of this keywords, e.g. Parameters, or put parameters inside Agent, so it may look like either as

(llm  (Agent &retrieval) (user "Can I publish service without using grpc?" ) (Parameters (docs_count 2)))

or

(llm  (Agent &retrieval (docs_count 2)) (user "Can I publish service without using grpc?" ))

The latter is simpler in sense that we don't need to collect these parameters in other places and recursive calls (which is done for messages), so these parameters are explicitly attached to the relevant agent. This approach might be a little bit less flexible, but there is no use case for this flexibility.