llama-index

Форк
0
24 строки · 774.0 Байт
1
"""Utils for OpenAI agent."""
2

3
from typing import List, Union
4

5
from llama_index.legacy.tools import BaseTool
6

7

8
def get_function_by_name(tools: List[BaseTool], name: str) -> BaseTool:
9
    """Get function by name."""
10
    name_to_tool = {tool.metadata.name: tool for tool in tools}
11
    if name not in name_to_tool:
12
        raise ValueError(f"Tool with name {name} not found")
13
    return name_to_tool[name]
14

15

16
def resolve_tool_choice(tool_choice: Union[str, dict] = "auto") -> Union[str, dict]:
17
    """Resolve tool choice.
18

19
    If tool_choice is a function name string, return the appropriate dict.
20
    """
21
    if isinstance(tool_choice, str) and tool_choice not in ["none", "auto"]:
22
        return {"type": "function", "function": {"name": tool_choice}}
23

24
    return tool_choice
25

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

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

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

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