news 2026/7/2 14:12:33

python调用大模型api来进行对话

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python调用大模型api来进行对话

Openai的接口调用

pip包下载

1

pip install openai

配置sk,url

1

2

OPENAI_API_KEY=sk-xxxxx

OPENAI_BASE_URL=https://api.openai.com/v1

接口调用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

importos

fromflaskimportFlask, jsonify

fromopenaiimportOpenAI

config=configparser.ConfigParser()

config.read("config.cfg", encoding="utf-8")

OPENAI_API_KEY=config.get("default","OPENAI_API_KEY", fallback=None)

OPENAI_BASE_URL=config.get("default","OPENAI_BASE_URL", fallback=None)

@app.route("/gpt_test")

defgpt_test():

"""

简单调用一次 GPT,返回一个固定问题的回答

"""

ifnotOPENAI_API_KEY:

returnjsonify({"error":"OPENAI_API_KEY 未配置"}),500

try:

# 这里用的是 chat.completions.create 风格

resp=client.chat.completions.create(

model="gpt-4.1-mini",# 或者你有的任意模型,比如 gpt-4.1, gpt-4o 等

messages=[

{"role":"system","content":"你是一个简洁回答的助手。"},

{"role":"user","content":"简单用一句话介绍一下你自己。"},

],

)

answer=resp.choices[0].message.content

returnjsonify({"answer": answer})

exceptException as e:

print("GPT 调用异常:",repr(e))

returnjsonify({"error":str(e)}),500

二、阿里通义

安装官方sdk

1

pip install dashscope

使用dashscope.Generation.call基本可以复用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

ALIYUN_API_KEY=config.get("default","ALIYUN_API_KEY", fallback=None)

@app.route("/llm_test/")

defllm_test():

"""测试与大模型的对话功能"""

try:

messages=[

{'role':'system','content':'You are a helpful assistant.'},

{'role':'user','content':'你是谁?'}

]

answer=chat_with_model(messages)

returnjsonify({"answer": answer})

exceptException as e:

print("LLM error:",repr(e))

returnjsonify({"error":str(e)}),500

这里有几类模型id都可以使用:

  • qwen3-max
  • qwen-plus
  • qwen-turbo

参考:阿里云百炼

如果需要使用到prompt,比如我们有路径app/prompt_store/底下的prompt文件:doc-llm-latest.md

首先按照字符串处理的思路,先读取出来:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

frompathlibimportPath

# run.py 所在目录

BASE_DIR=Path(__file__).resolve().parent

PROMPT_DIR=BASE_DIR/"app"/"prompt_store"

PROMPT_LATEST_FILE=PROMPT_DIR/"doc-llm-latest.md"

defload_latest_prompt()->str|None:

"""读取 doc-llm-latest.md 的内容"""

try:

with PROMPT_LATEST_FILE.open("r", encoding="utf-8") as f:

returnf.read()

exceptFileNotFoundError:

print(f"[WARN] Prompt file not found: {PROMPT_LATEST_FILE}")

returnNone

exceptException as e:

print(f"[ERROR] Failed to read prompt: {e!r}")

returnNone

然后message格式补充

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

@app.route("/llm_with_prompt/")

defllm_with_prompt():

"""使用最新的Prompt与大模型对话"""

prompt=load_latest_prompt()

ifnotprompt:

returnjsonify({"error":"No prompt available"}),500

try:

messages=[

{

'role':'system',

'content': prompt

},

{

'role':'user',

'content':"请用一两句话,概括一下这个文档测试规范的核心目标。"

}

]

answer=chat_with_model(messages)

returnjsonify({"answer": answer})

exceptException as e:

print("LLM with prompt error:",repr(e))

returnjsonify({"error":str(e)}),500

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 6:40:01

何为实体-属性-值的设计方式

EAV(Entity-Attribute-Value)模型,我们先来了解一下。 EAV 把所有业务抽象成: 数据结构示例,如下所示: Entity: Customer Attributes:name stringphone stringlevel enumValues:(001…

作者头像 李华
网站建设 2026/7/3 1:19:34

剑指offer-62、⼆叉搜索树的第k个结点

题⽬描述给定⼀棵⼆叉搜索树,请找出其中的第 k ⼩的 TreeNode 结点。示例1 输⼊:{5,3,7,2,4,6,8},3 返回值:{4}思路及解答二叉搜索树的关键性质二叉搜索树具有一个重要特性:中序遍历(左-根-右)BST会得到一个…

作者头像 李华
网站建设 2026/7/2 8:07:17

codex、ccswitch卸载干净后重装配置deepseek

1.卸载ccswitch ①若ccswitch是通过文件.msi下载的,则进入控制面板,选择程序和功能,点击ccswitch卸载; ②进入目录C:\Users\用户名\,删除.cc-switch 2.卸载codex ①在电脑左下角找到codex,右击卸载 ②…

作者头像 李华
网站建设 2026/7/1 2:42:29

社会实践PPT制作指南:优质工具平台与实用技巧

一、社会实践 PPT:为何选择合适模板很重要在大学生活中,社会实践是极为重要的一环。它不仅能让我们走出校园,亲身体验社会的多样性,将所学知识应用于实际,还能锻炼我们的沟通能力、团队协作能力和解决问题的能力 。而当…

作者头像 李华
网站建设 2026/7/1 2:41:45

Java毕设选题推荐:基于 SpringBoot 的农户农产品展销助农平台的设计与实现 基于 SpringBoot 的智慧农商便民服务平台【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华