mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-26 08:43:23 +08:00
## 🛠 新增功能 - 支持百川在线模型 (@hzg0601 @liunux4odoo in #1623) - 支持 Azure OpenAI 与 claude 等 Langchain 自带模型 (@zRzRzRzRzRzRzR in #1808) - Agent 功能大量更新,支持更多的工具、更换提示词、检索知识库 (@zRzRzRzRzRzRzR in #1626 #1666 #1785) - 加长 32k 模型的历史记录 (@zRzRzRzRzRzRzR in #1629 #1630) - *_chat 接口支持 max_tokens 参数 (@liunux4odoo in #1744) - 实现 API 和 WebUI 的前后端分离 (@liunux4odoo in #1772) - 支持 zlilliz 向量库 (@zRzRzRzRzRzRzR in #1785) - 支持 metaphor 搜索引擎 (@liunux4odoo in #1792) - 支持 p-tuning 模型 (@hzg0601 in #1810) - 更新完善文档和 Wiki (@imClumsyPanda @zRzRzRzRzRzRzR @glide-the in #1680 #1811) ## 🐞 问题修复 - 修复 bge-* 模型匹配超过 1 的问题 (@zRzRzRzRzRzRzR in #1652) - 修复系统代理为空的问题 (@glide-the in #1654) - 修复重建知识库时 `d == self.d assert error` (@liunux4odoo in #1766) - 修复对话历史消息错误 (@liunux4odoo in #1801) - 修复 OpenAI 无法调用的 bug (@zRzRzRzRzRzRzR in #1808) - 修复 windows下 BIND_HOST=0.0.0.0 时对话出错的问题 (@hzg0601 in #1810)
75 lines
1.4 KiB
Python
75 lines
1.4 KiB
Python
## 单独运行的时候需要添加
|
||
import sys
|
||
import os
|
||
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))))
|
||
|
||
from langchain.prompts import PromptTemplate
|
||
from langchain.chains import LLMMathChain
|
||
from server.agent import model_container
|
||
|
||
_PROMPT_TEMPLATE = """
|
||
将数学问题翻译成可以使用Python的numexpr库执行的表达式。使用运行此代码的输出来回答问题。
|
||
问题: ${{包含数学问题的问题。}}
|
||
```text
|
||
${{解决问题的单行数学表达式}}
|
||
```
|
||
...numexpr.evaluate(query)...
|
||
```output
|
||
${{运行代码的输出}}
|
||
```
|
||
答案: ${{答案}}
|
||
|
||
这是两个例子:
|
||
|
||
问题: 37593 * 67是多少?
|
||
```text
|
||
37593 * 67
|
||
```
|
||
...numexpr.evaluate("37593 * 67")...
|
||
```output
|
||
2518731
|
||
|
||
答案: 2518731
|
||
|
||
问题: 37593的五次方根是多少?
|
||
```text
|
||
37593**(1/5)
|
||
```
|
||
...numexpr.evaluate("37593**(1/5)")...
|
||
```output
|
||
8.222831614237718
|
||
|
||
答案: 8.222831614237718
|
||
|
||
|
||
问题: 2的平方是多少?
|
||
```text
|
||
2 ** 2
|
||
```
|
||
...numexpr.evaluate("2 ** 2")...
|
||
```output
|
||
4
|
||
|
||
答案: 4
|
||
|
||
|
||
现在,这是我的问题:
|
||
问题: {question}
|
||
"""
|
||
PROMPT = PromptTemplate(
|
||
input_variables=["question"],
|
||
template=_PROMPT_TEMPLATE,
|
||
)
|
||
|
||
|
||
def calculate(query: str):
|
||
model = model_container.MODEL
|
||
llm_math = LLMMathChain.from_llm(model, verbose=True, prompt=PROMPT)
|
||
ans = llm_math.run(query)
|
||
return ans
|
||
|
||
if __name__ == "__main__":
|
||
result = calculate("2的三次方")
|
||
print("答案:",result)
|
||
|