凉城老泉
手机扫码
八.LangChian实验笔记,自定义提示词模板
凉城老泉  2025-05-14     阅读(28)   分享

写一个小dome,我们来使用自定义提示词模板:


代码实现功能为:让大模型给函数生成说明

from qifan_ai import CreateMyLLM
from langchain.prompts import StringPromptTemplate
import inspect
def hello_add(x,y):
    z=x+y
    return z

str_prompt="""\
你是一个非常有经验的Python开发工程师。现在给你如下函数名称,你会按照如下格式,输出函数名称、源代码、中文注释。
函数名称:{function_name}
源代码:
{function_source}
中文注释:
"""

class FunctionPromptTemplate(StringPromptTemplate):
    def format(self,function_name):
        source=inspect.getsource(function_name)
        prompt=str_prompt.format(
            function_name=function_name.__name__,
            function_source=source
        )
        return prompt


model=CreateMyLLM()
prompt=FunctionPromptTemplate(input_variables=["function_name"])
p=prompt.format(function_name=hello_add)
print(p)
#res=model.predict(p)
chain=prompt|model
res=chain.invoke({"function_name":hello_add})
print(res.content)

运行输出结果为:

函数名称:hello_add

源代码:


```python
def hello_add(x, y):
    z = x + y
    return z
```
中文注释:

该函数名为`hello_add`,但实际上与"hello"并无直接关联,更准确的命名可能是`add`或`sum`等。从给定的源代码可以看出,此函数的功能是接收两个参数`x`和`y`,然后将它们相加,并将结果存储在变量`z`中,最后返回这个结果。

中文注释如下:

```
# 函数名称:hello_add(实际上与“hello”无关,更准确的命名可能是add或sum等)
# 功能描述:该函数接受两个参数x和y,将它们相加,并返回相加的结果。
# 参数说明:x, y为需要相加的数值。
# 返回值:返回x和y的和。
```