mirror of
https://github.com/hwchase17/langchain
synced 2024-11-11 19:11:02 +00:00
5eabe90494
**Description:** adds headers to the list of supported locations when generating the openai function schema
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
from langchain.chains.openai_functions.openapi import openapi_spec_to_openai_fn
|
|
|
|
from langchain_community.utilities.openapi import ( # noqa: E402 # ignore: community-import
|
|
OpenAPISpec,
|
|
)
|
|
|
|
EXPECTED_OPENAI_FUNCTIONS_HEADER_PARAM = [
|
|
{
|
|
"name": "showPetById",
|
|
"description": "Info for a specific pet",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"headers": {
|
|
"type": "object",
|
|
"properties": {
|
|
"header_param": {
|
|
"type": "string",
|
|
"description": "A header param",
|
|
}
|
|
},
|
|
"required": ["header_param"],
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
|
|
|
|
@pytest.mark.requires("openapi_pydantic")
|
|
def test_header_param() -> None:
|
|
spec = OpenAPISpec.from_file(
|
|
Path(__file__).parent.parent
|
|
/ "data"
|
|
/ "openapi_specs"
|
|
/ "openapi_spec_header_param.json",
|
|
)
|
|
|
|
openai_functions, _ = openapi_spec_to_openai_fn(spec)
|
|
|
|
assert openai_functions == EXPECTED_OPENAI_FUNCTIONS_HEADER_PARAM
|