Files
baibot-withmcp/src/agent/provider/anthropic/utils.rs

32 lines
912 B
Rust
Raw Normal View History

use anthropic::types::{ContentBlock, Message, MessagesRequest, MessagesRequestBuilder, Role};
2024-09-12 13:44:06 +03:00
use crate::conversation::llm::{Author as LLMAuthor, Message as LLMMessage};
pub(super) fn create_anthropic_message_request(llm_messages: Vec<LLMMessage>) -> MessagesRequest {
2024-09-12 13:44:06 +03:00
let mut messages = vec![];
for message in llm_messages {
let role = match message.author {
LLMAuthor::User => Role::User,
LLMAuthor::Assistant => Role::Assistant,
LLMAuthor::Prompt => {
continue;
}
};
let content = vec![ContentBlock::Text {
2024-09-12 13:44:06 +03:00
text: message.message_text,
}];
let message = Message { role, content };
messages.push(message);
}
MessagesRequestBuilder::default()
.messages(messages)
.stream(false)
.build()
.expect("Failed to build messages request")
2024-09-12 13:44:06 +03:00
}