promptflow

Форк
0
41 строка · 1.0 Кб
1
from pathlib import Path
2
from typing import TypedDict
3

4
from jinja2 import Template
5
from llm import my_llm_tool
6

7
from promptflow.tracing import trace
8

9
BASE_DIR = Path(__file__).absolute().parent
10

11

12
class Result(TypedDict):
13
    output: str
14

15

16
@trace
17
def load_prompt(jinja2_template: str, text: str) -> str:
18
    """Load prompt function."""
19
    with open(BASE_DIR / jinja2_template, "r", encoding="utf-8") as f:
20
        prompt = Template(
21
            f.read(), trim_blocks=True, keep_trailing_newline=True
22
        ).render(text=text)
23
        return prompt
24

25

26
@trace
27
def write_simple_program(
28
    text: str = "Hello World!", deployment_name="gpt-35-turbo"
29
) -> Result:
30
    """Ask LLM to write a simple program."""
31
    prompt = load_prompt("hello.jinja2", text)
32
    output = my_llm_tool(prompt=prompt, deployment_name=deployment_name, max_tokens=120)
33
    return Result(output=output)
34

35

36
if __name__ == "__main__":
37
    from promptflow.tracing import start_trace
38

39
    start_trace()
40
    result = write_simple_program("Hello, world!", "gpt-35-turbo")
41
    print(result)
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.