Repolode
cequence-io

cequence-io/openai-scala-client

面向 OpenAI API 及多家大模型服务商的异步 Scala 客户端,覆盖聊天、Responses、流式输出、批处理等接口。

Star
257
Fork
40
未关闭 Issue
9
最近提交
21小时前

这是什么?

这是一个 Scala 语言的 OpenAI API 客户端库,通过统一的 OpenAIService 调用几乎全部接口,包括聊天补全、Responses API、Embeddings、图像、音频、文件、批处理、向量存储和评分器等。同一套调用方式还可以通过适配器用于 Anthropic(含 Bedrock)、Google Gemini 与 Vertex AI、Groq、Perplexity、Mistral、Cerebras 以及其他兼容 OpenAI 接口的服务。

流式输出采用与服务商无关的类型化数据流,涵盖文本、思考过程、工具调用和工具结果等片段,工具调用也支持 MCP。库本身依赖较少,基于 Play WS 实现了通用 WS 客户端,需要依赖注入时可使用 scala-guice。支持 Scala 2.12、2.13 和 3。

核心功能

  • 01统一的 OpenAIService 覆盖聊天、Responses、Embeddings、图像、音频、文件和批处理
  • 02为 Anthropic、Bedrock、Gemini、Vertex AI、Groq、Perplexity 等服务商提供适配器
  • 03与服务商无关的类型化流式输出,包含文本、思考和工具调用片段
  • 04支持工具调用,包括 MCP
  • 05支持 Scala 2.12、2.13 和 3

适用场景

  • 在 Scala 后端服务中调用 OpenAI 或兼容的大模型接口
  • 通过同一套客户端接口在多个大模型服务商之间切换
  • 执行大批量的 Embeddings 或聊天请求批处理
  • 在 Scala 应用中构建流式聊天或智能体功能

使用前须知

  • 多个接口已弃用或已关闭,包括 Assistants、Threads、Runs 和 Run Steps 系列 API、Edits 接口以及 createImageVariation。
  • 部分提供商的集成已停用或过时,例如 Perplexity 的 Sonar 聊天补全和 Octo AI。

收录于专题

标签

常见问题

openai-scala-client 是什么?
面向 OpenAI API 及多家大模型服务商的异步 Scala 客户端,覆盖聊天、Responses、流式输出、批处理等接口。 这是一个 Scala 语言的 OpenAI API 客户端库,通过统一的 OpenAIService 调用几乎全部接口,包括聊天补全、Responses API、Embeddings、图像、音频、文件、批处理、向量存储和评分器等。同一套调用方式还可以通过适配器用于 Anthropic(含 Bedrock)、Google Gemini 与 Vertex AI、Groq、Perplexity、Mistral、Cerebras 以及其他兼容 OpenAI 接口的服务。
openai-scala-client 可以免费使用吗?用的什么许可证?
openai-scala-client 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
openai-scala-client 还在维护吗?
活跃维护中。openai-scala-client 最近一次提交是在 2026年11月6日。
openai-scala-client 适合用来做什么?
在 Scala 后端服务中调用 OpenAI 或兼容的大模型接口 通过同一套客户端接口在多个大模型服务商之间切换 执行大批量的 Embeddings 或聊天请求批处理 在 Scala 应用中构建流式聊天或智能体功能
在哪里获取 openai-scala-client?
源代码和安装说明在 GitHub 上:https://github.com/cequence-io/openai-scala-client

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

一款 Thunderbird 插件,可接入 ChatGPT、Gemini、Claude 或 Ollama,在邮箱内完成邮件撰写、校对、翻译、摘要和打标签。

效率与应用#thunderbird#email#thunderbird-addon
367+4 本周66JavaScriptGPL-3.0维护活跃更新于 18小时前