forked from Archives/langchain
added support for different types in ResponseSchema class (#5789)
I added support for specifing different types with ResponseSchema objects: ## before ` extracted_info = ResponseSchema(name="extracted_info", description="List of extracted information") ` generate the following doc: ```json\n{\n\t\"extracted_info\": string // List of extracted information}``` This brings GPT to create a JSON with only one string in the specified field even if you requested a List in the description. ## now `extracted_info = ResponseSchema(name="extracted_info", type="List[string]", description="List of extracted information") ` generate the following doc: ```json\n{\n\t\"extracted_info\": List[string] // List of extracted information}``` This way the model responds better to the prompt generating an array of strings. Tag maintainers/contributors who might be interested: Agents / Tools / Toolkits @vowelparrot Don't know who can be interested, I suppose this is a tool, so I tagged you vowelparrot, anyway, it's a minor change, and shouldn't impact any other part of the framework.
This commit is contained in:
parent
3954bcf396
commit
92b87c2fec
@ -14,11 +14,12 @@ line_template = '\t"{name}": {type} // {description}'
|
||||
class ResponseSchema(BaseModel):
|
||||
name: str
|
||||
description: str
|
||||
type: str = "string"
|
||||
|
||||
|
||||
def _get_sub_string(schema: ResponseSchema) -> str:
|
||||
return line_template.format(
|
||||
name=schema.name, description=schema.description, type="string"
|
||||
name=schema.name, description=schema.description, type=schema.type
|
||||
)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user