November 19, 2025 学习 LiteLLM 的认证机制 在之前的两篇文章中,我们分别学习了 LiteLLM 的快速入门和模型管理。我们了解到,LiteLLM 不仅是一个统一的 SDK,更是一个功能强大的企业级 LLM 网关。在生产环境中,如何确保 LLM 资源的安全访问?如何为不同用户和...- 阅读剩余部分 -
November 18, 2025 学习 LiteLLM 的模型管理 在上一篇文章中,我们快速了解了 LiteLLM 的核心特性和基本用法。我们知道 LiteLLM 通过统一的 API 接口支持调用 100+ 个 LLM 服务商的模型,而 Proxy Server 可以作为一个企业级的 LLM 网...- 阅读剩余部分 -
November 17, 2025 LiteLLM 快速入门 在 AI 应用的开发过程中,开发者们往往面临一个共同的难题:如何高效地集成多家 LLM 服务商的接口?不同的服务商提供的 API 设计各不相同,OpenAI 有自己的风格,Anthropic 有另一套标准,Azure OpenAI、Goog...- 阅读剩余部分 -
November 14, 2025 重温 Java 21 之结构化并发 结构化并发(Structured Concurrency) 最初由 JEP 428 提出,并在 JDK 19 中作为孵化 API 发布,接着又在 JDK 20 中通过 JEP 437 再次孵化,现在该特性进入预览版本了...- 阅读剩余部分 -
November 13, 2025 重温 Java 21 之密钥封装机制 API 密钥封装(Key Encapsulation) 是一种现代加密技术,它使用非对称或公钥加密来保护对称密钥。传统的做法是使用公钥加密随机生成的对称密钥,但这需要 填充(Paddings) 并且难以证明安全,密钥封装机制(Key Encapsulati...- 阅读剩余部分 -
November 11, 2025 重温 Java 21 之禁用代理的动态加载 Java Agent 通常被直译为 Java 代理,它是一个 jar 包,这个 jar 包很特别,不能独立运行,而是要依附到我们的目标 JVM 进程中。它利用 JVM 提供的 Instrumentation API 来修...- 阅读剩余部分 -
November 10, 2025 重温 Java 21 之向量 API 向量 API 最初由 JEP 338 提出,并作为孵化 API 集成到 Java 16 中,在 Java 17 到 20 中,又经过了 JEP 414、JEP 417、JEP 426、JEP 438 四次的孵化,这次在 Java 21 中,已...- 阅读剩余部分 -
November 7, 2025 重温 Java 21 之作用域值 作用域值(Scoped Values) 是 Loom 项目提出的另一个重要特性,它提供了一种隐式方法参数的形式,允许在大型程序的各个部分之间安全地共享数据,而无需将它们作为显式参数添加到调用链中的每个方法中。作用域值通常是作为一个公共静...- 阅读剩余部分 -
November 6, 2025 重温 Java 21 之虚拟线程 虚拟线程(Virtual Thread) 是 Java 21 中最突出的特性之一,作为 Loom 项目的一部分,开发人员对这个特性可谓期待已久。它由预览特性变成正式特性经历了两个版本的迭代,第一次预览是 Java 19 的 JEP ...- 阅读剩余部分 -
November 5, 2025 重温 Java 21 之未命名模式和变量 未命名模式和变量也是一个预览特性,其主要目的是为了提高代码的可读性和可维护性。在 Java 代码中,我们偶尔会遇到一些不需要使用的变量,比如下面这个例子中的异常 e:try { int i = I...- 阅读剩余部分 -