Необходима помощь для развертывания кода Langchain в качестве API на LangservePython

Программы на Python
Anonymous
Необходима помощь для развертывания кода Langchain в качестве API на Langserve

Сообщение Anonymous »

Недавно я разработал код Langchain, который принимает ввод HTML и извлекает из него всю информацию, структурируя данные в схему JSON. Код предназначен для приема HTML в виде строки и вывода JSON в строковом формате. Я считаю, что эта функциональность может быть очень полезной, если ее развернуть в виде API, обеспечивая плавную интеграцию с различными приложениями.
После изучения вариантов я наткнулся на Langserve как на потенциальную платформу для развертывания. Однако я нахожу документацию несколько запутанной, и я не уверен в том, какие шаги необходимо предпринять для настройки и запуска моего кода в качестве API на Langserve.
Я прикрепил код к этому электронному письму для ваша рекомендация. Я был бы очень признателен, если бы вы предоставили мне руководство или помощь по развертыванию и запуску этого кода в качестве API на Langserve. Любые предложения или шаги, которые вы можете предложить, будут для меня неоценимы.
Они заключаются в следующем:

Код: Выделить всё

from langchain_openai import ChatOpenAI
import bs4
from langchain import hub
from langchain_core.output_parsers import JsonOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import OpenAIEmbeddings  # Not used, but kept for structure
from langchain_text_splitters import RecursiveCharacterTextSplitter
import os
import argparse
import codecs
from bs4 import BeautifulSoup
from langchain.chains import create_extraction_chain
import pprint

parser = argparse.ArgumentParser(description="Extract schema from an HTML file using LangChain")
parser.add_argument("html_file_path", help="The path to the HTML file to process")
args = parser.parse_args()
html_file_path = args.html_file_path

os.environ["OPENAI_API_KEY"] = "OPENAI_API_KEY"

llm = ChatOpenAI(model="gpt-3.5-turbo-0125")
print("LLM object loaded")

# Define the Document class with the necessary attributes
class Document:
def __init__(self, page_content, metadata=None):
self.page_content = page_content
self.metadata = metadata or {}  # Add the metadata attribute

# Specify the path to your HTML file
# html_file_path = r"C:\Users\NisargKadam\Downloads\Test_Carousell_HTML.html"

# Load the HTML content from the file
with open(html_file_path, "r", encoding="utf-8") as html_file:
html_content = html_file.read()

# Parse the HTML
soup = BeautifulSoup(html_content, 'html.parser')

# Extract text content
text = soup.get_text(separator='\n')  # Use '\n' for newline separation

# Option 1: Using parsed text
documents = [Document(page_content=text)]

#Defining Schema
schema = {
"properties": {
"product_name": {"type": "string"},
"product_price": {"type": "string"},
"product_stock" : {"type" : "string"},
},
"required": ["product_name", "product_price","product_stock"],
}

def extract(content: str, schema: dict):
return create_extraction_chain(schema=schema, llm=llm).run(content)

text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)

splits = text_splitter.split_documents(documents)  # Not used, but kept for structure

#new method
#extracted_content = extract(schema=schema, content=splits[0].page_content)
extracted_content = extract(schema=schema, content=documents[0].page_content)
pprint.pprint(extracted_content)
Ссылка: https://mirror-feeling-d80.notion.site/ ... b1a49fbaf6
Я пытался следовать этой документации, https://mirror-feeling-d80.notion.site/ ... b1a49fbaf6
Однако мне не удалось добиться того же.

Подробнее здесь: https://stackoverflow.com/questions/783 ... -langserve

Вернуться в «Python»