找回密码
 立即注册
首页 业界区 安全 Python访问大模型的几种方式

Python访问大模型的几种方式

于映雪 4 天前
Python访问大模型的几种方式

Python访问大模型很方便,也让大家构建复杂的系统更加的灵活。
访问的方式也比较灵活,主要有http api,package api的方式。
这里简单汇总了常用的三种方式,包括ollama的,http api的,openAI的以及dashscope的。
通过Ollama http API

以下代码通过http API访问远程ollama部署的deepseek-r1:7b模型。
由于用的是7B,所以此问题的回答结果不是很靠谱。
我也测过14B,相对靠谱一点点。
也可以通过Ollama package来访问,但我发现这种方式只能访问本地部署的大模型,没有找到访问远程大模型的方法。
  1. import requests
  2. model_name = "deepseek-r1:7b"
  3. contentAction="为了快速落地,我第一时刻跳伞,隐藏在一堆房屋中,中间还淘汰了一个敌人,于是我继续躲在这里。"
  4. contentRule="老六准则:航线末端跳伞,远离航线,不去大的房屋群,淘汰敌人后立刻更换位置。"
  5. prompt = f"""
  6.     # Question
  7.     以下内容: {contentAction},是否符合老六行为准则: {contentRule}。
  8. """
  9. base_url="http://192.168.0.118:11434"
  10. endpoint = f"{base_url}/api/generate"
  11. payload = {
  12.     "model": model_name,
  13.     "prompt": prompt,
  14.     "stream": False  # 我们不需要流式响应
  15. }
  16. response = requests.post(endpoint, json=payload)
  17. response.raise_for_status()
  18. analysis_result = response.json()["response"]
  19. print(analysis_result)
复制代码
通过OpenAI

以下代码通过OpenAI访问远程Qwen模型。
相对7B,这个回答靠谱了很多。
  1. from openai import OpenAI
  2. import json
  3. client = OpenAI(
  4.     api_key="这里需要替换成自己的API KEY",
  5.     base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
  6. )
  7. contentAction="为了快速落地,我第一时刻跳伞,隐藏在一堆房屋中,中间还淘汰了一个敌人,于是我继续躲在这里。"
  8. contentRule="老六准则:航线末端跳伞,远离航线,不去大的房屋群,淘汰敌人后立刻更换位置。"
  9. prompt = f"""
  10.     # Question
  11.     以下内容: {contentAction},是否符合老六行为准则: {contentRule}。
  12. """
  13. completion = client.chat.completions.create(
  14.     model="qwen-plus",
  15.     messages=[
  16.         {"role": "system", "content": "你是一个审查员。"},
  17.         {"role": "user", "content": prompt},
  18.        ],
  19. )
  20. data = json.loads(completion.model_dump_json())
  21. analysis_result = data['choices'][0]['message']['content']
  22. print(analysis_result)
复制代码
通过dashscope访问Qwen

以下代码通过dashscope访问云端Qwen模型。
这个package只能访问Qwen的云端模型。
  1. import dashscope
  2. dashscope.api_key = "这里需要替换成自己的API KEY"
  3. contentAction="为了快速落地,我第一时刻跳伞,隐藏在一堆房屋中,中间还淘汰了一个敌人,于是我继续躲在这里。"
  4. contentRule="老六准则:航线末端跳伞,远离航线,不去大的房屋群,淘汰敌人后立刻更换位置。"
  5. prompt = f"""
  6.     # Question
  7.     以下内容: {contentAction},是否符合老六行为准则: {contentRule}。
  8. """
  9. response = dashscope.Generation.call(
  10.     model="qwen-max",  # 指定模型
  11.     prompt=prompt,  # 输入提示
  12.     parameters={
  13.         "max_length": 1024,  # 最大生成长度
  14.         "temperature": 0.1  # 温度参数,控制随机性
  15.     }
  16. )
  17. print(response.output.text)
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册