forked from svilupp/PromptingTools.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add model providers and Supported functions svilupp#121
- Loading branch information
1 parent
d61cb67
commit be5a678
Showing
2 changed files
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
```@meta | ||
CurrentModule = PromptingTools | ||
``` | ||
|
||
# Model Providers and Supported Functions | ||
|
||
PromptingTools.jl routes AI calls through the use of subtypes of AbstractPromptSchema, which determine how data is formatted and where it is sent. (For example, OpenAI models have the corresponding subtype AbstractOpenAISchema, having the corresponding schemas - OpenAISchema, CustomOpenAISchema, etc.) This ensures that the data is correctly formatted for the specific AI model provider. | ||
|
||
Below is an overview of the model providers supported by PromptingTools.jl, along with the corresponding schema information. | ||
|
||
| Abstract Schema | Schema | Model Provider | aigenerate | aiembed | aiclassify | aiextract | aiscan | aiimage | | ||
|-------------------------|---------------------------|----------------------------------------|------------|---------|------------|-----------|--------|---------| | ||
| AbstractOpenAISchema | OpenAISchema | OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| AbstractOpenAISchema | CustomOpenAISchema* | Any OpenAI-compatible API (eg, vLLM)* | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOpenAISchema | LocalServerOpenAISchema** | Any OpenAI-compatible Local server** | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOpenAISchema | MistralOpenAISchema | Mistral AI | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOpenAISchema | DatabricksOpenAISchema | Databricks | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOpenAISchema | FireworksOpenAISchema | Fireworks AI | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOpenAISchema | TogetherOpenAISchema | Together AI | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | | ||
| AbstractOllamaSchema | OllamaSchema | Ollama | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | | ||
| AbstractManagedSchema | AbstractOllamaManagedSchema | Ollama | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | ||
| AbstractAnthropicSchema | AnthropicSchema | Anthropic | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | | ||
| AbstractGoogleSchema | GoogleSchema | Google Gemini | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | ||
|
||
|
||
\* Catch-all implementation - Requires providing a `url` with `api_kwargs` and corresponding API key. | ||
|
||
\*\* This schema is a flavor of CustomOpenAISchema with a `url` key preset by global Preference key `LOCAL_SERVER`. | ||
|
||
For more detailed explanations of the functions and schema information, refer to [How It Works](https://siml.earth/PromptingTools.jl/dev/how_it_works#ai*-Functions-Overview). |