Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
前言
在 AI 飞速发展的时代,大型语言模型(LLMs)逐渐成为推动技术进步的重要力量。无论是自然语言处理、文本生成,还是智能问答和代码辅助,LLMs 的应用场景正在不断扩展,各种模型层出不穷。然而,面对种类繁多的模型和各自不同的接口标准,开发者在集成和管理这些模型时往往会面临复杂性和兼容性的问题。
Pantheons 的诞生正是为了解决这一痛点。它是一个使用 TypeScript 基于 OpenAI Node.js SDK 构建的统一对话库,旨在为开发者提供一个简洁、高效的接口,方便与多个大型语言模型(LLMs)进行交互。通过 Pantheons,开发者可以轻松集成 OpenAI、DeepSeek、DashScope、Gemini 等主流语言模型,无需担心底层差异,专注于实现自己的业务逻辑。
功能特性
- 统一接口设计:所有模型基于 OpenAI Node.js SDK 构建;共享相同的调用方式,大幅降低学习成本
- 类型安全:基于 TypeScript 构建,提供完整的类型定义,让开发更加顺畅
- 支持多种模型:目前支持十几种主流大语言模型,包括 OpenAI、Azure OpenAI、通义千问、文心一言、腾讯混元、Google Gemini 等,覆盖几乎所有主流云端和本地 LLM 服务。
- 适配多种运行环境:支持 Node.js, Bun 和 Web 等多种运行时环境,适配性强。
支持的大模型
- OpenAI
- Azure OpenAI
- 通义千问(DashScope)
- 腾讯混元(HunYuan)
- 月之暗面(Moonshot)
- 硅基流动(SiliconFlow)
- DeepSeek
- 文心一言(QianFan)
- Gemini
- Ollama
- 智谱清言(ZhiPu)
- XAI
- 零一万物(LingYiWanWu)
- MiniMax
- 讯飞星火(Spark)
- Anthropic(Claude)
使用方法
Nodejs
- import { DeepSeek } from 'pantheons';
- (async () => {
- const client = new DeepSeek('Your key');
- const stream = await client.stream({
- model: 'deepseek-chat',
- stream: true,
- messages: [{ role: 'user', content: 'Hi!' }],
- });
- let result = '';
- for await (const chunk of stream) {
- result += chunk.choices[0].delta?.content;
- }
- console.log(result);
- })();
复制代码 Bun
- import { DeepSeek } from '@greywen/pantheons';
- const client = new DeepSeek('Your key');
- const stream = await client.stream({
- model: 'deepseek-chat',
- stream: true,
- messages: [{ role: 'user', content: 'Hi!' }],
- });
- let result = '';
- for await (const chunk of stream) {
- result += chunk.choices[0].delta?.content;
- }
- console.log(result);
复制代码 多模型
- import { DashScope, Moonshot, DeepSeek } from 'pantheons';
- const deepSeekClient = new DeepSeek('Your key');
- const dashScopeClient = new DashScope('Your key');
- const moonshotClient = new Moonshot('Your key');
- const messages = [{ role: 'user', content: 'Hi!' }];
- const deepSeekStream = await dashScopeClient.stream({
- model: 'deepseek-chat',
- stream: true,
- messages,
- });
- const dashScopeStream = await dashScopeClient.stream({
- model: 'qwen-max',
- stream: true,
- messages,
- });
- const moonshotStream = await moonshotClient.stream({
- model: 'kimi-latest',
- stream: true,
- messages,
- });
- async function readStream(stream: AsyncIterable, output: string[]) {
- for await (const chunk of stream) {
- const content = chunk.choices[0].delta?.content || '';
- output.push(content);
- }
- }
- const deepSeekOutput: string = [];
- const dashScopeOutput: string[] = [];
- const moonshotOutput: string[] = [];
- await Promise.all([
- readStream(deepSeekStream, deepSeekOutput),
- readStream(dashScopeStream, dashScopeOutput),
- readStream(moonshotStream, moonshotOutput),
- ]);
- console.log(deepSeekOutput, dashScopeOutput, moonshotOutput);
复制代码 私有化部署URL
- import { Ollama } from 'pantheons';
- client = new Ollama('Your Key', { baseURL: 'Your URL' });
- const stream = await client.stream({
- model: 'qwen2.5-coder:latest',
- stream: true,
- messages: [{ role: 'user', content: 'Hi!' }],
- });
- let actual = '';
- for await (const chunk of stream) {
- actual += chunk.choices[0].delta?.content;
- }
- console.log(actual);
复制代码 总结
Pantheons 是一个面向多模型集成工具,借助其统一、高效的接口设计,开发者可以显著减少在多语言模型集成中的开发成本和时间。无论你是希望快速接入一个模型,还是需要在多个模型之间自由切换,Pantheons 都能成为你不可或缺的工具。
未来,Pantheons 将继续扩展更多模型的支持,同时优化性能与易用性,为开发者提供更强大的工具链。如果你正在寻找一个解决多模型集成痛点的方案,不妨试试 Pantheons。
欢迎广大开发者 Star 、提交 issue、贡献代码、参与讨论, 感谢!
同时也欢迎大家使用我们已发布的大模型项目 Sdcb Chats 如果您觉得有帮助请在 GitHub 上 Star 我们!您的支持是我们前进的动力。
再次感谢您的支持,期待未来为您带来更多惊喜!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |