Rumah > pembangunan bahagian belakang > Tutorial Python > Panduan Komprehensif Permulaan untuk Generatif AI dengan LangChain dan Python - 3

Panduan Komprehensif Permulaan untuk Generatif AI dengan LangChain dan Python - 3

Mary-Kate Olsen
Lepaskan: 2024-12-30 01:11:18
asal
1036 orang telah melayarinya

Comprehensive Beginner

AI Generatif membolehkan sistem mencipta teks, imej, kod atau bentuk kandungan lain berdasarkan data dan gesaan. LangChain ialah rangka kerja yang memudahkan kerja dengan model Generatif AI dengan mengatur aliran kerja, mengurus gesaan dan mendayakan keupayaan lanjutan seperti memori dan penyepaduan alat.

Panduan ini memperkenalkan konsep dan alatan utama yang diperlukan untuk bermula dengan Generative AI menggunakan LangChain dan Python.


1. Apakah itu LangChain?

LangChain ialah rangka kerja berasaskan Python untuk membina aplikasi dengan model bahasa besar (LLM) seperti model OpenAI GPT atau Hugging Face. Ia membantu:

  • Urus Gesaan: Buat gesaan berstruktur yang boleh digunakan semula.
  • Aliran Kerja Rantaian: Gabungkan berbilang panggilan LLM ke dalam satu aliran kerja.
  • Gunakan Alat: Dayakan model AI untuk berinteraksi dengan API, pangkalan data dan banyak lagi.
  • Tambah Memori: Benarkan model mengingati interaksi lalu.

2. Sediakan Persekitaran Anda

a) Pasang Perpustakaan yang Diperlukan

Untuk bermula, pasang LangChain dan perpustakaan berkaitan:

pip install langchain openai python-dotenv streamlit
Salin selepas log masuk
Salin selepas log masuk

b) Sediakan Kunci API OpenAI Anda

  1. Daftar untuk akaun OpenAI dan dapatkan kunci API anda: OpenAI API.
  2. Buat fail .env dalam direktori projek anda dan tambah kunci API anda:
   OPENAI_API_KEY=your_api_key_here
Salin selepas log masuk
Salin selepas log masuk
  1. Muat kunci API dalam skrip Python anda menggunakan dotenv:
   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
Salin selepas log masuk
Salin selepas log masuk

3. Konsep Utama dalam LangChain

a) Gesaan

Gesaan membimbing AI untuk menjana output yang diingini. LangChain membolehkan anda menyusun gesaan secara sistematik menggunakan PromptTemplate.

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
Salin selepas log masuk
Salin selepas log masuk

b) Model Bahasa

LangChain berintegrasi dengan LLM seperti model OpenAI GPT atau Hugging Face. Gunakan ChatOpenAI untuk OpenAI GPT.

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
Salin selepas log masuk
Salin selepas log masuk

c) Rantai

Rantaian menggabungkan berbilang langkah atau tugasan ke dalam satu aliran kerja. Contohnya, rantai mungkin:

  1. Ringkaskan dokumen.
  2. Jana soalan berdasarkan ringkasan.
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
Salin selepas log masuk
Salin selepas log masuk

d) Ingatan

Memori membolehkan model mengekalkan konteks melalui berbilang interaksi. Ini berguna untuk chatbots.

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
Salin selepas log masuk
Salin selepas log masuk

4. Contoh Aplikasi

a) Penjanaan Teks

Jana respons kreatif atau kandungan menggunakan gesaan.

from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate

chat = ChatOpenAI(temperature=0.9, openai_api_key=openai_api_key)
prompt = PromptTemplate(input_variables=["topic"], template="Write a poem about {topic}.")
chain = LLMChain(llm=chat, prompt=prompt)

# Generate a poem
result = chain.run("technology")
print(result)
Salin selepas log masuk

b) Rumusan

Ringkaskan dokumen atau teks dengan cekap.

pip install langchain openai python-dotenv streamlit
Salin selepas log masuk
Salin selepas log masuk

c) Chatbots

Bina bot sembang interaktif dengan memori.

   OPENAI_API_KEY=your_api_key_here
Salin selepas log masuk
Salin selepas log masuk

5. Ciri Lanjutan

a) Alat

Dayakan model untuk mengakses alatan luaran seperti carian web atau pangkalan data.

   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
Salin selepas log masuk
Salin selepas log masuk

b) Rantai Tersuai

Buat aliran kerja tersuai dengan menggabungkan berbilang tugas.

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
Salin selepas log masuk
Salin selepas log masuk

6. Alokasi dengan Streamlit

Bina apl web ringkas untuk model AI Generatif anda menggunakan Streamlit.

Pasang Streamlit:

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
Salin selepas log masuk
Salin selepas log masuk

Apl Mudah:

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
Salin selepas log masuk
Salin selepas log masuk

Jalankan apl:

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
Salin selepas log masuk
Salin selepas log masuk

7. Konsep Utama untuk Pembangun AI Generatif

a) Model Penalaan Halus

Belajar untuk memperhalusi model seperti GPT atau Stable Diffusion pada set data tersuai.

b) Kejuruteraan Segera

Kuasai gesaan yang berkesan untuk mendapatkan output yang diingini.

c) AI Berbilang Modal

Kerja dengan model yang menggabungkan teks, imej dan modaliti lain (cth., DALL·E atau CLIP OpenAI).

d) Penskalaan dan Penggunaan

Terapkan model pada persekitaran pengeluaran menggunakan perkhidmatan awan atau alatan seperti Docker.


8. Sumber

  • Dokumentasi LangChain: Dokumen LangChain
  • API OpenAI: Dokumen OpenAI
  • Model Muka Berpeluk: Muka Berpeluk

Dengan mengikuti panduan ini, anda akan memperoleh pengetahuan asas yang diperlukan untuk membina aplikasi AI Generatif dengan Python dan LangChain. Mulakan percubaan, bina aliran kerja dan selami dunia AI yang menarik!

Atas ialah kandungan terperinci Panduan Komprehensif Permulaan untuk Generatif AI dengan LangChain dan Python - 3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan