Mẹo để có kỹ thuật nhanh chóng hiệu quả

Hãy nhớ rằng kỹ thuật nhanh chóng là một quá trình lặp đi lặp lại và nó có thể yêu cầu một số tinh chỉnh để có được câu trả lời tốt nhất có thể. Khi các LLM trở nên tích hợp hơn vào các sản phẩm và dịch vụ, khả năng tạo lời nhắc hiệu quả sẽ là một kỹ năng quan trọng cần có.

from langchain import LLMChain, PromptTemplate
from langchain.llms import OpenAI

# Before executing the following code, make sure to have
# your OpenAI key saved in the “OPENAI_API_KEY” environment variable.
llm = OpenAI(model_name="text-davinci-003", temperature=0)

template = """Answer the question based on the context below. If the
question cannot be answered using the information provided, answer
with "I don't know".
Context: Quantum computing is an emerging field that leverages quantum mechanics to solve complex problems faster than classical computers.
...
Question: {query}
Answer: """

prompt_template = PromptTemplate(
    input_variables=["query"],
    template=template
)

# Create the LLMChain for the prompt
chain = LLMChain(llm=llm, prompt=prompt_template)

# Set the query you want to ask
input_data = {"query": "What is the main advantage of quantum computing over classical computing?"}

# Run the LLMChain to get the AI-generated answer
response = chain.run(input_data)

print("Question:", input_data["query"])
print("Answer:", response)

Bạn có thể chỉnh sửa từ điển input_data với bất kỳ câu hỏi nào khác.

Mẫu là một chuỗi được định dạng với trình giữ chỗ {query} sẽ được thay thế bằng một câu hỏi thực khi được áp dụng. Để tạo một đối tượng PromptTemplate, cần có hai đối số:

  1. input_variables: Danh sách các tên biến trong mẫu; trong trường hợp này, nó chỉ bao gồm truy vấn.
  2. template: Chuỗi mẫu chứa văn bản được định dạng và phần giữ chỗ.

Sau khi tạo đối tượng PromptTemplate, nó có thể được sử dụng để tạo lời nhắc với các câu hỏi cụ thể bằng cách cung cấp dữ liệu đầu vào. Dữ liệu đầu vào là một từ điển trong đó khóa tương ứng với tên biến trong mẫu. Lời nhắc kết quả sau đó có thể được chuyển đến một mô hình ngôn ngữ để tạo câu trả lời.

Để sử dụng nâng cao hơn, bạn có thể tạo FewShotPromptTemplate với ExampleSelector để chọn một tập hợp con các ví dụ sẽ cung cấp nhiều thông tin nhất cho mô hình ngôn ngữ.

Ngoài ra, bạn cũng có thể lưu PromptTemplate vào một tệp trong hệ thống tệp cục bộ của mình ở định dạng JSON hoặc YAML:

prompt_template.save("awesome_prompt.json")

và load nó trở lại

prompt_template.save("awesome_prompt.json")