f5dfb1413e
* feat(python): add Mistral chat client Implements native Mistral support (#7366) with streaming, tool calling, and structured output. Talks to the REST API directly over httpx: the mistralai SDK's pinned OpenTelemetry deps conflict with the workspace. * refactor(python): simplify Mistral client per review Drop the streamed tool-call accumulator and multi-choice parsing in favor of the framework's built-in fragment merging, mark n unsupported, omit unset strict from json_schema, and leave CI secret wiring to maintainers. * test(python): drop n forwarding assertion n is typed as unsupported on MistralChatOptions; the option-mapping test still passed n, failing pyrefly/ty/zuban/mypy in CI. * refactor(python): drop n from MistralChatOptions n is not part of the base ChatOptions, so removing the key rejects it without an explicit None override. * feat(python): mark Mistral feature usage Both clients flip the shared FeatureIndex.MISTRAL bit before each request, matching the feature-usage telemetry other providers emit. * fix(python): key streamed tool calls by index Mistral omits the tool call id on continuation fragments, and the framework only coalesces empty-id fragments into the immediately preceding call, so interleaved parallel calls merged into the wrong call with corrupted arguments. Accumulate fragments per (choice, index) and emit each call only once complete. * fix(python): restore Mistral SDK client injection Dropping the mistralai dependency turned the embedding client's client= parameter into a breaking change for injected SDK clients. Add http_client= for httpx.AsyncClient and keep client= working: httpx goes to the REST path, a duck-typed mistralai.Mistral goes through the legacy SDK path with a DeprecationWarning until the next major release. * chore(python): tidy Mistral sample header
55 lines
1.6 KiB
Bash
55 lines
1.6 KiB
Bash
# Microsoft Foundry
|
|
FOUNDRY_PROJECT_ENDPOINT=""
|
|
# Model used for FoundryChatClient
|
|
FOUNDRY_MODEL=""
|
|
# Foundry Agents (prompt or hosted agents)
|
|
FOUNDRY_AGENT_NAME=""
|
|
FOUNDRY_AGENT_VERSION=""
|
|
# Microsoft Foundry Models endpoint, used by embeddings
|
|
FOUNDRY_MODELS_ENDPOINT=""
|
|
FOUNDRY_MODELS_API_KEY=""
|
|
FOUNDRY_EMBEDDING_MODEL=""
|
|
FOUNDRY_IMAGE_EMBEDDING_MODEL=""
|
|
# Bing connection for web search (optional, used by samples with web search)
|
|
BING_CONNECTION_ID=""
|
|
# Azure AI Search (optional, used by AzureAISearchContextProvider samples)
|
|
AZURE_SEARCH_ENDPOINT=""
|
|
AZURE_SEARCH_API_KEY=""
|
|
AZURE_SEARCH_INDEX_NAME=""
|
|
AZURE_SEARCH_SEMANTIC_CONFIG=""
|
|
AZURE_SEARCH_KNOWLEDGE_BASE_NAME=""
|
|
# Note: For agentic mode Knowledge Bases, also set AZURE_OPENAI_ENDPOINT below
|
|
# (different from AZURE_AI_PROJECT_ENDPOINT - Knowledge Base needs OpenAI endpoint for model calls)
|
|
# OpenAI
|
|
OPENAI_API_KEY=""
|
|
OPENAI_CHAT_COMPLETION_MODEL=""
|
|
OPENAI_CHAT_MODEL=""
|
|
# Azure OpenAI
|
|
AZURE_OPENAI_ENDPOINT=""
|
|
AZURE_OPENAI_CHAT_COMPLETION_MODEL=""
|
|
AZURE_OPENAI_CHAT_MODEL=""
|
|
# Mem0
|
|
MEM0_API_KEY=""
|
|
# Copilot Studio
|
|
COPILOTSTUDIOAGENT__ENVIRONMENTID=""
|
|
COPILOTSTUDIOAGENT__SCHEMANAME=""
|
|
COPILOTSTUDIOAGENT__TENANTID=""
|
|
COPILOTSTUDIOAGENT__AGENTAPPID=""
|
|
# Anthropic
|
|
ANTHROPIC_API_KEY=""
|
|
ANTHROPIC_MODEL=""
|
|
# Google Gemini
|
|
GEMINI_API_KEY=""
|
|
GEMINI_MODEL=""
|
|
# Ollama
|
|
OLLAMA_ENDPOINT=""
|
|
OLLAMA_MODEL=""
|
|
# Mistral AI
|
|
MISTRAL_API_KEY=""
|
|
MISTRAL_CHAT_MODEL=""
|
|
MISTRAL_EMBEDDING_MODEL=""
|
|
MISTRAL_SERVER_URL=""
|
|
# Observability (instrumentation is enabled by default; set "ENABLE_INSTRUMENTATION" to "false" to opt out)
|
|
ENABLE_SENSITIVE_DATA=true
|
|
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317/"
|