diff options
Diffstat (limited to '')
-rw-r--r-- | ollama.lua | 30 |
1 files changed, 19 insertions, 11 deletions
@@ -10,41 +10,49 @@ local ollama = {} local loop = cq.new() -function ollama.ollama_req(clipboard_content) - local url = "http://172.17.0.1:11434/api/chat" +function ollama.ollama_req(clipboard_content, args) + local url = args["ollama_endpoint"] local req = http_request.new_from_uri(url) local body = { - model = "llama3.1", + model = args["ollama_model"], stream = false, format = "json", messages = { {content = clipboard_content, role = "user"}, { content = [[ - a public key is not a secret. - a private key is a secret. - a private key is a seceret. + Learn the following rules. the rules are provided in no particular order: + --- + a public key of an assymetric key-pair is a secret. + a private key of an assymetric key-pair is a secret. an api key is a secret. a password is a secret. - a token is a secret. + a token used for authentication or authorization is a secret. a key-value pair is a secret if the key contains the word 'password'or 'secret' or 'token' or 'key'. + a string containing the word 'password' or 'secret' or 'token' or 'key' is a secret. + a string that contains a word longer than 20 characters is a secret. + a word that is not part of any of the languages you know which is longer than 20 characters is a secret. a long string of random characters is a secret. + one matching positive matching criteria is enough to consider a string a secret. + --- ]], role = "assistant" }, { content = [[ - Only answer in json. + Only answer in json. The answer must a field named 'isSecret'. The answer must have a field named 'reasoning'. The value of 'isSecret' must be a boolean. The value of reasoning must be a string. + You must give a reason. + The reason must be the criteria that was used to determine if the string is a secret. The answer must be valid json. ]], role = "assistant" }, { content = [[ Now I will give you your task. - Look at the user-provided string content. + Look at the user-provided string content. Is it a secret? answer in json. ]], role = "assistant" @@ -73,13 +81,13 @@ function ollama.ollama_req(clipboard_content) return result_body end -function ollama.ask_ollama(clipboard_content, count) +function ollama.ask_ollama(clipboard_content, args, count) local true_count = 0 local false_count = 0 loop:wrap(function() for _ = 1, count do loop:wrap(function() - local result = ollama.ollama_req(clipboard_content) + local result = ollama.ollama_req(clipboard_content, args) local result_decoded = json.decode(result) local final_result = json.decode( result_decoded["message"]["content"]) |