如何调用大语言模型的API?

1、调用参数

调用大语言模型的API,相当于调用已经写好的函数,我们只需要结合我们的实际需求进行包装一下(也就是学会用哪些参数去调用就行)。

model

,即调用的模型,一般取值包括"gpt-3.5-turbo"(ChatGPT-3.5)、"gpt-3.5-16k-0613"(ChatGPT-3.5 16K 版本)、"gpt-4"(ChatGPT-4)。注意,不同模型的成本是不一样的。

message

,即我们的 prompt。ChatCompletion 的 message 需要传入一个列表,列表中包括多个不同角色的 prompt。我们可以选择的角色一般包括 system:即前文中提到的 system prompt;user:用户输入的 prompt;assitance:助手,一般是模型历史回复,作为给模型参考的示例。

data = {

"model": "/mnt/work/deepseek-32b/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",

"messages": [

{

"role": "system",

"content": "你是一位专业的学术写作助手,擅长帮助用户根据给定的主题关键词或段落生成高质量的学术论文。请根据提供的信息,创作一篇结构完整、内容丰富的学术论文。\n\n在撰写论文时,请注意以下几个方面:\n- 确保论文结构清晰,包括引言、文献综述、方法论、结果和讨论、结论等部分。\n- 使用丰富多样的词汇和表达方式。\n- 提供具体的例子、数据和引用支持你的观点。\n- 保持逻辑连贯性和流畅性。\n- 确保文章具有学术严谨性和专业性。"

},

{

"role": "user",

"content": f"请根据以下提供的信息,创作一篇结构完整、内容丰富的学术论文:\n\n{input_data}\n\n请直接输出生成的论文。"

}

],

"max_tokens": 128000,

"temperature": 0.5

}

temperature

温度。即前文中提到的 Temperature 系数。(0-1)越小,大模型生成的文本越稳定。

max_tokens

最大 token 数,即模型输出的最大 token 数。OpenAI 计算 token 数是合并计算 Prompt 和 Completion 的总 token 数,要求总 token 数不能超过模型上限(如默认模型 token 上限为 4096)。因此,如果输入的 prompt 较长,需要设置较小的 max_token 值,否则会报错超出限制长度。

百度文心实操:

import requests

import json

import time

import os

如果你需要通过代理端口访问,你需要如下配置

os.environ'HTTPS_PROXY' = 'http://127.0.0.1:1080'

os.environ"HTTP_PROXY" = 'http://127.0.0.1:1080'

def get_access_token():

api_key = ""

secret_key = ""

url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials\&client_id={api_key}\&client_secret={secret_key}"

设置 POST 访问

payload = json.dumps("")

headers = {

'Content-Type': 'application/json',

'Accept': 'application/json'

}

通过 POST 访问获取账户对应的 access_token

response = requests.request("POST", url, headers=headers, data=payload)

print(response.json())

return response.json().get("access_token")

一个封装 Wenxin 接口的函数,参数为 Prompt,返回对应结果

def get_completion_weixin(prompt, temperature = 0.1, access_token = ""):

'''

prompt: 对应的提示词

temperature:温度系数

access_token:已获取到的秘钥

'''

url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={access_token}"

配置 POST 参数

payload = json.dumps({

"messages": [

{

"role": "user",# user prompt

"content": "{}".format(prompt)# 输入的 prompt

}

],

"temperature" : temperature

})

headers = {

'Content-Type': 'application/json'

}

time.sleep(3)

发起请求

response = requests.request("POST", url, headers=headers, data=payload)

返回的是一个 Json 字符串

js = json.loads(response.text)

print(js)

return js"result"

if name == "main":

access_token = get_access_token()

prompt = f"Given the sentence, assign a sentiment label from 'positive', 'negative', 'neutral'. Sentence: Ok, first assesment of the #kindle2 ...it fucking rocks!!! Return label only without any other text."

ans = get_completion_weixin(prompt=prompt, access_token=access_token)

print(ans)

部署到服务器上面:

@manager.route('/builtintranslate', methods='POST') # noqa: F821

@token_required

@validate_request("target_text","target_language")

def translate(tenant_id):

def extract_json(text):

使用正则表达式提取 JSON 数据部分

match = re.search(r'json\n(.*?)\n', text, re.DOTALL)

if not match:

return None

json_str = match.group(1)

try:

解析 JSON 数据

data = json.loads(json_str)

return data

except json.JSONDecodeError:

return None

req = request.json

text = req"target_text"

to = req"target_language"

data = {

"model": "/mnt/work/deepseek-32b/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",

"messages": [{"role": "system", "content": "你是一个多语言翻译助手,支持多种语言的文本翻译,包括但不限于英语、中文、法语等。我将告诉你需要翻译的内容和目标语言,希望你尽快为我提供翻译出结果."},

{"role": "user",

"content": f"请将以下<Input>{text}</Input>中的文案翻译为{to}语言,\n并以如下JSON格式返回结果:\n{{\"translate\": \"\"}}"}

],

"max_tokens": 100000,

"temperature": 0.1,

}

url = "http://10.0.62.105:8102/v1/chat/completions"

headers = {"Content-Type": "application/json"}

response = requests.post(url, headers=headers, json=data)

js = json.loads(response.text)

print(js"choices"0"message""content")

res = extract_json(js"choices"0"message""content") # 字符串

conv = {

"response": res

}

return get_result(data=conv)

相关推荐
回眸&啤酒鸭2 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅2 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein2 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu2 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb2 天前
智能网联汽车安全能力框架
人工智能
龙亘川2 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
飞猫的边缘AI2 天前
边缘AI应用:家用AI摄像头怎么做数据训练?
人工智能·边缘计算·ai算法·边缘ai