Merge pull request #2531 from pipecat-ai/aleix/pipecat-0.0.82

update CHANGELOG for 0.0.82
This commit is contained in:
Aleix Conchillo Flaqué
2025-08-28 13:04:41 -07:00
committed by GitHub
4 changed files with 9 additions and 12 deletions

View File

@@ -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/), 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). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [0.0.82] - 2025-08-28
### Added ### Added

View File

@@ -61,16 +61,14 @@ transport_params = {
async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
logger.info(f"Starting bot") 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( tts = CartesiaTTSService(
api_key=os.getenv("CARTESIA_API_KEY"), api_key=os.getenv("CARTESIA_API_KEY"),
voice_id="71a7ad14-091c-4e8e-a314-022ece01c121", # British Reading Lady voice_id="71a7ad14-091c-4e8e-a314-022ece01c121", # British Reading Lady
) )
llm = GroqLLMService( llm = GroqLLMService(api_key=os.getenv("GROQ_API_KEY"))
api_key=os.getenv("GROQ_API_KEY"), model="meta-llama/llama-4-maverick-17b-128e-instruct"
)
# You can also register a function_name of None to get all functions # You can also register a function_name of None to get all functions
# sent to the same callback with an additional function_name parameter. # sent to the same callback with an additional function_name parameter.
llm.register_function("get_current_weather", fetch_weather_from_api) llm.register_function("get_current_weather", fetch_weather_from_api)

View File

@@ -247,7 +247,7 @@ async def run_eval_pipeline(
properties={ properties={
"result": { "result": {
"type": "boolean", "type": "boolean",
"description": "The result of the eval", "description": "Whether the answer is correct or not",
}, },
"reasoning": { "reasoning": {
"type": "string", "type": "string",

View File

@@ -12,6 +12,7 @@ from loguru import logger
from openai import AsyncStream from openai import AsyncStream
from openai.types.chat import ChatCompletionChunk, ChatCompletionMessageParam from openai.types.chat import ChatCompletionChunk, ChatCompletionMessageParam
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
from pipecat.frames.frames import FunctionCallFromLLM from pipecat.frames.frames import FunctionCallFromLLM
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.services.openai.llm import OpenAILLMService from pipecat.services.openai.llm import OpenAILLMService
@@ -148,9 +149,7 @@ class MistralLLMService(OpenAILLMService):
if calls_to_execute: if calls_to_execute:
await super().run_function_calls(calls_to_execute) await super().run_function_calls(calls_to_execute)
def build_chat_completion_params( def build_chat_completion_params(self, params_from_context: OpenAILLMInvocationParams) -> dict:
self, context: OpenAILLMContext, messages: List[ChatCompletionMessageParam]
) -> dict:
"""Build parameters for Mistral chat completion request. """Build parameters for Mistral chat completion request.
Handles Mistral-specific requirements including: Handles Mistral-specific requirements including:
@@ -159,14 +158,14 @@ class MistralLLMService(OpenAILLMService):
- Core completion settings - Core completion settings
""" """
# Apply Mistral's assistant prefix requirement for API compatibility # 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 = { params = {
"model": self.model_name, "model": self.model_name,
"stream": True, "stream": True,
"messages": fixed_messages, "messages": fixed_messages,
"tools": context.tools, "tools": params_from_context["tools"],
"tool_choice": context.tool_choice, "tool_choice": params_from_context["tool_choice"],
"frequency_penalty": self._settings["frequency_penalty"], "frequency_penalty": self._settings["frequency_penalty"],
"presence_penalty": self._settings["presence_penalty"], "presence_penalty": self._settings["presence_penalty"],
"temperature": self._settings["temperature"], "temperature": self._settings["temperature"],