mirror of
https://github.com/kennethreitz/langchain.git
synced 2026-06-05 23:00:18 +00:00
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:
@@ -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
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user