codei-llm 0.0.13

终端优先的 AI 编程 Agent,用自然语言在本地仓库中读代码、改代码、跑命令、调试问题。
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ToolFormat {
    /// OpenAI `tools` + `tool_choice` + `tool_calls` (supported by vLLM and OpenAI).
    #[default]
    Tools,
    /// OpenAI `functions` + `function_call` (legacy; many vLLM builds ignore this).
    Functions,
}

impl ToolFormat {
    pub fn parse(raw: Option<&str>) -> Self {
        match raw.map(str::trim).map(str::to_ascii_lowercase).as_deref() {
            Some("tools") => Self::Tools,
            Some("functions") | Some("function") | Some("function_calling") => Self::Functions,
            _ => Self::default(),
        }
    }
}