兼容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/第一章 初识智能体

相关推荐
X566121 小时前
mysql如何处理连接数过多报错_调整max_connections参数
jvm·数据库·python
m0_6091604921 小时前
MongoDB中什么是Hashed Shard Key的哈希冲突_哈希函数的分布均匀性分析
jvm·数据库·python
Ulyanov21 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
逻辑驱动的ken21 小时前
Java高频面试场景题19
java·开发语言·面试·职场和发展·求职招聘
wuxinyan1231 天前
大模型学习之路03:提示工程从入门到精通(第三篇)
人工智能·python·学习
初心未改HD1 天前
Go语言net/http与Web开发:构建高性能HTTP服务
开发语言·golang
如何原谅奋力过但无声1 天前
【灵神高频面试题合集01-03】相向双指针、滑动窗口
数据结构·python·算法·leetcode
叼烟扛炮1 天前
C++第一讲:C++ 入门基础
开发语言·c++·函数重载·引用·内联函数·nullptr
WHS-_-20221 天前
Rank-Revealing Bayesian Block-Term Tensor Completion With Graph Information
人工智能·python·机器学习
技术钱1 天前
Modal组件及使用技巧
python