Merge pull request #910 from rudi-bruchez/openrouter

Add Openrouter Vendor support
This commit is contained in:
Eugen Eisler 2024-09-13 11:36:30 +02:00 committed by GitHub
commit 37401fcfb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import (
"github.com/danielmiessler/fabric/vendors/groc" "github.com/danielmiessler/fabric/vendors/groc"
"github.com/danielmiessler/fabric/vendors/ollama" "github.com/danielmiessler/fabric/vendors/ollama"
"github.com/danielmiessler/fabric/vendors/openai" "github.com/danielmiessler/fabric/vendors/openai"
"github.com/danielmiessler/fabric/vendors/openrouter"
"github.com/danielmiessler/fabric/vendors/siliconcloud" "github.com/danielmiessler/fabric/vendors/siliconcloud"
"github.com/danielmiessler/fabric/youtube" "github.com/danielmiessler/fabric/youtube"
"github.com/pkg/errors" "github.com/pkg/errors"
@ -60,7 +61,7 @@ func NewFabricBase(db *db.Db) (ret *Fabric) {
"Enter the index the name of your default model") "Enter the index the name of your default model")
ret.VendorsAll.AddVendors(openai.NewClient(), azure.NewClient(), ollama.NewClient(), groc.NewClient(), ret.VendorsAll.AddVendors(openai.NewClient(), azure.NewClient(), ollama.NewClient(), groc.NewClient(),
gemini.NewClient(), anthropic.NewClient(), siliconcloud.NewClient()) gemini.NewClient(), anthropic.NewClient(), siliconcloud.NewClient(), openrouter.NewClient())
return return
} }

View File

@ -3,8 +3,9 @@ package core
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/danielmiessler/fabric/vendors"
"sync" "sync"
"github.com/danielmiessler/fabric/vendors"
) )
func NewVendorsManager() *VendorsManager { func NewVendorsManager() *VendorsManager {

16
vendors/openrouter/openrouter.go vendored Normal file
View File

@ -0,0 +1,16 @@
package openrouter
import (
"github.com/danielmiessler/fabric/vendors/openai"
)
func NewClient() (ret *Client) {
ret = &Client{}
ret.Client = openai.NewClientCompatible("OpenRouter", "https://openrouter.ai/api/v1", nil)
return
}
type Client struct {
*openai.Client
}