dream
44 строки · 1.7 Кб
1import requests
2from os import getenv
3
4
5# ATTENTION!!! This test is only working if you assign `GIGACHAT_CREDENTIALS` env variable
6GIGACHAT_CREDENTIALS = getenv("GIGACHAT_CREDENTIALS", None)
7GIGACHAT_SCOPE = getenv("GIGACHAT_SCOPE", None)
8assert GIGACHAT_CREDENTIALS, print("No GigaChat credentials is given in env vars")
9DEFAULT_CONFIG = {"max_tokens": 64, "temperature": 0.4, "top_p": 1.0, "frequency_penalty": 0, "presence_penalty": 0}
10SERVICE_PORT = int(getenv("SERVICE_PORT"))
11
12
13def test_respond():
14url = f"http://0.0.0.0:{SERVICE_PORT}/respond"
15contexts = [
16[
17"Привет! Я Маркус. Как ты сегодня?",
18"Привет, Маркус! Я в порядке. Как у тебя?",
19"У меня все отлично. Какие у тебя планы на сегодня?",
20],
21["Привет, Маркус! Я в порядке. Как у тебя?", "У меня все отлично. Какие у тебя планы на сегодня?"],
22]
23prompts = [
24"Отвечай как дружелюбный чатбот.",
25"Отвечай как дружелюбный чатбот.",
26]
27result = requests.post(
28url,
29json={
30"dialog_contexts": contexts,
31"prompts": prompts,
32"configs": [DEFAULT_CONFIG] * len(contexts),
33"gigachat_credentials": [GIGACHAT_CREDENTIALS] * len(contexts),
34"gigachat_scopes": [GIGACHAT_SCOPE] * len(contexts),
35},
36).json()
37print(result)
38
39assert len(result) and [all(len(sample[0]) > 0 for sample in result)], f"Got\n{result}\n, something is wrong"
40print("Success!")
41
42
43if __name__ == "__main__":
44test_respond()
45