Jadual Kandungan
menggunakan openai tanpa fungsi panggilan
Contoh panggilan fungsi terbuka
Pelbagai fungsi tersuai
Aplikasi fungsi panggilan
Dalam tutorial ini, kami belajar tentang panggilan fungsi Openai. Kami juga belajar bagaimana menggunakannya untuk menghasilkan output yang konsisten, membuat pelbagai fungsi, dan membina summarizer teks yang boleh dipercayai.
Apa yang berlaku jika panggilan fungsi model tidak sepadan dengan sebarang fungsi yang ditetapkan? Ini memastikan fleksibiliti dalam mengendalikan jenis input yang bervariasi.
Rumah Peranti teknologi AI Tutorial Panggilan Fungsi Terbuka: menghasilkan output berstruktur

Tutorial Panggilan Fungsi Terbuka: menghasilkan output berstruktur

Mar 10, 2025 pm 12:02 PM

menggunakan openai tanpa fungsi panggilan

Di bahagian ini, kami akan menjana respons menggunakan model GPT-3.5-Turbo tanpa fungsi memanggil untuk melihat apakah kami mendapat output yang konsisten atau tidak.

Sebelum memasang API Python OpenAI, anda mesti mendapatkan kunci API dan menetapkannya pada sistem tempatan anda. Ikuti GPT-3.5 dan GPT-4 melalui API OpenAI dalam tutorial Python untuk mengetahui bagaimana untuk mendapatkan kunci API dan menetapkannya. Tutorial ini juga merangkumi contoh-contoh penubuhan pembolehubah persekitaran dalam DataLab, data nota data DataCamp yang dibolehkan.

Untuk bantuan selanjutnya, lihat kod di OpenAI Function Calling Workbook di Datalab.

Meningkatkan API Python Terbuka ke V1 menggunakan:

pip install --upgrade openai -q
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Selepas itu, memulakan klien terbuka menggunakan kekunci API.

import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

nota : Openai tidak lagi menawarkan kredit percuma kepada pengguna baru, jadi anda perlu membelinya untuk menggunakan API.

Kami akan menulis penerangan pelajar rawak. Sama ada anda boleh membuat teks anda sendiri atau menggunakan chatgpt untuk menghasilkannya untuk anda.

student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Di bahagian seterusnya, kami akan menulis petikan untuk mengekstrak maklumat pelajar dari teks dan mengembalikan output sebagai objek JSON. Kami akan mengekstrak nama, major, sekolah, gred, dan kelab dalam keterangan pelajar.

# A simple prompt to extract information from "student_description" in a JSON format.
prompt1 = f'''
Please extract the following information from the given text and return it as a JSON object:

name
major
school
grades
club

This is the body of text to extract the information from:
{student_1_description}
'''
Salin selepas log masuk
Salin selepas log masuk

tambahkan prompt ke modul penyempurnaan sembang API Openai untuk menghasilkan respons.

# Generating response back from gpt-3.5-turbo
openai_response = client.chat.completions.create(
    model = 'gpt-3.5-turbo',
    messages = [{'role': 'user', 'content': prompt_1}]
)

openai_response.choices[0].message.content
Salin selepas log masuk
Salin selepas log masuk

Respons agak baik. Mari kita ubahnya menjadi JSON untuk memahaminya dengan lebih baik.

'{\n  "name": "David Nguyen",\n  "major": "computer science",\n  "school": "Stanford University",\n  "grades": "3.8 GPA",\n  "club": "Robotics Club"\n}'
Salin selepas log masuk
Salin selepas log masuk

kami akan menggunakan perpustakaan `json` untuk menukar teks menjadi objek JSON.

import json

# Loading the response as a JSON object
json_response = json.loads(openai_response.choices[0].message.content)
json_response
Salin selepas log masuk
Salin selepas log masuk

Hasil akhir cukup sempurna. Jadi, mengapa kita memerlukan fungsi panggilan?

{'name': 'David Nguyen',
 'major': 'computer science',
 'school': 'Stanford University',
 'grades': '3.8 GPA',
 'club': 'Robotics Club'}
Salin selepas log masuk

mari kita cuba prompt yang sama, tetapi menggunakan penerangan pelajar yang berbeza.

student_2_description="Ravi Patel is a sophomore majoring in computer science at the University of Michigan. He is South Asian Indian American and has a 3.7 GPA. Ravi is an active member of the university's Chess Club and the South Asian Student Association. He hopes to pursue a career in software engineering after graduating."
Salin selepas log masuk

kami hanya akan menukar teks penerangan pelajar dalam prompt.

prompt2 = f'''
Please extract the following information from the given text and return it as a JSON object:

name
major
school
grades
club

This is the body of text to extract the information from:
{student_2_description}
'''
Salin selepas log masuk

dan, jalankan fungsi penyelesaian sembang menggunakan prompt kedua.

# Generating response back from gpt-3.5-turbo
openai_response = client.chat.completions.create(
    model = 'gpt-3.5-turbo',
    messages = [{'role': 'user', 'content': prompt_2}]
)

# Loading the response as a JSON object
json_response = json.loads(openai_response.choices[0].message.content)
json_response
Salin selepas log masuk

seperti yang anda lihat, ia tidak konsisten. Daripada mengembalikan satu kelab, ia telah mengembalikan senarai kelab yang disertai oleh Ravi. Ia juga berbeza dengan pelajar pertama.

{'name': 'Ravi Patel',
 'major': 'computer science',
 'school': 'University of Michigan',
 'grades': '3.7 GPA',
 'club': ['Chess Club', 'South Asian Student Association']}
Salin selepas log masuk

Contoh panggilan fungsi terbuka

Untuk menyelesaikan masalah ini, kami akan menggunakan ciri yang diperkenalkan baru -baru ini yang dipanggil Fungsi Calling. Adalah penting untuk mewujudkan fungsi tersuai untuk menambah maklumat yang diperlukan kepada senarai kamus supaya API Openai dapat memahami fungsinya.

  • Nama : Tulis nama fungsi python yang baru anda buat.
  • Description : Fungsi fungsi.
  • Parameter
  • : Dalam "sifat", kami akan menulis nama argumen, jenis, dan keterangan. Ia akan membantu Openai API untuk mengenal pasti dunia yang kita cari.

NOTA : Pastikan anda mengikuti corak yang betul. Ketahui lebih lanjut mengenai fungsi memanggil dengan membaca dokumentasi rasmi.

pip install --upgrade openai -q
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, kami akan menjana respons untuk dua penerangan pelajar menggunakan fungsi tersuai yang ditambahkan pada hujah "fungsi". Selepas itu, kami akan menukar respons teks ke dalam objek JSON dan mencetaknya.

import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang dapat kita lihat, kita mendapat output seragam. Kami juga mendapat gred dalam angka bukan rentetan. Output yang konsisten adalah penting untuk membuat aplikasi AI bebas bug.

student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Pelbagai fungsi tersuai

anda boleh menambah pelbagai fungsi tersuai ke fungsi penyelesaian sembang. Dalam bahagian ini, kita akan melihat keupayaan ajaib API Openai dan bagaimana ia secara automatik memilih fungsi yang betul dan mengembalikan argumen yang betul.

Dalam senarai Python kamus, kami akan menambah fungsi lain yang disebut "extract_school_info," yang akan membantu kami mengekstrak maklumat universiti dari teks.

Untuk mencapai matlamat ini, anda perlu menambah kamus lain fungsi dengan nama, keterangan, dan parameter.

# A simple prompt to extract information from "student_description" in a JSON format.
prompt1 = f'''
Please extract the following information from the given text and return it as a JSON object:

name
major
school
grades
club

This is the body of text to extract the information from:
{student_1_description}
'''
Salin selepas log masuk
Salin selepas log masuk

kami akan menjana keterangan "Stanford University" menggunakan CHATGPT untuk menguji fungsi kami.

# Generating response back from gpt-3.5-turbo
openai_response = client.chat.completions.create(
    model = 'gpt-3.5-turbo',
    messages = [{'role': 'user', 'content': prompt_1}]
)

openai_response.choices[0].message.content
Salin selepas log masuk
Salin selepas log masuk

Buat senarai deskripsi pelajar dan sekolah dan lulus melalui fungsi penyelesaian sembang Openai untuk menghasilkan respons. Pastikan anda telah menyediakan fungsi tersuai yang dikemas kini.

'{\n  "name": "David Nguyen",\n  "major": "computer science",\n  "school": "Stanford University",\n  "grades": "3.8 GPA",\n  "club": "Robotics Club"\n}'
Salin selepas log masuk
Salin selepas log masuk

Model GPT-3.5-Turbo telah memilih fungsi yang betul untuk jenis keterangan yang berbeza. Kami mendapat output JSON yang sempurna untuk pelajar dan sekolah.

import json

# Loading the response as a JSON object
json_response = json.loads(openai_response.choices[0].message.content)
json_response
Salin selepas log masuk
Salin selepas log masuk

kita juga boleh melihat di bawah nama bahawa repose dijana menggunakan fungsi "extract_school_info".

Tutorial Panggilan Fungsi Terbuka: menghasilkan output berstruktur

Aplikasi fungsi panggilan

Di bahagian ini, kami akan membina summarizer teks yang stabil yang akan meringkaskan maklumat sekolah dan pelajar dengan cara tertentu.

Pertama, kami akan membuat dua fungsi python, extract_student_info dan extract_school_info, yang mengambil argumen dari fungsi memanggil dan mengembalikan rentetan yang diringkaskan.

pip install --upgrade openai -q
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  1. Buat senarai python, yang terdiri daripada penerangan pelajar, prompt rawak, dan satu keterangan sekolah. Prompt rawak ditambah untuk mengesahkan fungsi automatik yang memanggil mekanik.
  2. kami akan menghasilkan respons menggunakan setiap teks dalam senarai `deskripsi`.
  3. Jika panggilan fungsi digunakan, kami akan mendapat nama fungsi dan, berdasarkannya, gunakan argumen yang relevan untuk fungsi menggunakan respons. Jika tidak, kembalikan tindak balas biasa.
  4. Cetak output ketiga -tiga sampel.
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  • Contoh#1 : Model GPT telah memilih "extract_student_info," dan kami mendapat ringkasan ringkas mengenai pelajar.
  • Contoh#2
  • : Model GPT tidak memilih sebarang fungsi dan dirawat dengan cepat sebagai soalan biasa, dan akibatnya, kami mendapat biografi Abraham Lincoln.
  • Contoh#3
  • : Model GPT telah memilih "extract_school_info," dan kami mendapat ringkasan ringkas mengenai Stanford University.
Kesimpulan
student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam tutorial ini, kami belajar tentang panggilan fungsi Openai. Kami juga belajar bagaimana menggunakannya untuk menghasilkan output yang konsisten, membuat pelbagai fungsi, dan membina summarizer teks yang boleh dipercayai.

Jika anda ingin mengetahui lebih lanjut mengenai API Openai, pertimbangkan untuk mengambil kerja dengan Kursus API Openai dan menggunakan API Openai dalam lembaran cheat Python untuk membuat projek yang berkuasa AI Anda untuk menentukan struktur JSON bersarang dalam skema fungsi. Dengan menentukan hubungan hierarki dalam harta parameter, anda dapat memastikan model menghasilkan output JSON bersarang dan berstruktur untuk keperluan data yang kompleks. Fungsi yang melaksanakan panggilan API atau pertanyaan pangkalan data berdasarkan argumen yang diluluskan dari model. Ini membolehkan interaksi dinamik dengan sistem luaran sambil mengekalkan tindak balas yang konsisten dan berstruktur.

Apa yang berlaku jika panggilan fungsi model tidak sepadan dengan sebarang fungsi yang ditetapkan? Ini memastikan fleksibiliti dalam mengendalikan jenis input yang bervariasi.

Atas ialah kandungan terperinci Tutorial Panggilan Fungsi Terbuka: menghasilkan output berstruktur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1676
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Apr 23, 2025 am 11:30 AM

Semasa bekerja pada AIS AI, pemaju sering mendapati diri mereka menavigasi perdagangan antara kelajuan, fleksibiliti, dan kecekapan sumber. Saya telah meneroka rangka kerja AI yang agentik dan menjumpai Agno (sebelum ini adalah Phi-

Terbuka beralih fokus dengan GPT-4.1, mengutamakan pengekodan dan kecekapan kos Terbuka beralih fokus dengan GPT-4.1, mengutamakan pengekodan dan kecekapan kos Apr 16, 2025 am 11:37 AM

Pelepasan ini termasuk tiga model yang berbeza, GPT-4.1, GPT-4.1 Mini dan GPT-4.1 Nano, menandakan langkah ke arah pengoptimuman khusus tugas dalam landskap model bahasa yang besar. Model-model ini tidak segera menggantikan antara muka yang dihadapi pengguna seperti

Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

Pernyataan Jadual Alter SQL: Menambah lajur secara dinamik ke pangkalan data anda Dalam pengurusan data, kebolehsuaian SQL adalah penting. Perlu menyesuaikan struktur pangkalan data anda dengan cepat? Pernyataan Jadual ALTER adalah penyelesaian anda. Butiran panduan ini menambah colu

Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Apr 15, 2025 am 11:32 AM

Buka kunci kekuatan model embedding: menyelam jauh ke kursus baru Andrew Ng Bayangkan masa depan di mana mesin memahami dan menjawab soalan anda dengan ketepatan yang sempurna. Ini bukan fiksyen sains; Terima kasih kepada kemajuan dalam AI, ia menjadi R

Simulasi dan analisis pelancaran roket menggunakan Rocketpy - Analytics Vidhya Simulasi dan analisis pelancaran roket menggunakan Rocketpy - Analytics Vidhya Apr 19, 2025 am 11:12 AM

Simulasi Rocket dilancarkan dengan Rocketpy: Panduan Komprehensif Artikel ini membimbing anda melalui mensimulasikan pelancaran roket kuasa tinggi menggunakan Rocketpy, perpustakaan Python yang kuat. Kami akan merangkumi segala -galanya daripada menentukan komponen roket untuk menganalisis simula

Google melancarkan strategi ejen yang paling komprehensif di Cloud Seterusnya 2025 Google melancarkan strategi ejen yang paling komprehensif di Cloud Seterusnya 2025 Apr 15, 2025 am 11:14 AM

Gemini sebagai asas strategi AI Google Gemini adalah asas kepada strategi ejen AI Google, memanfaatkan keupayaan multimodalnya untuk memproses dan menjana respons di seluruh teks, imej, audio, video dan kod. Dibangunkan oleh DeepM

Robot Humanoid Sumber Terbuka yang Anda Boleh Mencetak Diri 3D: Memeluk Wajah Membeli Robotik Debunga Robot Humanoid Sumber Terbuka yang Anda Boleh Mencetak Diri 3D: Memeluk Wajah Membeli Robotik Debunga Apr 15, 2025 am 11:25 AM

"Super gembira untuk mengumumkan bahawa kami memperoleh robotik debunga untuk membawa robot sumber terbuka ke dunia," kata Hugging Face pada X. "Sejak Remi Cadene menyertai kami dari Tesla, kami telah menjadi platform perisian yang paling banyak digunakan untuk robot terbuka terima kasih

DeepCoder-14b: Pertandingan sumber terbuka untuk O3-Mini dan O1 DeepCoder-14b: Pertandingan sumber terbuka untuk O3-Mini dan O1 Apr 26, 2025 am 09:07 AM

Dalam perkembangan penting bagi komuniti AI, Agentica dan bersama-sama AI telah mengeluarkan model pengekodan AI sumber terbuka bernama DeepCoder-14b. Menawarkan keupayaan penjanaan kod setanding dengan pesaing sumber tertutup seperti OpenAI

See all articles