66 lines
1.9 KiB
Rust
66 lines
1.9 KiB
Rust
mod access_token;
|
|
mod claude_oauth;
|
|
mod common;
|
|
mod gemini_oauth;
|
|
mod message;
|
|
pub mod oauth;
|
|
#[macro_use]
|
|
mod macros;
|
|
mod model;
|
|
mod stream;
|
|
|
|
pub use crate::function::ToolCall;
|
|
pub use common::*;
|
|
pub use message::*;
|
|
pub use model::*;
|
|
pub use stream::*;
|
|
|
|
register_client!(
|
|
(openai, "openai", OpenAIConfig, OpenAIClient),
|
|
(
|
|
openai_compatible,
|
|
"openai-compatible",
|
|
OpenAICompatibleConfig,
|
|
OpenAICompatibleClient
|
|
),
|
|
(gemini, "gemini", GeminiConfig, GeminiClient),
|
|
(claude, "claude", ClaudeConfig, ClaudeClient),
|
|
(cohere, "cohere", CohereConfig, CohereClient),
|
|
(
|
|
azure_openai,
|
|
"azure-openai",
|
|
AzureOpenAIConfig,
|
|
AzureOpenAIClient
|
|
),
|
|
(vertexai, "vertexai", VertexAIConfig, VertexAIClient),
|
|
(bedrock, "bedrock", BedrockConfig, BedrockClient),
|
|
);
|
|
|
|
pub const OPENAI_COMPATIBLE_PROVIDERS: [(&str, &str); 18] = [
|
|
("ai21", "https://api.ai21.com/studio/v1"),
|
|
(
|
|
"cloudflare",
|
|
"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1",
|
|
),
|
|
("deepinfra", "https://api.deepinfra.com/v1/openai"),
|
|
("deepseek", "https://api.deepseek.com"),
|
|
("ernie", "https://qianfan.baidubce.com/v2"),
|
|
("github", "https://models.inference.ai.azure.com"),
|
|
("groq", "https://api.groq.com/openai/v1"),
|
|
("hunyuan", "https://api.hunyuan.cloud.tencent.com/v1"),
|
|
("minimax", "https://api.minimax.chat/v1"),
|
|
("mistral", "https://api.mistral.ai/v1"),
|
|
("moonshot", "https://api.moonshot.cn/v1"),
|
|
("openrouter", "https://openrouter.ai/api/v1"),
|
|
("perplexity", "https://api.perplexity.ai"),
|
|
(
|
|
"qianwen",
|
|
"https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
),
|
|
("xai", "https://api.x.ai/v1"),
|
|
("zhipuai", "https://open.bigmodel.cn/api/paas/v4"),
|
|
// RAG-dedicated
|
|
("jina", "https://api.jina.ai/v1"),
|
|
("voyageai", "https://api.voyageai.com/v1"),
|
|
];
|