from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
import dotenv
import os
env_path = '/confg/.env'
dotenv.load_dotenv(dotenv_path=env_path)
closeai_key = os.getenv('closeai_key')
closeai_url = os.getenv('closeai_url')
print(closeai_key)
print(closeai_url)
os.environ['OPENAI_API_KEY'] = closeai_key
os.environ['OPENAI_BASE_URL'] = closeai_url
llm = ChatOpenAI(
model="gpt-3.5-turbo",
temperature=0.3
)
code_explanation_template = ChatPromptTemplate.from_messages([
("system", "你是一个编程助手,请用简单的中文解释这段代码的功能:"),
("user", "代码:\n{code}")
])
explain_chain = code_explanation_template | llm | StrOutputParser()
python_code = """
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
"""
result = explain_chain.invoke({"code": python_code})
print("代码解释结果:")
print(result)
- *ChatPromptTemplate 用于生成聊天提示
- XXXMessageTemplate 用于生成消息提示
- *FewShotPromptTemplate 用于生成 few-shot 提示
- PipelinePromptTemplate 用于生成流水线提示
- 自定义提示模板