heshengtao / comfyui_LLM_party

LLM Agent Framework in ComfyUI includes Omost,GPT-sovits, ChatTTS,GOT-OCR2.0, and FLUX prompt nodes,access to Feishu,discord,and adapts to all llms with similar openai/gemini interfaces, such as o1,ollama, grok, qwen, GLM, deepseek, moonshot,doubao. Adapted to local llms, vlm, gguf such as llama-3.2, Linkage neo4j KG, graphRAG / RAG / html 2 img
GNU Affero General Public License v3.0
1.05k stars 93 forks source link

即使外部参数不变,大模型节点总是会运行,因为大模型对同一个问题也总是有着不同的回答。 #17

Closed msola-ht closed 5 months ago

msola-ht commented 5 months ago

这个有办法调整一下吗

或者像随机种子那样

我外部参数不变,只运行一次就可以了

heshengtao commented 5 months ago

我在LLM链的节点上放了一个is_locked参数,如果开启了之后,LLM只会返回上次返回的结果,相当于跳过了这个节点,看是不是满足您的需求

msola-ht commented 5 months ago

我在LLM链的节点上放了一个is_locked参数,如果开启了之后,LLM只会返回上次返回的结果,相当于跳过了这个节点,看是不是满足您的需求

好的,感谢,测试了一下确实可以,不用二次花费API费用,

这个参数只能手动开关吗,有运行一次自动关闭,然后手动启用的办法吗

heshengtao commented 5 months ago

需要注释掉我的项目文件夹下的llm.py文件里LLM类的694到698行:
@classmethod def IS_CHANGED(s):

返回当前时间的哈希值,确保每次都不同

    current_time = str(time.time())
    return hashlib.sha256(current_time.encode()).hexdigest()

注释掉之后,只有你改变了LLM节点的输入,才会重新运行这个节点,我会去试试把这个is_locked和这函数绑定一下哈哈哈,应该就是你要的效果了

msola-ht commented 5 months ago

需要注释掉我的项目文件夹下的llm.py文件里LLM类的694到698行: @classmethod def IS_CHANGED(s): # 返回当前时间的哈希值,确保每次都不同 current_time = str(time.time()) return hashlib.sha256(current_time.encode()).hexdigest() 注释掉之后,只有你改变了LLM节点的输入,才会重新运行这个节点,我会去试试把这个is_locked和这函数绑定一下哈哈哈,应该就是你要的效果了

感谢,按大佬提供的方法修改了,这样才不参数不变,就不用每次运行了

heshengtao commented 5 months ago

更新了一个新的版本,最新版本里,is_locked和 IS_CHANGED函数挂钩了,现在只需要is_locked开启,就是你要的效果了,应该没有什么问题了,我把这个问题关闭了哈