我正在使用 chatGPT 查询文本。但我需要 chatGPT 来回应单一的直接答案,而不是长篇故事或不相关的文本。有什么办法可以实现这个目标吗?
我的代码如下:
from langchain.document_loaders import TextLoader
from langchain.vectorstores import DocArrayInMemorySearch
from langchain.indexes import VectorstoreIndexCreator
loader = TextLoader("path/to/extracted_text.txt")
loaded_text = loader.load()
# Save document text as vector.
index = VectorstoreIndexCreator(
vectorstore_cls=DocArrayInMemorySearch
).from_loaders([loader])
# Query the text
response = index.query("At what time did john come home yesterday?")
print("Loaded text is:", loaded_text)
print("ChatGPT response is:", response)
>>> 加载的文本是:“< a really long text > + 约翰最后回家 晚上 11:30 + < a really long text >”
>>> ChatGPT 回复是:“约翰昨天晚上 11:30 回来了。”
问题是我想要一个简洁的答案
11:30pm
而不是一个完整的句子John came home last night at 11:30pm
。有没有一种方法可以实现这一目标,而无需在查询中添加“我需要简短的直接响应”?我可以通过其他方式设置参数来获得更有保证的简洁响应吗?
实现您想要的目标的唯一方法是正确的快速工程。时期。没有办法解决它。这更像是一种思想训练,而不是获得一项新技能。阅读这篇关于即时工程的快速 Microsoft Learn 文档,让自己了解推进任务所需的知识。最美好的祝愿!
选项1: 及时工程。特别是少量提示,例如提供示例。迅速的: 在:“...在列支敦士登...他在哪里?” 出:《列支敦士登》 在:“...发生在凌晨 12:00...什么时候发生的?” 出发:中午 12:00 在:“一篇很长的文字 > + 约翰昨晚 11:30 回家 + < a really long text >” 出:
选项 2:微调:您提供与选项 1 类似的样本,但通常要多得多 - 比如 1k-100k。你可以上传它们,微调会自动完成(在 OpenAI 的平台上),但这需要花钱!