随笔记录
LLM-prompt
2025-4-9 diaba


服务端代码:



import os

from fastapi import FastAPI
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langserve import add_routes

# 科学上网
os.environ['http_proxy'] = '127.0.0.1:7890'
os.environ['https_proxy'] = '127.0.0.1:7890'

# 使用 langsmith
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "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"

# 调用LLM

# 1.创建模型
model = ChatOpenAI(model='gpt-4-turbo')

# 2.准备Prompt
msg = [
SystemMessage(content='请将以下的内容翻译成意大利语'),
HumanMessage(content='你好,请问你要去哪里?')
]

# 3. 创建返回的数据解析器
parser = StrOutputParser()

prompt_template = ChatPromptTemplate.from_template([
('system','请将下面的内容翻译成{language}'),
('user','{text}')
])

# 4.得到链
chain = prompt_template | model | parser

# 5. 直接使用chain来调用 最终直接调用链,不用每个可执行的单独调用
print(chain.invoke({'language':'English','text':'我下午还有一节课,不能去打球了。'}))

# 部署以上写的程序到服务器 langServe 执行安装langServe命令: pip install "langserve[all]"
# 创建fastAPI的应用
app = FastAPI(title='我的Langchain服务',version='V1.0',description='使用Langchain翻译任何语句的服务。')

add_routes(
app,
chain,
path="/chainDemo",
)

if __name__ == "__main__":
import uvicorn
uvicorn.run(app,host="localhost",port=8000)

# POST 请求服务地址 http://127.0.0.1:8000/chainDemo/invoke 用json格式请求 入参如下
# {
# "input":{
# "language": "English",
# "text":"我要去上课了,不能和你聊天了。"
# }
# {







客户端代码:







import os

from langserve import RemoteRunnable

if __name__ == '__main__':
client = RemoteRunnable("http://127.0.0.1:8000/chainDemo/")
print(client.invoke({"language": "italia", "text": "你好!"}))

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容