mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-28 15:00:23 +00:00
This pull request introduces support for the AI21 tools calling feature, available by the Jamba-1.5 models. When Jamba-1.5 detects the necessity to invoke a provided tool, as indicated by the 'tools' parameter passed to the model: ``` class ToolDefinition(TypedDict, total=False): type: Required[Literal["function"]] function: Required[FunctionToolDefinition] class FunctionToolDefinition(TypedDict, total=False): name: Required[str] description: str parameters: ToolParameters class ToolParameters(TypedDict, total=False): type: Literal["object"] properties: Required[Dict[str, Any]] required: List[str] ``` It will respond with a list of tool calls structured as follows: ``` class ToolCall(AI21BaseModel): id: str function: ToolFunction type: Literal["function"] = "function" class ToolFunction(AI21BaseModel): name: str arguments: str ``` This pull request incorporates the necessary modifications to integrate this functionality into the ai21-langchain library. --------- Co-authored-by: asafg <asafg@ai21.com> Co-authored-by: pazshalev <111360591+pazshalev@users.noreply.github.com> Co-authored-by: Paz Shalev <pazs@ai21.com> Co-authored-by: Erick Friis <erick@langchain.dev>