微信扫码
添加专属顾问
我要投稿
import openaiimport osimport json# 加载 .env 文件from dotenv import load_dotenv, find_dotenv_ = load_dotenv(find_dotenv())# 从环境变量中获得你的 OpenAI Key和配置URLopenai.api_key = os.getenv('OPENAI_API_KEY')openai.api_base = os.getenv('OPENAI_API_URL')model = os.getenv('OPENAI_API_MODEL')def get_current_cluster_state(cluster_name):print(f"cluster:{cluster_name}")return"""ERROR: Failed to pull image "tanjp/docker/dsp:latest"""funcs = {"get_current_cluster_state": get_current_cluster_state}def run(input):msg=[{"role":"user","content":input}]ret = run_conversation(msg)return ret["content"]#function 接受一个名为 "cluster_name" 的参数,用于指定要查询状态的集群名称#temperature=0,# 模型输出的随机性,0 表示随机性最小。需要填写为0,否则会出现其他问题def run_conversation(msg):response = openai.ChatCompletion.create(model=model,messages=msg,temperature=0,# 模型输出的随机性,0 表示随机性最小functions=[{"name": "get_current_cluster_state","description": "Get the current state in a given cluster", #⽅法⽤途描述"parameters": {"type": "object","properties": {"cluster_name": {"type": "string","description": "the name of the cluster",#参数描述},},"required": ["cluster_name"],},}],function_call="auto",#"""控制模型如何响应函数调⽤• “none” 表示模型不调⽤函数• “auto” 表示模型可以⾃动调⽤函数• 通过 {"name": “my_function”} 强制模型调⽤指定函数• 默认值为 "auto"""")message =response["choices"][0]["message"]print("----- message ----")print(message)print("----- message ----")# 如果不需要调用function,则直接返回结果if not message.get("function_call"):return message# 获取调用的方法function_name = message["function_call"]["name"]function_args = json.loads(message["function_call"]["arguments"])print(function_args)res = funcs[function_name](function_args["cluster_name"])message["content"]=Nonemsg.append(message)msg.append({"role": "function","name": function_name,"content": res,})return run_conversation(msg)#python入口函数if __name__ == "__main__":#print(run("Hello"))#集群“DSP”出了什么问题?如果有错误,给我一些建议。print(run("What's wrong with the cluster 'DSP'? And if there's an error, give me some suggestion. "))
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-15
200k Tokens 的上下文真的够用吗?
2025-12-15
专家知识 x 技术放大:我在B端智能体落地一线的万字真实复盘
2025-12-15
字节AI神操作:AI生成接口自动化测试用例,效率拉满
2025-12-15
解析 Goose:为什么它会进入 AAIF,以及这对 Agentic Runtime 意味着什么
2025-12-15
Palantir的“本体论”:数字世界的底层革命
2025-12-15
Claude Skills|将 Agent 变为领域专家
2025-12-15
OpenAI Code Interpreter ("Coworker") 架构审计与安全取证分析
2025-12-14
Claude Skill深度分析:拖拉拽已死,Skill 当立
2025-09-19
2025-10-26
2025-10-02
2025-09-17
2025-09-29
2025-10-07
2025-09-30
2025-11-19
2025-10-20
2025-11-13