mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-11-04 07:43:41 +08:00 
			
		
		
		
	feat: support cohere's web search
This commit is contained in:
		@@ -5,3 +5,10 @@ var ModelList = []string{
 | 
			
		||||
	"command-light", "command-light-nightly",
 | 
			
		||||
	"command-r", "command-r-plus",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	num := len(ModelList)
 | 
			
		||||
	for i := 0; i < num; i++ {
 | 
			
		||||
		ModelList = append(ModelList, ModelList[i]+"-internet")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,10 @@ import (
 | 
			
		||||
	"github.com/songquanpeng/one-api/relay/model"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	WebSearchConnector = Connector{ID: "web-search"}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func stopReasonCohere2OpenAI(reason *string) string {
 | 
			
		||||
	if reason == nil {
 | 
			
		||||
		return ""
 | 
			
		||||
@@ -45,6 +49,10 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *Request {
 | 
			
		||||
	if cohereRequest.Model == "" {
 | 
			
		||||
		cohereRequest.Model = "command-r"
 | 
			
		||||
	}
 | 
			
		||||
	if strings.HasSuffix(cohereRequest.Model, "-internet") {
 | 
			
		||||
		cohereRequest.Model = strings.TrimSuffix(cohereRequest.Model, "-internet")
 | 
			
		||||
		cohereRequest.Connectors = append(cohereRequest.Connectors, WebSearchConnector)
 | 
			
		||||
	}
 | 
			
		||||
	for _, message := range textRequest.Messages {
 | 
			
		||||
		if message.Role == "user" {
 | 
			
		||||
			cohereRequest.Message = message.Content.(string)
 | 
			
		||||
 
 | 
			
		||||
@@ -228,6 +228,9 @@ func GetModelRatio(name string) float64 {
 | 
			
		||||
	if strings.HasPrefix(name, "qwen-") && strings.HasSuffix(name, "-internet") {
 | 
			
		||||
		name = strings.TrimSuffix(name, "-internet")
 | 
			
		||||
	}
 | 
			
		||||
	if strings.HasPrefix(name, "command-") && strings.HasSuffix(name, "-internet") {
 | 
			
		||||
		name = strings.TrimSuffix(name, "-internet")
 | 
			
		||||
	}
 | 
			
		||||
	ratio, ok := ModelRatio[name]
 | 
			
		||||
	if !ok {
 | 
			
		||||
		ratio, ok = DefaultModelRatio[name]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user