Langchain-Chatchat
70 строк · 2.4 Кб
1import sys2from pathlib import Path3root_path = Path(__file__).parent.parent4sys.path.append(str(root_path))5
6from configs import ONLINE_LLM_MODEL7from server.model_workers.base import *8from server.utils import get_model_worker_config, list_config_llm_models9from pprint import pprint10import pytest11
12
13workers = []14for x in list_config_llm_models()["online"]:15if x in ONLINE_LLM_MODEL and x not in workers:16workers.append(x)17print(f"all workers to test: {workers}")18
19# workers = ["fangzhou-api"]
20
21
22@pytest.mark.parametrize("worker", workers)23def test_chat(worker):24params = ApiChatParams(25messages = [26{"role": "user", "content": "你是谁"},27],28)29print(f"\nchat with {worker} \n")30
31if worker_class := get_model_worker_config(worker).get("worker_class"):32for x in worker_class().do_chat(params):33pprint(x)34assert isinstance(x, dict)35assert x["error_code"] == 036
37
38@pytest.mark.parametrize("worker", workers)39def test_embeddings(worker):40params = ApiEmbeddingsParams(41texts = [42"LangChain-Chatchat (原 Langchain-ChatGLM): 基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。",43"一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。",44]45)46
47if worker_class := get_model_worker_config(worker).get("worker_class"):48if worker_class.can_embedding():49print(f"\embeddings with {worker} \n")50resp = worker_class().do_embeddings(params)51
52pprint(resp, depth=2)53assert resp["code"] == 20054assert "data" in resp55embeddings = resp["data"]56assert isinstance(embeddings, list) and len(embeddings) > 057assert isinstance(embeddings[0], list) and len(embeddings[0]) > 058assert isinstance(embeddings[0][0], float)59print("向量长度:", len(embeddings[0]))60
61
62# @pytest.mark.parametrize("worker", workers)
63# def test_completion(worker):
64# params = ApiCompletionParams(prompt="五十六个民族")
65
66# print(f"\completion with {worker} \n")
67
68# worker_class = get_model_worker_config(worker)["worker_class"]
69# resp = worker_class().do_completion(params)
70# pprint(resp)
71