diff --git a/CHANGELOG.md b/CHANGELOG.md index ae98f2a1c..230e9345a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to **Pipecat** will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.0.82] - 2025-08-28 ### Added diff --git a/examples/foundational/14f-function-calling-groq.py b/examples/foundational/14f-function-calling-groq.py index f246a2dee..77c56c986 100644 --- a/examples/foundational/14f-function-calling-groq.py +++ b/examples/foundational/14f-function-calling-groq.py @@ -61,16 +61,14 @@ transport_params = { async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): logger.info(f"Starting bot") - stt = GroqSTTService(api_key=os.getenv("GROQ_API_KEY"), model="distil-whisper-large-v3-en") + stt = GroqSTTService(api_key=os.getenv("GROQ_API_KEY")) tts = CartesiaTTSService( api_key=os.getenv("CARTESIA_API_KEY"), voice_id="71a7ad14-091c-4e8e-a314-022ece01c121", # British Reading Lady ) - llm = GroqLLMService( - api_key=os.getenv("GROQ_API_KEY"), model="meta-llama/llama-4-maverick-17b-128e-instruct" - ) + llm = GroqLLMService(api_key=os.getenv("GROQ_API_KEY")) # You can also register a function_name of None to get all functions # sent to the same callback with an additional function_name parameter. llm.register_function("get_current_weather", fetch_weather_from_api) diff --git a/scripts/evals/eval.py b/scripts/evals/eval.py index 236c80c4c..d5c6516ac 100644 --- a/scripts/evals/eval.py +++ b/scripts/evals/eval.py @@ -247,7 +247,7 @@ async def run_eval_pipeline( properties={ "result": { "type": "boolean", - "description": "The result of the eval", + "description": "Whether the answer is correct or not", }, "reasoning": { "type": "string", diff --git a/src/pipecat/services/mistral/llm.py b/src/pipecat/services/mistral/llm.py index c32c7a88b..ce61a1a11 100644 --- a/src/pipecat/services/mistral/llm.py +++ b/src/pipecat/services/mistral/llm.py @@ -12,6 +12,7 @@ from loguru import logger from openai import AsyncStream from openai.types.chat import ChatCompletionChunk, ChatCompletionMessageParam +from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.frames.frames import FunctionCallFromLLM from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.openai.llm import OpenAILLMService @@ -148,9 +149,7 @@ class MistralLLMService(OpenAILLMService): if calls_to_execute: await super().run_function_calls(calls_to_execute) - def build_chat_completion_params( - self, context: OpenAILLMContext, messages: List[ChatCompletionMessageParam] - ) -> dict: + def build_chat_completion_params(self, params_from_context: OpenAILLMInvocationParams) -> dict: """Build parameters for Mistral chat completion request. Handles Mistral-specific requirements including: @@ -159,14 +158,14 @@ class MistralLLMService(OpenAILLMService): - Core completion settings """ # Apply Mistral's assistant prefix requirement for API compatibility - fixed_messages = self._apply_mistral_assistant_prefix(messages) + fixed_messages = self._apply_mistral_assistant_prefix(params_from_context["messages"]) params = { "model": self.model_name, "stream": True, "messages": fixed_messages, - "tools": context.tools, - "tool_choice": context.tool_choice, + "tools": params_from_context["tools"], + "tool_choice": params_from_context["tool_choice"], "frequency_penalty": self._settings["frequency_penalty"], "presence_penalty": self._settings["presence_penalty"], "temperature": self._settings["temperature"],