langchain quick start
Table of Contents
Overview
LangChain is a framework to build with LLMs by chaining interoperable components. LangGraph is the framework for building controllable agentic workflows.
build an application
- install library
pip install langchain pip install -qU langchain-openai
example 1
#!/usr/bin/env python3
from typing import List
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
import os
from dotenv import load_dotenv
load_dotenv()
#os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["OPENAI_API_KEY"] = os.getenv("LLM_API_KEY")
os.environ["USER_AGENT"] = "waltertest"
#os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()
#os.environ["OPENAI_API_KEY"] = getpass.getpass()
model = ChatOpenAI(
model='deepseek-chat',
openai_api_key=os.getenv("LLM_API_KEY"),
openai_api_base=os.getenv("LLM_BASE_URL"),
max_tokens=4096
)
system_template = "Translate the following into {language}:"
prompt_template = ChatPromptTemplate.from_messages(
[("system", system_template), ("user", "{text}")]
)
parser = StrOutputParser()
#result = model.invoke(messages)
#parser.invoke(result)
#result = prompt_template.invoke({"language": "Chinese", "text": "hi"})
chain = prompt_template | model | parser
result = chain.invoke({"language": "chinese", "text": "As you sow, so shall you reap"})
print(result)
输出: 种瓜得瓜,种豆得豆
example 2
#!/usr/bin/env python
from fastapi import FastAPI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI
from langserve import add_routes
import os, sys
from loguru import logger
from dotenv import load_dotenv
load_dotenv()
# 1. Create prompt template
system_template = "Translate the following into {language}:"
prompt_template = ChatPromptTemplate.from_messages([
('system', system_template),
('user', '{text}')
])
# 2. Create model
model = ChatOpenAI(
model='deepseek-chat',
openai_api_key=os.getenv("LLM_API_KEY"),
openai_api_base=os.getenv("LLM_BASE_URL"),
max_tokens=4096
)
# 3. Create parser
parser = StrOutputParser()
# 4. Create chain
chain = prompt_template | model | parser
# 4. App definition
app = FastAPI(
title="LangChain Server",
version="1.0",
description="A simple API server using LangChain's Runnable interfaces",
)
# 5. Adding chain route
add_routes(
app,
chain,
path="/chain",
)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
- Call the above API
#!/usr/bin/env python
from langserve import RemoteRunnable
remote_chain = RemoteRunnable("http://localhost:8000/chain/")
result = remote_chain.invoke({"language": "chinese", "text": "As you sow, so shall you reap"})
print(result)
打印: 种瓜得瓜,种豆得豆
Reference
- https://python.langchain.com/v0.2/docs/tutorials/llm_chain/
- https://python.langchain.com/docs/concepts/
Comments |0|
Category: 似水流年