mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-22 11:00:37 +00:00
Sphinxbio nls/add plate chain template (#12502)
Co-authored-by: Nicholas Larus-Stone <7347808+nlarusstone@users.noreply.github.com> Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
This commit is contained in:
31
templates/plate-chain/plate_chain/utils.py
Normal file
31
templates/plate-chain/plate_chain/utils.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, Field, conint
|
||||
|
||||
|
||||
class LLMPlateResponse(BaseModel):
|
||||
row_start: conint(ge=0) = Field(
|
||||
..., description="The starting row of the plate (0-indexed)"
|
||||
)
|
||||
row_end: conint(ge=0) = Field(
|
||||
..., description="The ending row of the plate (0-indexed)"
|
||||
)
|
||||
col_start: conint(ge=0) = Field(
|
||||
..., description="The starting column of the plate (0-indexed)"
|
||||
)
|
||||
col_end: conint(ge=0) = Field(
|
||||
..., description="The ending column of the plate (0-indexed)"
|
||||
)
|
||||
contents: str
|
||||
|
||||
|
||||
def parse_llm_output(result: str):
|
||||
"""
|
||||
Based on the prompt we expect the result to be a string that looks like:
|
||||
|
||||
'[{"row_start": 12, "row_end": 19, "col_start": 1, \
|
||||
"col_end": 12, "contents": "Entity ID"}]'
|
||||
|
||||
We'll load that JSON and turn it into a Pydantic model
|
||||
"""
|
||||
return [LLMPlateResponse(**plate_r) for plate_r in json.loads(result)]
|
Reference in New Issue
Block a user