diff --git a/conversation/mistral/metadata.yaml b/conversation/mistral/metadata.yaml index 28e2e1b47f..c95042d26f 100644 --- a/conversation/mistral/metadata.yaml +++ b/conversation/mistral/metadata.yaml @@ -34,3 +34,9 @@ metadata: A time-to-live value for a prompt cache to expire. Uses Golang durations type: string example: '10m' + - name: endpoint + required: false + description: | + Endpoint for the component to use. + example: "http://localhost:4566" + default: "https://api.mistral.ai/v1" \ No newline at end of file diff --git a/conversation/mistral/mistral.go b/conversation/mistral/mistral.go index d22b9ef9a4..ed0d520b0c 100644 --- a/conversation/mistral/mistral.go +++ b/conversation/mistral/mistral.go @@ -53,9 +53,14 @@ func (m *Mistral) Init(ctx context.Context, meta conversation.Metadata) error { // Resolve model via central helper (uses metadata, then env var, then default) model := conversation.GetMistralModel(md.Model) + if md.Endpoint == "" { + md.Endpoint = "https://api.mistral.ai/v1" + } + llm, err := mistral.New( mistral.WithModel(model), mistral.WithAPIKey(md.Key), + mistral.WithEndpoint(md.Endpoint), ) if err != nil { return err diff --git a/tests/conformance/conversation/conversation.go b/tests/conformance/conversation/conversation.go index f86924e359..c4caa61b5c 100644 --- a/tests/conformance/conversation/conversation.go +++ b/tests/conformance/conversation/conversation.go @@ -362,7 +362,7 @@ func ConformanceTests(t *testing.T, props map[string]string, conv conversation.C responseMessages = append(responseMessages, llms.MessageContent{ Role: llms.ChatMessageTypeAI, - Parts: []llms.ContentPart{toolCall}, + Parts: []llms.ContentPart{&toolCall}, }, llms.MessageContent{ Role: llms.ChatMessageTypeTool,