如何从零开始,在PyCharm中搭建调用大模型的API接口?

2026-05-20 10:178阅读0评论服务器VPS
  • 内容介绍
  • 文章标签
  • 相关推荐

从零开始,在PyCharm中搭建调用大模型的API接口?

绝绝子... 你有没有试过在深夜里对着电脑屏幕发呆,心里想着:“我到底该怎么开始用大模型?”

不是说它难,而是说……太容易让人抓狂了。

从零到一:使用pycharm搭建API接口调用大模型

我们今天就来聊聊怎么在 PyCharm 里 从零开始,搭建一个能调用大模型的 API 接口。别怕,我们不讲什么高深的理论,就讲点实际的、能用的、接地气的。

一、为什么要在 PyCharm 里搞这个?

主要原因是 PyCharm 是个好东西,它不只是个编辑器,它是个“开发神器”。 打脸。 它能帮你自动补全、调试、管理项目,甚至还能帮你写代码。

所以用 PyCharm 来做这个事情,简直就像给你的代码加了个“自动挡”。

二、 大模型调用的两种方式

大模型调用,说白了就是“跟AI说话”,但你得有个“ 调用大模型, 主要有两种方式: 用 requests 库直接调用这是最原始、最暴力的方式,直接发 HTTP 请求,简单粗暴,适合喜欢“自己动手丰衣足食”的人。 用 openai 库调用这是“高级玩家”的选择, 封装得更好,用起来更舒服,适合不想自己拼接 JSON 的人。 我们先从第一种开始,简单粗暴的 requests 方式。 三、 用 requests 调用大模型 我们来写个最简单的例子,调用一个大模型,看看它到底能不能“听懂”我们说的话。 import requests url = "https://api.example.com/v1/chat/completions" payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False } headers = { "Authorization": "Bearer 你的api密钥", "Content-Type": "application/json" } response = requests.post print) 这段代码,就是最简单的“打 四、 用 openai 库调用 如果你觉得 requests 太“原始”,那你可以试试 openai 库。这个库的好处是它把很多细节都封装好了你只需要调用方法,就能拿到后来啊。 from openai import OpenAI client = OpenAI( api_key="你的api密钥", base_url="https://api.example.com/v1" ) response = client.chat.completions.create( model="Qwen/Qwen2.5-7B-Instruct", messages= ) print 是不是感觉舒服多了? 五、 模型列表查看 有时候,你可能不只是想调用一个模型,你还想知道有哪些模型可以调用。这时候, 你就可以用下面这段代码来查看: from openai import OpenAI client = OpenAI( api_key="你的api密钥", base_url="https://api.example.com/v1" ) models = client.models.list for model in models: print 这样,你就能看到你能调用的所有模型了。 六、错误处理 调用 API 时难免会出错。比如: 网络连接问题 API 密钥错误 请求频率太高 返回的数据格式不对 这时候,你就得加点“错误处理”了。 try: response = requests.post if response.status_code == 200: data = response.json if "error" in data: print else: answer = data print else: print except requests.exceptions.Timeout: print except requests.exceptions.ConnectionError: print except requests.exceptions.RequestException as e: print except Exception as e: print 这样, 即使出错了你也能知道是哪里错了。 七、实战案例:智能求职助手 我们来个实战案例,用大模型帮你找工作。 假设你有一份简历,你想让大模型帮你推荐几个合适的岗位。你可以这样做: 读取简历内容 用大模型简历 根据内容, 推荐岗位 保存后来啊 代码如下: import os import requests import json from dotenv import load_dotenv from tabulate import tabulate from datetime import datetime # --- 1. 配置和初始化 --- load_dotenv API_KEY = os.getenv if not API_KEY: raise ValueError URL = "https://api.example.com/v1/chat/completions" # 第一步:简历函数 def summarize_resume: prompt = f""" 请将以下简历内容进行精炼提取出最关键的信息。应包含: 1. 求职者的核心技能和掌握程度。 2. 主要工作经验和项目亮点。 3. 教育背景和求职意向。 请用一段通顺的中文进行不要使用列表或markdown格式。 简历内容如下: --- {full_resume_text} --- """ payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False, "temperature": 0.3 } headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } response = requests.post if response.status_code == 200: data = response.json if "error" in data: print return None summary = data.strip print print print return summary else: print return None # 第二步:推荐岗位 def get_ai_recommendations: payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False, "temperature": 0.5, "response_format": {"type": "json_object"} } headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } response = requests.post if response.status_code == 200: data = response.json if "error" in data: print return None content_str = data recommendations = json.loads return recommendations else: print return None # 主函数 def main: resume_file = "简历.txt" full_resume_content = open.read resume_summary = summarize_resume if not resume_summary: print return prompt = build_prompt recommendations = get_ai_recommendations if recommendations and isinstance: print print table_data = headers = for i, job in enumerate: job_title = job.get company = job.get job_link = job.get if job_link and job_link != 'null': is_valid = validate_link status_text = "✅ 有效" if is_valid else "❌ 无效" else: status_text = "⚠️ 未提供" job_link = "N/A" table_data.append print) print # 保存为 Excel 文件 timestamp = datetime.now.strftime filename = f"job_recommendations_{timestamp}.xlsx" save_to_excel print print print else: print if __name__ == "__main__": main 八、 我狂喜。 模型对比表 为了让你更清楚不同模型的“脾气”,我们来个对比表: 模型名称 调用方式 是否支持中文 是否支持流式输出 Qwen/Qwen2.5-7B-Instruct openai ✅ ✅ Qwen/Qwen2-1.5B-Instruct requests ✅ ❌ Qwen/Qwen1.5-0.5B-Instruct openai ✅ ✅ 好了今天就到这里。你是不是已经跃跃欲试了? 别急,慢慢来毕竟调用大模型不是一朝一夕的事,得慢慢“磨”。

从零开始,在PyCharm中搭建调用大模型的API接口?

绝绝子... 你有没有试过在深夜里对着电脑屏幕发呆,心里想着:“我到底该怎么开始用大模型?”

不是说它难,而是说……太容易让人抓狂了。

从零到一:使用pycharm搭建API接口调用大模型

我们今天就来聊聊怎么在 PyCharm 里 从零开始,搭建一个能调用大模型的 API 接口。别怕,我们不讲什么高深的理论,就讲点实际的、能用的、接地气的。

一、为什么要在 PyCharm 里搞这个?

主要原因是 PyCharm 是个好东西,它不只是个编辑器,它是个“开发神器”。 打脸。 它能帮你自动补全、调试、管理项目,甚至还能帮你写代码。

所以用 PyCharm 来做这个事情,简直就像给你的代码加了个“自动挡”。

二、 大模型调用的两种方式

大模型调用,说白了就是“跟AI说话”,但你得有个“ 调用大模型, 主要有两种方式: 用 requests 库直接调用这是最原始、最暴力的方式,直接发 HTTP 请求,简单粗暴,适合喜欢“自己动手丰衣足食”的人。 用 openai 库调用这是“高级玩家”的选择, 封装得更好,用起来更舒服,适合不想自己拼接 JSON 的人。 我们先从第一种开始,简单粗暴的 requests 方式。 三、 用 requests 调用大模型 我们来写个最简单的例子,调用一个大模型,看看它到底能不能“听懂”我们说的话。 import requests url = "https://api.example.com/v1/chat/completions" payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False } headers = { "Authorization": "Bearer 你的api密钥", "Content-Type": "application/json" } response = requests.post print) 这段代码,就是最简单的“打 四、 用 openai 库调用 如果你觉得 requests 太“原始”,那你可以试试 openai 库。这个库的好处是它把很多细节都封装好了你只需要调用方法,就能拿到后来啊。 from openai import OpenAI client = OpenAI( api_key="你的api密钥", base_url="https://api.example.com/v1" ) response = client.chat.completions.create( model="Qwen/Qwen2.5-7B-Instruct", messages= ) print 是不是感觉舒服多了? 五、 模型列表查看 有时候,你可能不只是想调用一个模型,你还想知道有哪些模型可以调用。这时候, 你就可以用下面这段代码来查看: from openai import OpenAI client = OpenAI( api_key="你的api密钥", base_url="https://api.example.com/v1" ) models = client.models.list for model in models: print 这样,你就能看到你能调用的所有模型了。 六、错误处理 调用 API 时难免会出错。比如: 网络连接问题 API 密钥错误 请求频率太高 返回的数据格式不对 这时候,你就得加点“错误处理”了。 try: response = requests.post if response.status_code == 200: data = response.json if "error" in data: print else: answer = data print else: print except requests.exceptions.Timeout: print except requests.exceptions.ConnectionError: print except requests.exceptions.RequestException as e: print except Exception as e: print 这样, 即使出错了你也能知道是哪里错了。 七、实战案例:智能求职助手 我们来个实战案例,用大模型帮你找工作。 假设你有一份简历,你想让大模型帮你推荐几个合适的岗位。你可以这样做: 读取简历内容 用大模型简历 根据内容, 推荐岗位 保存后来啊 代码如下: import os import requests import json from dotenv import load_dotenv from tabulate import tabulate from datetime import datetime # --- 1. 配置和初始化 --- load_dotenv API_KEY = os.getenv if not API_KEY: raise ValueError URL = "https://api.example.com/v1/chat/completions" # 第一步:简历函数 def summarize_resume: prompt = f""" 请将以下简历内容进行精炼提取出最关键的信息。应包含: 1. 求职者的核心技能和掌握程度。 2. 主要工作经验和项目亮点。 3. 教育背景和求职意向。 请用一段通顺的中文进行不要使用列表或markdown格式。 简历内容如下: --- {full_resume_text} --- """ payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False, "temperature": 0.3 } headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } response = requests.post if response.status_code == 200: data = response.json if "error" in data: print return None summary = data.strip print print print return summary else: print return None # 第二步:推荐岗位 def get_ai_recommendations: payload = { "model": "Qwen/Qwen2.5-7B-Instruct", "messages": , "stream": False, "temperature": 0.5, "response_format": {"type": "json_object"} } headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } response = requests.post if response.status_code == 200: data = response.json if "error" in data: print return None content_str = data recommendations = json.loads return recommendations else: print return None # 主函数 def main: resume_file = "简历.txt" full_resume_content = open.read resume_summary = summarize_resume if not resume_summary: print return prompt = build_prompt recommendations = get_ai_recommendations if recommendations and isinstance: print print table_data = headers = for i, job in enumerate: job_title = job.get company = job.get job_link = job.get if job_link and job_link != 'null': is_valid = validate_link status_text = "✅ 有效" if is_valid else "❌ 无效" else: status_text = "⚠️ 未提供" job_link = "N/A" table_data.append print) print # 保存为 Excel 文件 timestamp = datetime.now.strftime filename = f"job_recommendations_{timestamp}.xlsx" save_to_excel print print print else: print if __name__ == "__main__": main 八、 我狂喜。 模型对比表 为了让你更清楚不同模型的“脾气”,我们来个对比表: 模型名称 调用方式 是否支持中文 是否支持流式输出 Qwen/Qwen2.5-7B-Instruct openai ✅ ✅ Qwen/Qwen2-1.5B-Instruct requests ✅ ❌ Qwen/Qwen1.5-0.5B-Instruct openai ✅ ✅ 好了今天就到这里。你是不是已经跃跃欲试了? 别急,慢慢来毕竟调用大模型不是一朝一夕的事,得慢慢“磨”。