兼容OpenAI接口服务的实现类

python 复制代码
from openai import OpenAI

class OpenAICompatibleClient:
    """
    一个用于调用任何兼容OpenAI接口的LLM服务的客户端。
    """
    def __init__(self, model: str, api_key: str, base_url: str):
        self.model = model
        self.client = OpenAI(api_key=api_key, base_url=base_url)

    def generate(self, prompt: str, system_prompt: str) -> str:
        """调用LLM API来生成回应。"""
        print("正在调用大语言模型...")
        try:
            messages = [
                {'role': 'system', 'content': system_prompt},
                {'role': 'user', 'content': prompt}
            ]
            response = self.client.chat.completions.create(
                model=self.model,
                messages=messages,
                stream=False
            )
            answer = response.choices[0].message.content
            print("大语言模型响应成功。")
            return answer
        except Exception as e:
            print(f"调用LLM API时发生错误: {e}")
            return "错误:调用语言模型服务时出错。"

来源:https://datawhalechina.github.io/hello-agents/#/./chapter1/第一章 初识智能体

相关推荐
caimouse12 分钟前
ReactOS 图形系统分析(33):字体子系统 — font.c
c语言·开发语言·reactos
郝学胜-神的一滴18 分钟前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·c++·python·程序人生·算法·软件开发
她说可以呀25 分钟前
Spring AI 常用 Advisor
人工智能·python·spring
cxr82826 分钟前
HyperMind Lab M1 架构地基 Implementation Plan <二>
开发语言·人工智能·架构
小玮看世界31 分钟前
[Python] str() 和 join() 的区别与实战避坑指南
前端·javascript·python
卷无止境33 分钟前
FastAPI 的 WebSocket 装了些什么
后端·python·fastapi
特立独行的猫a34 分钟前
Tauri v2的Rust应用 → HarmonyOS(鸿蒙 PC)移植30分钟速成指南
开发语言·rust·harmonyos·tauri·移植·鸿蒙pc
码云骑士34 分钟前
108-vLLM推理引擎-PagedAttention-连续批处理-吞吐提升10倍
python·vllm
DeepVisionary37 分钟前
从微软砍掉Copilot的AI播客、Deep Research看AI产品“做减法“:个人版与企业版合并,超级应用呼之欲出
python·自动化
IT·侯老师38 分钟前
qq-auto-reply
python