langchainrust 0.7.0

A LangChain-inspired framework for building LLM applications in Rust. Supports OpenAI, Agents, Tools, Memory, Chains, RAG, BM25, Hybrid Retrieval, LangGraph, HyDE, Reranking, MultiQuery, and native Function Calling.
//! 示范:用 wiremock 测 OpenAIChat,不打真实网络。
//!
//! v0.4.1 #1(wiremock 改造网络测试)基础设施示范。
//! 真实 API 测试应标 `#[ignore]`,默认测试走 mock(见 `common::mock_openai_chat_server`)。

#[path = "../common/mod.rs"]
mod common;
use common::mock_openai_chat_server;
use langchainrust::{BaseChatModel, Message, OpenAIChat, OpenAIConfig};

#[tokio::test]
async fn test_openai_chat_with_mock() {
    // 起 mock server,base_url 指向它(不打真实网络)
    let (_server, base_url) = mock_openai_chat_server("你好,这是 mock 回复").await;

    let config = OpenAIConfig {
        api_key: "test-key".to_string(),
        base_url,
        model: "gpt-4o-mini".to_string(),
        ..Default::default()
    };
    let llm = OpenAIChat::new(config);

    let result = llm.chat(vec![Message::human("hi")], None).await.unwrap();
    assert_eq!(result.content, "你好,这是 mock 回复");
}