Эх сурвалжийг харах

Merge branch 'lbq' of wushan/ai_learning into master

lbq 1 долоо хоног өмнө
parent
commit
b8b35531f0

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 268 - 0
卢炳圻/test1.ipynb


+ 42 - 0
卢炳圻/test2/test2-1.py

@@ -0,0 +1,42 @@
+import os
+from openai import OpenAI
+from dotenv import load_dotenv
+
+load_dotenv()
+
+API_KEY = os.getenv("BAILIAN_API_KEY")
+BASE_URL = os.getenv("BAILIAN_API_BASE_URL")
+MODEL_NAME = "qwen3-32b"  # 按实际支持的模型名填写
+
+client = OpenAI(base_url=BASE_URL, api_key=API_KEY)
+
+system_prompt = (
+    "你是一个信息收集助手,需要和用户多轮对话,收集用户的姓名、年龄和感兴趣的行业。"
+    "请严格按照顺序提问:先问姓名,再问年龄,再问行业。"
+    "用户如果输入无关内容,请提醒用户先完成信息收集,不要回答无关问题。"
+    "用户如果拒绝回答(如‘不告诉你’),请礼貌提醒必须填写。"
+    "收集完毕后请总结结果。"
+)
+
+if __name__ == "__main__":
+    # OpenAI Python SDK 1.x 及兼容API,messages为list[dict]即可
+    history = [
+        {"role": "system", "content": system_prompt}
+    ]
+    while True:
+        # 若仍有类型报错,建议升级openai库到1.0以上
+        response = client.chat.completions.create(
+            model=MODEL_NAME,
+            messages=history,# type: ignore
+            extra_body={"enable_thinking": False},
+        )
+        content = response.choices[0].message.content
+        ai_reply = content.strip() if content else "[无回复内容]"
+        print(f"AI: {ai_reply}")
+        # 判断是否收集完毕
+        if ("信息收集完成" in ai_reply) or ("收集完毕" in ai_reply) or ("结果" in ai_reply and "姓名" in ai_reply and "年龄" in ai_reply and "行业" in ai_reply):
+            break
+        history.append({"role": "assistant", "content": ai_reply})
+        user_input = input("User: ").strip()
+        history.append({"role": "user", "content": user_input})
+

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно